Unit Testing VBScript কোড

Debugging এবং Testing VBScript - ভিবিস্ক্রিপ্ট (VBScript) - Web Development

258

ভিবিস্ক্রিপ্ট (VBScript) কোডে ইউনিট টেস্টিং গুরুত্বপূর্ণ একটি প্রক্রিয়া, যা কোডের নির্দিষ্ট অংশের কার্যকারিতা পরীক্ষা করতে সাহায্য করে। ইউনিট টেস্টিং মূলত প্রতিটি ফাংশন বা সাবরুটিনের আচরণ পরীক্ষার মাধ্যমে সিস্টেমের বিশ্বাসযোগ্যতা নিশ্চিত করে। যেহেতু VBScript একটি স্ক্রিপ্টিং ভাষা, তাতে সাধারণত টেস্টিং ফ্রেমওয়ার্কের জন্য নির্দিষ্ট কোনো সরঞ্জাম বা লাইব্রেরি নেই, তবে কিছু সাধারণ কৌশল এবং টুল ব্যবহার করে আপনি আপনার কোডের টেস্টিং করতে পারেন।


ইউনিট টেস্টিং কৌশল

  1. ম্যাঞ্জেবল ইনপুটসের জন্য টেস্ট কেস তৈরি করা
  2. ফাংশন ও সাবরুটিনের প্রত্যাশিত আউটপুট যাচাই করা
  3. এলিমেন্ট বেসড টেস্টিং
  4. ফাংশনাল টেস্টিং (Functional Testing)

১. ফাংশন টেস্টিং

ফাংশনের মধ্যে যে কোনো কার্যকারিতা পরীক্ষা করতে, আপনি প্রত্যাশিত ইনপুট এবং আউটপুট নির্ধারণ করতে পারেন। টেস্ট কেসের মাধ্যমে নিশ্চিত করুন যে ফাংশনটি সঠিক আউটপুট দিচ্ছে।

উদাহরণ: সংখ্যা যোগ করার ফাংশন

Function AddNumbers(a, b)
    AddNumbers = a + b
End Function

টেস্ট কেস:

Sub Test_AddNumbers()
    Dim result

    ' টেস্ট কেস ১
    result = AddNumbers(5, 10)
    If result = 15 Then
        MsgBox "Test 1 Passed"
    Else
        MsgBox "Test 1 Failed"
    End If

    ' টেস্ট কেস ২
    result = AddNumbers(-5, 10)
    If result = 5 Then
        MsgBox "Test 2 Passed"
    Else
        MsgBox "Test 2 Failed"
    End If
End Sub

এখানে, Test_AddNumbers সাবরুটিনটি AddNumbers ফাংশনের দুইটি আলাদা ইনপুট পরীক্ষা করে এবং প্রত্যাশিত ফলাফল চেক করে। সফল হলে, এটি "Test Passed" বার্তা দেখাবে, অন্যথায় "Test Failed"।


২. সাবরুটিন টেস্টিং

যেমন ফাংশন, সাবরুটিনের কার্যকারিতা যাচাই করা খুবই গুরুত্বপূর্ণ। সাবরুটিনে যদি কোনো ভ্যারিয়েবল পরিবর্তন হয় বা কোনো নির্দিষ্ট কাজ করা হয়, তবে সেটি টেস্ট করে নিশ্চিত করা উচিত।

উদাহরণ: স্ট্রিং পরিবর্তনকারী সাবরুটিন

Sub AppendText(ByRef str, appendStr)
    str = str & appendStr
End Sub

টেস্ট কেস:

Sub Test_AppendText()
    Dim text
    text = "Hello"

    ' টেস্ট কেস ১
    AppendText(text, " World")
    If text = "Hello World" Then
        MsgBox "Test 1 Passed"
    Else
        MsgBox "Test 1 Failed"
    End If

    ' টেস্ট কেস ২
    AppendText(text, "!")
    If text = "Hello World!" Then
        MsgBox "Test 2 Passed"
    Else
        MsgBox "Test 2 Failed"
    End If
End Sub

এখানে, Test_AppendText সাবরুটিনটি AppendText সাবরুটিনের কার্যকারিতা পরীক্ষার জন্য ব্যবহার করা হয়েছে। ByRef প্যারামিটার ব্যবহার করা হয়েছে, যার মাধ্যমে মূল ভেরিয়েবল পরিবর্তন হয়ে যাবে, এবং পরীক্ষা করা হচ্ছে যে সেটি সঠিকভাবে কাজ করছে কিনা।


৩. লজিক্যাল টেস্টিং

ফাংশন বা সাবরুটিনের মধ্যে লজিক্যাল ভুল চেক করতে, আপনি বিভিন্ন শর্ত (condition) পরীক্ষা করতে পারেন। এই ধরনের টেস্টিং কোডের সঠিক কাজ করা নিশ্চিত করে।

উদাহরণ: সংখ্যা চেক করার ফাংশন

Function IsPositiveNumber(num)
    If num > 0 Then
        IsPositiveNumber = True
    Else
        IsPositiveNumber = False
    End If
End Function

টেস্ট কেস:

Sub Test_IsPositiveNumber()
    Dim result

    ' টেস্ট কেস ১
    result = IsPositiveNumber(5)
    If result = True Then
        MsgBox "Test 1 Passed"
    Else
        MsgBox "Test 1 Failed"
    End If

    ' টেস্ট কেস ২
    result = IsPositiveNumber(-1)
    If result = False Then
        MsgBox "Test 2 Passed"
    Else
        MsgBox "Test 2 Failed"
    End If

    ' টেস্ট কেস ৩
    result = IsPositiveNumber(0)
    If result = False Then
        MsgBox "Test 3 Passed"
    Else
        MsgBox "Test 3 Failed"
    End If
End Sub

এখানে, Test_IsPositiveNumber সাবরুটিনটি IsPositiveNumber ফাংশনের তিনটি সম্ভাব্য ইনপুট পরীক্ষা করে এবং ফলাফল যাচাই করে।


৪. ডিবাগিং এবং ফলাফল রিপোর্টিং

যেহেতু VBScript এ সরাসরি কোন ইউনিট টেস্টিং ফ্রেমওয়ার্ক নেই, তাই আপনার নিজস্ব ডিবাগিং এবং রিপোর্টিং ব্যবস্থা তৈরি করা প্রয়োজন। আপনি টেস্ট কেসের ফলাফল মেসেজ বক্সে প্রদর্শন করতে পারেন অথবা লগ ফাইল তৈরি করে তাতে রিপোর্ট রাখতে পারেন।

উদাহরণ: লগ ফাইল তৈরি করে টেস্ট ফলাফল রেকর্ড করা

Sub LogTestResult(testName, result)
    Dim fso, logFile
    Set fso = CreateObject("Scripting.FileSystemObject")
    
    If Not fso.FileExists("test_log.txt") Then
        Set logFile = fso.CreateTextFile("test_log.txt")
    Else
        Set logFile = fso.OpenTextFile("test_log.txt", 8) ' Append mode
    End If
    
    logFile.WriteLine(testName & " - " & result)
    logFile.Close
End Sub

এবং, টেস্ট কেসে LogTestResult ব্যবহার করা:

Sub Test_AddNumbers()
    Dim result

    ' টেস্ট কেস ১
    result = AddNumbers(5, 10)
    If result = 15 Then
        LogTestResult "Test 1", "Passed"
    Else
        LogTestResult "Test 1", "Failed"
    End If
End Sub

এভাবে, আপনি টেস্ট ফলাফল একটি ফাইলে লিখে রাখতে পারেন, যা পরে রিভিউ করা সহজ হবে।


সারাংশ

VBScript এ ইউনিট টেস্টিং সরাসরি কোনো ফ্রেমওয়ার্কের সাহায্য ছাড়াই করা যেতে পারে। আপনি ফাংশন ও সাবরুটিনের কার্যকারিতা পরীক্ষার জন্য নিজস্ব টেস্ট কেস তৈরি করতে পারেন। কিছু গুরুত্বপূর্ণ কৌশল হচ্ছে:

  1. প্রত্যাশিত আউটপুট চেক করা
  2. টেস্ট কেসের মাধ্যমে কোডের লজিক্যাল ভুল চেক করা
  3. টেস্ট ফলাফল লগ ফাইলে রেকর্ড করা

এই কৌশলগুলির মাধ্যমে আপনি VBScript কোডের গুণগতমান নিশ্চিত করতে পারেন এবং ভবিষ্যতে ত্রুটি সনাক্ত এবং সংশোধন করতে সহায়তা পেতে পারেন।

Content added By
Promotion

Are you sure to start over?

Loading...