ভিবিস্ক্রিপ্ট (VBScript) কোডে ইউনিট টেস্টিং গুরুত্বপূর্ণ একটি প্রক্রিয়া, যা কোডের নির্দিষ্ট অংশের কার্যকারিতা পরীক্ষা করতে সাহায্য করে। ইউনিট টেস্টিং মূলত প্রতিটি ফাংশন বা সাবরুটিনের আচরণ পরীক্ষার মাধ্যমে সিস্টেমের বিশ্বাসযোগ্যতা নিশ্চিত করে। যেহেতু VBScript একটি স্ক্রিপ্টিং ভাষা, তাতে সাধারণত টেস্টিং ফ্রেমওয়ার্কের জন্য নির্দিষ্ট কোনো সরঞ্জাম বা লাইব্রেরি নেই, তবে কিছু সাধারণ কৌশল এবং টুল ব্যবহার করে আপনি আপনার কোডের টেস্টিং করতে পারেন।
ইউনিট টেস্টিং কৌশল
- ম্যাঞ্জেবল ইনপুটসের জন্য টেস্ট কেস তৈরি করা
- ফাংশন ও সাবরুটিনের প্রত্যাশিত আউটপুট যাচাই করা
- এলিমেন্ট বেসড টেস্টিং
- ফাংশনাল টেস্টিং (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 এ ইউনিট টেস্টিং সরাসরি কোনো ফ্রেমওয়ার্কের সাহায্য ছাড়াই করা যেতে পারে। আপনি ফাংশন ও সাবরুটিনের কার্যকারিতা পরীক্ষার জন্য নিজস্ব টেস্ট কেস তৈরি করতে পারেন। কিছু গুরুত্বপূর্ণ কৌশল হচ্ছে:
- প্রত্যাশিত আউটপুট চেক করা।
- টেস্ট কেসের মাধ্যমে কোডের লজিক্যাল ভুল চেক করা।
- টেস্ট ফলাফল লগ ফাইলে রেকর্ড করা।
এই কৌশলগুলির মাধ্যমে আপনি VBScript কোডের গুণগতমান নিশ্চিত করতে পারেন এবং ভবিষ্যতে ত্রুটি সনাক্ত এবং সংশোধন করতে সহায়তা পেতে পারেন।
Read more