LỜI NÓI ĐẦU
Qua khóa học nâng cao kỹ năng mà nhà trường mở ra cho sinh viên năm cuối có
một lớp học nghiên cứu về kiểm định phần mềm( Testing). Tôi đã nhận ra rằng công
việc kiểm định phần mềm rất hay, và những kỹ năng làm việc về nó chưa được chỉ dạy
nhiều, và chưa thâm nhập sâu vào thực tế, cùng với đồ án chuyên ngành của tôi nghiên
cứu về “Tìm hiểu công cụ Testing”. Tôi đã phát triển để làm ra một sản phẩm đi sâu
vào đề tài kiểm định phần mềm, và sản phẩm của tôi như một giáo trình điện tử giúp
cho những người muốn đi vào công việc Kiểm định phần mềm có thể nâng cao kỹ
năng và có những công cụ hữu ích cho việc kiểm định sau này, thư việc TestScript là
những kịch bản cơ bản cho việc kiểm tra tự động một trang wed .
Nội dung đề tài là Thư viện TestScript cho wed trong môi trường QuickTest Pro,
đồ án chuyên sâu gồm những bài học bổ ích về những kiến thức thực hành cho việc
test tự động bằng những kịch bản kiểm tra, giúp hiểu rõ hơn về nôi dung, những hoạt
động, ngôn ngữ để viết lên những kịch bản kiểm tra, và cách thực thi test trong môi
trường QuickTest Pro. Trong luận văn đã sử dụng phương pháp từ lý thuyết đến thực
hành, từ nguyên nhân đến kết quả, từ trong ra ngoài, tìm hiểu sâu kỹ vấn đề rồi mới
giải quyết vấn đề.
Đề tài này chuyên sâu giải quyết những vấn đề sau:
A. Lý Thuyết
1. Ngôn ngữ lập trình VBScript( Visual Basic Script).
2. Hệ thống Kiểm tra tự động của QuickTest Pro (Automating QuickTest
Operations).
B. Thực nghiệm
1. Thiết lập môi trường làm việc cho TestScript( Kịch bản kiểm tra phần
mềm).
2. Cách tổ chức tập tin trong dự án kiểm tra
3. Lưu trữ độc lập
4. Chia sẻ Repository
5. Cách thức đưa TestScript vào dự án kiểm tra.
6. Cách tái sử dụng những hành động đã được kiểm tra.
7. Cách định nghĩa parameter cho URL.
8. Khuôn mẫu của những Kịch bản kiểm tra tự động cơ bản.
Kết quả đã đạt được là một giáo trình điện tử đầy đủ những kiến thức cơ bản và
những kỹ năng thực hành cần thiết, được thể hiện đẹp mắt, sinh động, rõ ràng, đơn
giản, và có ý nghĩa.
80 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2861 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Thư viện TestScript cho WEB trong môi trường QuickTest Pro, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ợ cho quá trình kiểm tra. Càng ngày đi theo sự tiến bộ của khoa học kỹ
thuật thì những kỷ thuật mới, những hỗ trợ mới cũng ra đời đã giúp cho những kỹ
thuật viên kiểm tra dễ dàng thực hiện công việc của họ hơn. và thành tựu đáng kể nhất
trong công việc kiểm tra phần mềm hiện nay có được đó là kỹ thuật kiểm tra tự động
theo những khuôn chương trình được viết bằng một số ngôn ngữ lập trình cơ bản giúp
thực hiện một số bước kiểm tra trở nên đơn giản hơn. Từ đó việc ra đời thư viện hàm
TestScript đã được hình thành vàđã giúp ích rất nhiều cho những dự án lớn. Giúp tiết
kiệm rất nhiều thời gian và công sức cho những kỹ thuật viên kiểm tra. Trong luận văn
này chứa đựng những thư viện hàm cần thiết và những kiến thức bổ sung giúp có
những kiến thức cũng như kỹ năng cho việc thiết kế những TestScript nâng cao về sau.
Và để hiểu rõ hơn về TestScript thì nên hiểu sơ qua về những vấn đề liên quan
đến việc kiểm tra :
Một quy trình kiểm tra cơ bản có thể áp dụng rộng rãi cho nhiều hệ thống phần
mềm với những đặc trưng khác nhau như sau:
Lập
kế hoạch
Thiết kế
test
Phát triển
test script
Thực hiện
test
Đánh giá
Hình 1: quy trình kiểm tra cơ bản
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 14
Mối quan hệ giữa test case, test procedures, và test script :
o Một test case thực thi bởi một hoặc nhiều test procedure.
o Một test procedure có thể thực thi bởi một hay nhiều test case.
o Khi test bằng tay thì ta quan hệ một một với test procedures.
o Khi test tự động (chính là test scripts thực thi) thì một test procedure
thực thi nhiều test script, hay một test script có thể thực thi nhiều test
procedure (hoặc là nhiều phần của test procedure).
Để bắt đầu kiểm tra tự động cho một dự án, ta nên thực hiện các bước sau:
1. Tạo một cấu trúc thư mục
2. Chèn các tập tin thư viện vào QTP.
3. Cấu hình cho QTP, cho dự án.
Quy trình để tạo nên TestScript
STT Bước thực hiện Mô tả
1 Tạo test script
Giai đoạn này chúng ta sẽ dùng test tool
để ghi lại các thao tác lên PM cần kiểm
tra và tự động sinh ra test script.
2 Chỉnh sửa test script
Chỉnh sửa để test script thực hiện kiểm
tra theo đúng yêu cầu đặt ra, cụ thể là làm
theo test case cần thực hiện.
3 Chạy test script để KTTĐ
Giám sát hoạt động kiểm tra PM của test
script.
4 Đánh giá kết quả
Kiểm tra kết quả thông báo sau khi thực
hiện KTTĐ. Sau đó bổ sung, chỉnh sửa
những sai sót.
Ưu điểm Lưu trữ độc lập của quá trình kiểm tra:
Lưu trữ các thành phần test thành từng tập tin độc lập. Với số lượng tập tin không
nhiều, chúng ta có thể hoàn toàn lưu vết và lưu trữ một cách dễ dàng. Nhìn chung, ta
có 4 loại tập tin cần phải lưu:
• Test script: lưu trữ những đoạn test script dưới dạng *.vbs
• Repository: lưu trữ những đối tượng test của ứng dụng dưới dạng *.tsr
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 15
• Parameter: Lưu trữ những thông số test dưới dạng *.xls
• Settings: Lưu trữ cấu hình cho QTP hoặc những cấu hình đặc thù dưới dạng *.vbs
Ưu điểm Chia sẻ Repository
Sẽ có nhiều KTV cùng làm việc cho một dự án. Vì vậy, để đảm bảo các đối tượng test
không bị thừa/thiếu, chúng ta nên chia sẻ repository file cho nhau. Các tên của đối
tượng cũng nên đặt theo một quy chuẩn nhất định.
1.2 KỊCH BẢN KIỂM TRA( TESTSCRIPT)
Test script là một nhóm mã lệnh dạng đặc tả kịch bản dùng để tự động hóa một
trình tự kiểm tra, giúp cho việc kiểm tra nhanh hơn, hoặc cho những trường hợp mà
kiểm tra bằng tay sẽ rất khó khăn hoặc không khả thi. Các test script có thể tạo thủ
công hoặc tạo tự động dùng công cụ kiểm tra tự động.
Phát triển Test Script:
1. Tạo test script: thủ công hoặc dùng công cụ hỗ trợ để phát sinh script một
cách tự động, mỗi bước kiểm tra được thiết kế trong thiết kế test, đòi hỏi ít
nhất một test script, các test script có thể tái sử dụng càng nhiều càng tốt
để tối ưu hóa công việc.
2. Kiểm tra test script: xTôi có “chạy” tốt không nhằm đảm bảo các test
script hoạt động đúng yêu cầu, thể hiện đúng ý đồ của các bước kiểm tra.
3. Thành lập các bộ dữ liệu ngoài dành cho các test script: bộ dữ liệu này sẽ
được các test script sử dụng khi kiểm tra tự động, chúng được lưu độc lập
với các test script, tránh những trường hợp các kiểm tra viên “ tích hợp
luôn phần dữ liệu vào bên trong code của các script. Việc tách riêng dữ
liệu cho phép dễ dàng thay đổi dữ liệu khi kiểm tra cũng như giúp việc
chỉnh sửa hoặc tái sử dụng các script sau này.
4. XTôi xét và khảo sát độ bao phủ của việc kiểm tra: bảo đảm các test script
được tạo ra bao phủ toàn bộ các bước kiểm tra theo yêu cầu.
Design test (thiết kế test):
Thiết kế test chính là việc viết các test script.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 16
Test script cần những chức năng còn lại và phải thích hợp như là việc xây dựng
mới để phát triển, không có điểm chính nào cho việc tự động làm việc cả vì thế cần
phải xác định rõ rang việc gì có thể tự động còn việc nào không? Việc nào thì phải test
bằng tay.
Có một vài yếu tố ưu tiên có thể test tự động:
o Test chức năng và thủ thuật hồi quy test.
o Test nhiều khối dữ liệu.
o Test khả năng chịu tải, dung tích, hiệu năng.
Test script có những cấu trúc riêng và điều hay của test là có thể tái sử dụng test
script. Sản phẩm có thể thay đổi theo thời gian, bộ mặt chung của sản phẩm cũng có
thể thay đổi nhưng khuôn test thì không thay đổi và có thể sử dụng những script cũ để
test cho những sản phẩm mới tương tự về một mặt nào đó có thể. Hãy tránh xa khỏi sự
độc lập quá mức trong dãy test đến nỗi không thể hiểu nỗi, làm cho những người cùng
làm việc thuận tiện hơn trong việc xét lại.
Luôn chú trọng vào nguồn tài liệu tốt, sử dụng tốt nhất nguồn thư viện có sẳn.
Đối với những test script cần phải độc lập, thì chú ý tránh những chuỗi script
dây chuyền và hãy giữ lại cho những lần test sau, làm cho script sử dụng một cách tiện
lợi khi phán đoán đưa ra danh sách lỗi, phải chắc rằng test làm việc giống như cách mà
mọi thời gian nó vẫn chạy.
Test tay dữ liệu là một cách tốt.
Viết Test script:
1. Thêm các đối tượng test từ ứng dụng và object repository
2. Thêm parameter vào tập tin parameter.xls.
3. Viết một test suite class và lưu dạng *.vbs trong thư mục test scripts
4. Viết các hàm tương ứng cho các test case
1.3 THỰC THI TỰ ĐỘNG HOÁ
KIỂM TRA TỰ ĐỘNG (TEST AUTOMATION) Là một quá trình kiểm tra
được thiết kế sẳn theo các test script sau nhờ những công cụ hỗ trợ để máy tính tự
động thực thi việc kiểm tra.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 17
Ưu điểm của kiểm tra tự động là nó tự động tham khảo tuần tự từng bước của
quá trình kiểm tra, theo một ý nghĩa nào đó thì mọi việc thực thi nhanh hơn và có khả
năng lập lại việc kiểm tra này nhiều lần mà không tồn nhiều công sức.
Mục đích của việc kiểm tra tự động:
o Tăng tốc việc kiểm tra để làm giảm tiến độ chương trình.
o Cải thiện độ bao phủ của kiểm tra.
o Cho phép kiểm tra thường xuyên hơn.
o Cho phép kiểm tra đầy đủ những kỹ năng cho nhân viên.
o Giảm bớt giá cả của việc kiểm tra bằng cách giảm bớt nhân công.
o Càm cho việc kiểm tra trở nên thú vị hơn.
o Đảm bảo tính ổn định.
o Cải thiện sự hiện thực của việc kiểm tra.
o Phát triển kỹ năng chương trình.
QUY TRÌNH KIỂM TRA TỰ ĐỘNG
Plan test
Design test
Implement test
Execute test
Evaluate test
Hình 2: Sơ đồ quy trình kiểm tra tự động
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 18
ƯU ĐIỂM CỦA THỰC THI TỰ ĐỘNG HOÁ
Nhanh Test bằng máy thì nhanh hơn từng cá nhân
Đáng tin cậy
Những chương trình kiểm tra thực hiện chính xác trong
những hệ thông tương đồng trong cùngmột thời điểm,
có thể loại bỏ những lỗi khi thực hiện bằng tay
Lập đi lập
lại nhiều lần
Có thể test qua một lần để xem phản ứng của ứng dụng
sau đó có thể thực thi lai nhiều lần trong những hệ thống
giống nhau
Lập tổng thể
chương trình
có thể lập chương trình test phức tạp để che giấu
thông tin
Toàn diện
Có thể xác định toàn bộ test để bao hàm mọi đặc tính trong
ứng dụng
Tái sử dụng Có thể tái sử dụng test lại trong những phiên bản khác
của ứng dụng
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 19
CHƯƠNG 2: LÝ THUYẾT
2.1 NGÔN NGỮ LẬP TRÌNH VBSCRIPT (VISUAL BASIC
SCRIPT)
2.1.1 ĐỊNH NGHĨA NGÔN NGỮ LẬP TRÌNH VISUAL BASIC SCRIPT
VBScript là ngôn ngữ lập trình do Microsoft Visual Basic Scripting Edition tạo ra
ứng dụng vào những môi trường thông dụng của web. Vbscript giống như ngôn
ngữ Visual Basic or Visual Basic for Applications. Vbscript có thể tương thích với
nhiều World Wide Web browsers.
2.1.2 CẤU TRÚC LỆNH CƠ BẢN CỦA VBSCRIPT
2.1.2.1 Lệnh khai báo
Khai báo biến( Dim)
Dim varname[([subscripts])][, varname[([subscripts])]] . . .
Varname: tên biến được khởi tạo
Subscripts: là giá trị nếu là một chuỗi giá trị
Ví dụ: Dim Names(9), Dim MyVar, MyNum
Khai báo biến riêng( Private)
Private varname[([subscripts])][, varname[([subscripts])]]
Varname: tên biến được khởi tạo
Subscripts: là giá trị nếu là một chuỗi giá trị
Vídụ: Private MyArray(9), Private MyNumber, MyVar, YourNumber
Khai báo biến chung(Public )
Public varname[([subscripts])][, varname[([subscripts])]] . . .
Khai báo chuỗi(Array )
Array(arglist)
Arglist: giá trị của chuỗi
Ví Dụ: Dim A
A = Array(10,20,30)
B = A(2) : giá trị của B là 30
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 20
2.1.2.2 Lệnh khởi tạo
Khởi tạo( thiết lập) giá trị cho biến( Set).
Set objectvar = {objectexpression | New classname | Nothing}
Objectvar: đối tượng biến.
Objectexpression: biểu thức điều kiện của đối tượng biến.
Classname: tên của lớp được tạo ra.
Ví dụ: Set fso = CreateObject("Scripting.FileSystTôiObject")
2.1.2.3 Hằng số
Hình 3: Bảng hằng số dữ liệu
2.1.2.4 Cấu trúc điều khiển phân luồng
Vòng lặp Do…loop
Do [{While | Until} condition]
[statTôients]
[Exit Do]
[statTôients]
Loop
Ví dụ:
Do Until DefResp = vbNo
MyNum = Int (6 * Rnd + 1)
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 21
DefResp = MsgBox (MyNum & " Do you want another number?",
vbYesNo)
Loop
Một cấu trúc khác của do…loop:
Do
[statTôients]
[Exit Do]
[statTôients]
Loop [{While | Until} condition]
Ví dụ:
Dim Check, Counter
Check = True: Counter = 0
Do
Do While Counter < 20
Counter = Counter + 1
If Counter = 10 Then
Check = False
Exit Do
End If
Loop
Loop Until Check = False
Vòng lặp For...Next
For counter = start To end [Step step]
[statTôients]
[Exit For]
[statTôients]
Next
Ví dụ:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
. . .
Next
Next
Next
Vòng lặp For Each…Next
For Each elTôient In group ‘elTôient là một giá trị của nhóm group
[statTôients]
[Exit For]
[statTôients]
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 22
Next [elTôient]
Ví dụ:
For Each f1 in fc ‘Thành phần f1 trong nhóm fc
s = s & f1.name
s = s & ""
Next
Vòng lặp While…Wend
While condition
Version [statTôients]
Wend
Ví dụ:
While Counter < 20 'kiểm tra giá trị của counter.
Counter = Counter + 1
Alert Counter
Wend
Biểu thức điều kiện If...Then...Else
If condition Then statTôients [Else elsestatTôients ]
If condition Then
[statTôients]
[ElseIf condition-n Then
[elseifstatTôients]] . . .
[Else
[elsestatTôients]]
End If
Ví dụ:
If A > 10 Then A = A + 1: B = B + A: C = C + B
Biểu thức điều kiện Select Case
Select Case testexpression ‘biểu thức điều kiện kiểm tra
[Case expressionlist-n
[statTôients-n]] . . .
[Case Else expressionlist-n
[elsestatTôients-n]]
End Select
Ví dụ:
Select Case MyVar
Case "red" document.bgColor = "red"
Case "green" document.bgColor = "green"
Case "blue" document.bgColor = "blue"
Case Else MsgBox "pick another color"
End Select
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 23
Biểu thức With:
With object
statTôients
End With
Ví dụ:
With MyLabel
.Height = 2000
.Width = 2000
.Caption = "This is MyLabel"
End With
2.1.2.5 Cấu trúc ngày tháng
Cấu trúc lệnh CDate: Chuyển đổi dữ liệu ngày thành chuổi
CDate(date)
Ví dụ:
MyDate = "October 19, 1962" ' khởi tạo ngày.
MyShortDate = CDate(MyDate) ' Chuyển đổi dữ liệu ngày tháng.
Cấu trúc lệnh Day: lấy giá trị ngày của ngày truyền vào
Day(date)
Ví dụ:
Dim MyDay
MyDay = Day("October 19, 1962") ' MyDay = 19.
2.1.2.6 Phép toán
Phép toán So sánh Phép
logic
Phủ định (-) Bằng (=) Not
Số mũ (^) Khác () And
Nhân hoặc chia (*, /) Nhỏ hơn (<) Or
Phép chia số nguyên (\) Lớn hơn (>) Xor
Phép toán hệ số (Mod) Nhỏ hơn hoặc bằng (<=) Eqv
Cộng hoặc trừ (+, -) lớn hơn hoặc bằng (>=) Imp
Nối chuỗi (&) Is &
Hình 4: Bảng phép toán
2.1.2.7 Đặc tính Input/Output
InputBox, MsgBox: cửa sổ nhập dữ liệu, và cửa sổ thể hiện dữ liệu
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 24
Ví dụ:
Dim Input
Input = InputBox ("Enter your name")
MsgBox ("You entered: " & Input)
2.2 HỆ THỐNG KIỂM TRA TỰ ĐỘNG CỦA QUICKTEST PRO
QuickTest Pro là một môi trường làm việc kiểm tra chuyên nghiệp và điểm đặc biệt
của QuickTest Pro là có thể thực thi tự động việc kiểm tra.
Và muốn hiểu hơn về quy tắc hoạt động tự động kiểm tra của QuickTest Pro thì ta
cũng nên hiểu về Hệ thống tự động của QuickTest(Automating QuickTest
Operations ).
Tự động hoá là một công nghệ của Microsoft thực hiện việc chấp nhận những đối
tượng phần mềm vào trong một ứng dụng từ những ứng dụng khác.
Những đối tượng này dễ dàng được tạo ra và thao tác bằng những ngôn ngữ lập trình
như VBScript.
Tự động hoá có thể giúp điều khiển những đặc tính của một chương trình ứng dụng.
Một kiểu mẫu đối tượng(object model ) là cấu trúc đại diện cho một đối tượng phần
mềm(classes) gồm có công việc thực thi cho một hệ thống hoặc ứng dụng.
Một kiểu mẫu đối tượng được định nghĩa như một classes hay interfaces,những
properties, những hành động và sự kiện, và những mối quan hệ giữa chúng.
Tất cả cấu hình và những đặc tính được chạy cung cấp như một interface của quicktest
là một đại diện cho một đối tượng kiểu mẫu trong hệ thống tự động ví dụ như: objects,
methods, properties.
Những script tự động đặc biệt hữu ích cho những chương trình có nhiều nhiệm vụ
được thực hiện trong một thời gian, hay trong nhiều kiểm tra, nhiều component.
Quyết định sử dụng testScript là một quyết định khá quan trọng vì không phải bất cứ
phần kiểm tra nào cũng có thể tự động, hay có lúc một số kiểm tra không thể tự động
hoá được, vì vậy có một số yếu tố giúp phân định được việc kiểm tra tự động.
Yếu tố được yêu cầu là kế hoạch( planning), thời gian được thiết kế(design time), và
công việc kiểm tra( testing).
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 25
Những yếu tố về thời gian và nguồn lực luôn ảnh hưởng rất lớn vào việc quyết định
test tự động.
Trong testscript luôn sử dụng những đối tượng test tự động để tạo nên những khuôn
chương trình hoàn chỉnh giúp thực hiện việc kiểm tra một đặc tính hay thực hiện một
công việc trong quá trình kiểm tra.
Những kiểu mẫu đối tượng cơ bản thường được sử dụng trong quá trình viết
TestScripts
2.2.1 ĐốI TƯỢNG BẢNG DỮ LIỆU (DATA TABLE)
Thêm hành động vào bảng dữ liệu ( Addsheet method)
DataTable.AddSheet(SheetName)
hành động này thực hiện việc thêm một sheet vào bản dữ liệu và thực
hiện khai báo sheet để thiết lập properties cho sheet mới này
Lưu lại một hành động (export method)
DataTable.Export(FileName) thực hiện lưu một bản copy trong bảng
dữ liệu trong một khu vực đặc biệt. Ví dụ: DataTable.Export
("C:\flights.xls") thực hiện lưu trong tập tin file name c:\flights.xls
Lấy Giá trị Sheet (GetSheet Method)
DataTable.GetSheet(SheetID) : lấy một giá trị sheet đặc biệt của bảng
dữ liệu. Ví dụ:DataTable.GetSheet ("MySheet").AddParameter "Time",
"8:00"
Hành động nhập vào(Import Method)
DataTable.Import(FileName): nhập file excel vào bảng dữ liệu. Ví dụ:
DataTable.Import ("C:\flights.xls")
Nhập vào giá trị của Sheet (ImportSheet Method)
DataTable.ImportSheet(FileName, SheetSource, SheetDest): nhập dữ
liệu quan trọng của sheet từ file excel.Ví dụ: DataTable.ImportSheet
"C:\name.xls" ,1 ,"name"
Xác lập giá trị Property(Value Property)
DataTable.Value(ParameterID [, SheetID])=NewValue. Ví dụ:
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 26
DataTable.Value (2,3)="New York" : tạo giá trị cho dòng 2, cột 3 trong
bảng dữ liệu
2.2.2 Đối tượng parameter
Thêm giá trị vào sheet(AddParameter Method)
DTSheet.AddParameter(ParameterName,Value).Vídụ:
DataTable.AddSheet("MySheet").AddParameter("Arrival","New
York").Name
Lấy giá trị parameter(GetParameter Method )
DTSheet.GetParameter(ParameterID ). Ví dụ :
DataTable.GetSheet("MySheet").GetParameter("Destination")
Xác lập đúng dòng(SetCurrentRow Method)
DTSheet.SetCurrentRow(RowNumber)
DataTable.GetSheet("MySheet").SetCurrentRow(2)
CHƯƠNG 3: THỰC NGHIỆM
3.1 THIẾT LẬP MÔI TRƯỜNG LÀM VIệC CHO TESTSCRIPT
Gồm Thiết lập 2 phần
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 27
3.1.1 THIẾT LẬP MÔI TRƯỜNG CHO HỆ THỐNG MÁY TÍNH.
Công việc thực hiện là thêm vào một giá trị Ishost trong Environment Variables của
máy tính.
Cách thực hiện:
1. Vào SystTôi Properties.
2. Chọn tab Advance.
3. Chọn Environment Variables.
4. Tạo mới giá trị Ishost.
Hình 5: Thiết lập biến môi trường
3.1.2 THIẾT LẬP MÔI TRƯỜNG TRONG QUICKTEST PRO
Công việc thực hiện là:
1. Thêm những folder vào vùng làm việc
2. Định nghĩa những giá trị cho Script
Cách thực hiện:
1. Thêm folder vào vùng làm việc. Chọn Tools/Options/Folder. Thêm đường
dẫn của những folder vào vùng làm việc
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 28
Hình 6: Đưa folder vào QuickTest Pro
2. Vào Test Settings
3. Chọn Tab General
4. Chọn nút Generate Script để save file Cấu hình (đặt tên
ConfiguraGlobalTestingOptions.vbs) vào folder Configuration
5. Định giá trị cho scripts
Hình 7: lưu cấu hình
Định giá trị cho script
1. Vào Test Settings
2. Chọn Tab Environment
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 29
3. Cộng vào những giá trị cho field user-defined như: database,
Browser,DbType…
4. Sau đó, chọn “export” với tên EnvironmentVariables.xml Vào tập tin
Configuration
Hình 8: nhập biến môi trường
Phần thiết lập môi trường đã hoàn chỉnh. Chỉ cần thực hiện những bước đơn giản làđã
có thể quản lý tất cả những thông tin cần thiết một cách hợp lý và chuyên nghiệp.
3.2 CÁCH TỔ CHỨC TẬP TIN TRONG DỰ ÁN KIỂM TRA
Cách tổ chức và sắp xếp các folder trong một chương trình kiểm tra. Vì khi làm
việc trong môi trường làm việc chuyên nghiệp luôn phải tuân thủ những nguyên tắc
chung để những công việc thực hiện riêng rẻ sẽ được tập hợp và đồng bộ hoá thành
một chương trình hoàn chỉnh giúp công việc tiến hành nhanh chóng ổn định, tránh mắc
phải những sai lầm.
Một chương trình kiểm tra được tổ chức thành một main test
Main test trong một công việc kiểm tra thực hiện những chức năng:
1. Tạo một số function
2. Khai báo biến chung
3. Dùng để gọi report
4. Gọi action
Một main test gồm có 6 folder:
1. Configuration
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 30
2. Keywords
3. objectRepository
4. Support_SQL
5. TestReports
6. Tests
Mỗi folder thực hiện những nhiệm vụ khác nhau
Nhiệm vụ của Folder:
- Tập tin Configuration: thực hiện nhiệm vụ thiết lập cấu hình cho toàn bộ main
test và cả chương trình hoạt động của việc Kiểm tra trong môi trường Qtest Pro
- Tập tin Keywords dùng để lưu những script và function chung có thể chia sẽ cho
nhiều chương trình test khác
- Tập tin ObjectRepository lưu đối tượng file ObjectRepository.tsr là những phần
đã thực hiện lưu lại quá trình thực hiện cho một chức năng để có thể chạy trên
những máy khác
- Tập tin Support_SQL: nơi chứa các query SQL dùng để điều khiển dữ liệu
- Tập tin TestReports: chứa những báo cáo đã kiểm tra sau khi chạy những script
- Tập tin Tests: là nơi lưu trữ những Action đã thực thi trong quá trình test, mỗi
một action là một quá trình test cho một đặc tính của chương trình
3.3 CÁCH THỨC ĐƯA TESTSCRIPT VÀO DỰ ÁN KIểM TRA
Ý nghĩa: TestScripts có thể được viết ở môi trường bên ngoài chỉ việc đưavào
chương trình để sử dụng
Cách thực hiện:
1. Copy testScript từ thư viện test vào file Keywords của project cần thực
hiện
2. Vào test Settings
3. Chọn tab Resourses
4. Thêm vào testScripts
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 31
Hình 9: đưa thư viện hàm vào QuickTest Pro
3.4 CÁCH TÁI SỬ DỤNG NHỮNG HÀNH ĐỘNG ĐÃ ĐƯỢC KIỂM TRA
Ý nghĩa: Những hành động được tái sử dụng này là những hành động đã được thực thi
trong những chương trình khác nhưng có thể ứng dụng sử dụng được vào chương trình
tương tự, và cũng có thể sử dụng để gọi nhiều hành động trong cùng một dự án
Cách gọi hành động từ maintest:
1. Vào Insert
2. Chọn Copy of Action hay Call to Action
3. Ok
4. Sau tiến hành recording thì chương trình sẽ tự động gọi hành động thực thi
mà không cần phải làm gì cả.
Cách chia sẽ hành động giữa các action
1. Nhấn button Object Repository trên thanh công cụ
2. Chọn Tool
3. Chọn Associated Repositories
4. Chọn đường dẫn tương đối của
file ..\..\ ObjectRespository\ObjectRespository.tsr
z file ..\..\ ObjectRespository\ObjectRespository.tsr: đây là file đã lưu
trước những hành động có thể tái sử dụng được
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 32
3.5 CÁCH ĐỊNH NGHĨA PARAMETER CHO URL
Ý nghĩa: cách truyền tham số vào phần kiểm tra cho URL để thực hiện công việc kiểm
tra.
Cách thực hiện:
1. Nhấn phải chuột vào action
2. Chọn Action properties
3. Chọn tab parameter
4. Thêm parameter vào danh sách
Hình 10: Đưa parameter vào danh sách
CHƯƠNG 4: THƯ VIỆN KỊCH BẢN KIỂM TRA TỰ ĐỘNG
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 33
4.1 HÀM TESTSCRIPT XUẤT BÁO CÁO
Chức năng báo cáo là chức năng cơ bản nhất của Đặc tính kiểm tra vì trong bất kỳ
cuộc kiểm tra nào cũng kết thúc bằng báo cáo
Những chức năng báo cáo được viết bằng VBScript khá đơn giản, và dễ hiểu.
Việc hiểu bản chất của script chính là cách tốt nhất giúp tiếp cận gần với công việc.
4.1.1 HÀM CHỨC NĂNG BÁO CÁO( REPORTFUNCTIONS)
4.1.1.1 Đặc tính xuất báo cáo từ bản dữ liệu trong QT pro ra file Excel
Ý nghĩa: Việc xuất báo cáo ra file excel giúp cho việc kiểm tra lại kết quả báo cáo
trong những lần kiểm tra dễ dàng, và dễ kiểm soát kết quả kiểm tra
Kịch bản thực hiện:
1. Tạo file name
2. Tắt chức năng read-only để có thể thực hiện nhiều lần tránh gặp lỗi thực
thi nhiều lần trong một lần thực hiện
3. Xuất kết quả ra file excel
Hình 11: hàm xuất báo cáo
Diễn Giải TestScript
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 34
Giá trị nhập vào: là Chuỗi TestName
Có 3 biến tham gia trong quá trình thực hiện: strReportFileName,fso, f
Biến strReportFileName là biến chứa tên file excel sẽ tạo thành
Một số câu lệnh cần hiểu:
z strReportFileName = PathFinder.Locate(strReportFileName): thực hiện
việc tìm đường dẫn định cho biến strReportFileName.
z Set fso = CreateObject("Scripting.FileSystTôiObject"): thực hiện thiết
lập cho biến fso một đối tượng file hệ thống cho script
4.1.1.2. Xuất kết quả báo cáo ban đầu
Ý nghĩa: công việc cơ bản khi lần đầu chạy test, ghi kết quả test ban đầu lên bản dữ
liệu
Kịch bản thực hiện:
1. Đưa parameter số bước và tình trạng test vào bảng dữ liệu
2. Thiết lập dòng dữ liệu trong bảng dữ liệu
3. Đưa giá trị vào dòng đã được thiết lập
Hình 12: Hàm xuất báo cáo ban đầu
Diễn Giải TestScript
Giá trị nhập vào: tên sheet name muốn tạo ra, và số bước thực hiện kiểm tra
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 35
Một số câu lệnh đặc biệt:
z Set objSheet=DataTable.GetSheet(strSheetName) : thiết lập cho biến
objSheet một phần của bảng dữ liệu
z objSheet.SetCurrentRow(idx): thiết lập dòng dữ liệu trong bảng tại vị trí
của biến idx
4.1.1.3. Cập nhật những bước báo cáo kiểm tra
Ý nghĩa: công việc này thực hiện để cập nhật tình trạng của những bước kiểm tra
Kịch bản thực hiện:
1. Lấy một phần của bảng dữ liệu
2. Lấy số dòng của bước
3. Kiểm tra tình trạng nếu thành công thì đáng giá “pass”, nếu thất bại thì
đánh giá”fail”
Hình 13: Hàm cập nhật báo cáo
Diễn Giải TestScript
Giá trị nhập vào: tên sheet name muốn tạo ra, và số bước thực hiện kiểm tra, tình
trạng kiểm tra
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 36
Câu lệnh cần hiểu :
z DataTable.Value("Status",strSheetName)="Pass”: cập nhập giá trị Pass
vào bảng dữ liệu tại cột Status
4.1.1.4. Báo cáo kết thúc chạy( reportexitrun) kiểm tra
Ý nghĩa: thực hiện việc cập nhật đánh giá sai “false” cho những bước hiện hành,
và xuất kết quả ra file excel, và kết thúc quá trình kiểm tra
Kịch bản thực hiện
1. Gọi hàm cập nhập báo cáo với tình trạng “false” cho các bước còn chưa
thực hiện đựơc
2. Gọi hàm xuất kết quả ra file excel
Hình 14: Hàm kết thúc báo cáo
Diễn Giải TestScript
Giá trị nhập vào: tên sheet name, và số bước
Câu lệnh cần hiểu:
z UpdateTestReport_Step strTestName,intStepNumber,false : Gọi hàm
UpdateTestReport_Step
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 37
4.1.2 BrowserFunctions
Khi sử dụng wed thì những đặc tính browser là rất cơ bản và người ta cũng sử
dụng cơ chế test tự động để thực hiện những đặc tính của browser như đóng
browser, mở maxi browser
4.1.2.1.MaximizeBrowser
Ý nghĩa: Mở rộng kích cỡ cửa sổ cho browser
Kịch bản thực hiện:
1. Lấy giá trị property từ ứng dụng
2. Đưa vào browser
3. Làm lớn màn hình window
Hình 15: mở lớn browser
Diễn giải TestScript
Câu lệnh cần hiểu:
z intHandle= Browser.GetROProperty("hWnd") thực hiện lấy giá trị đúng
của một đối tượng Properties để kiểm tra từ đối tượng trong ứng dụng
z object.GetROProperty (Property, [PropertyData])
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 38
z Window("hWnd:=" & intHandle).Maximize thực hiện gọi hàm mở lớn
màn hình window của browser
4.1.2.2. CloseALLBrowserNS
Ý nghĩa: đóng tất cả browser Của Netscape
Kịch bản thực hiện:
1. Tạo câu lệnh truy vấn vào kho dữ liệu lấy phần chạy netscape
2. Lấy giá trị thực hiện chạy trong máy tính
3. Thực hiện câu lệnh truy vấn
4. Thực hiện xử lý quá trình thực hiện
Hình 16: đóng tất cả browser của Netscape
Diễn giải TestScript
Câu lệnh cần hiểu:
z strSQL = "Select * from Win32_Process Where Name = '" &
"netscp6.exe" & "'“: câu lệnh truy vấn kho dữ liệu.
z Set colProcessList = objWMIService.ExecQuery (strSQL)
z Set objWMIService = GetObject("winmgmts:\\" & strComputer &
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 39
"\root\cimv2")
z GetObject([pathname] [, class])
Pathname: là đường dẫn mà lấy giá trị service
4.1.2.3. CloseALLBrowserIE
Ý nghĩa: đóng tất cả browser Của IExplore
Kịch bản thực hiện:
1. Tạo câu lệnh truy vấn vào kho dữ liệu lấy phần chạy IE
2. Lấy giá trị thực hiện chạy trong máy tính
3. Thực hiện câu lệnh truy vấn
4. Thực hiện xử lý quá trình thực hiện
Hình 17: Hàm đóng tất cả browser của Iexplore
Diễn giải TestScript
z Cũng tương tự như là phần dành cho netcsape chỉ khác ở câu truy vấn
lấy giá trị của tập tin iexplore.exe
z strSQL = "Select * from Win32_Process Where Name = '" &
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 40
"iexplore.exe" & "'"
4.1.2.4. CloseALLBrowser
Ý nghĩa:đóng tất cả browser Của cả Netcsape và IExplore
Kịch bản thực hiện:
1. Tương tự như ở trên
2. chỉ là gộp chung hai phần lại với nhau
Hình 18: Đóng tất cả browser
4.1.3 DATEFUNCTIONS
n ngày tháng luôn làm cho những làm cho những nhà lập
ChangeDateFromFormat
Các vấn đề liên quan đế
trình rất đau đầu vì có rất nhiều dạng kiểu ngày tháng khác nhau trong máy tính
nếu chỉ một sơ suất nhỏ cũng có thể ảnh hưởng rất lớn đến việc kiểm tra, chính vì
thế nên các thay đổi kiểu format ngày tháng có thể tự động hoá bằng testscript
nhầm luôn có những thống nhất về kiểu format ngày tháng
i kiểu format ngày tháng của máy tính Ý nghĩa: đặc tính thay đổ
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 41
Kịch bản thực hiện:
1. Xét điều kiện của ngày nhập vào
được chọn để format
iễn giải TestScript
2. Xác định dạng ngày sẽ format
3. Tiến hành chuyển đổi kiểu ngày
Hình 19: Hàm thay đổi ngày tháng
D
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 42
z Những giá trị nhập vào: kiểu ngày format, và ngày của máy tính
mat: dd-aaa-yyyy, dd-m-yy, mm-dd-yy,
z g 6 nam 2008
Một số
tDate) thực hiện chức năng chuyển đổi một chuỗi ký
z ar) chuyển từ kiểu số sang kiểu chuỗi ký tự.
4.1.4 DTP
kết quả kiểm tra.Và xét
ort_StepStatus
z Kiểu ngày xuất ra là m/d/yyyy
z Có 5 kiểu ngày tháng để xét for
mm.dd.yy, mm/dd/yyyy, d/mm/yy, dd/mm/yy
Kiểu dd-aaa-yyyy là 12-Jun-2008 ngày 12 thán
câu lệnh đặc biệt :
z dtDate = CDate(d
tự thành kiểu ngày.
strYear = Cstr(intYe
ROCEDURES(DATATABLEPROCEDURES)
DtProcedures cũng là một phần liên quan đến việc báo cáo
tình trạng của parameter
4.1.4.1. UpdateTestRep
ạng của bước kiểm tra
n của bảng dữ liệu
u thành công thì đáng giá “pass”, nếu thất bại thì
Ý nghĩa: chỉ đơn giản là cập nhập tình tr
Kịch bản thực hiện:
1. Lấy một phầ
2. Lấy số dòng của bước
3. Kiểm tra tình trạng nế
đánh giá”fail”
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 43
Hình 20: Hàm cập nhật tình trạng báo cáo
Diễn Giải TestScript
z Giá trị nhập vào: tên sheet name muốn tạo ra, và số bước thực hiện kiểm
tra, tình trạng kiểm tra
Câu lệnh cần hiểu :
z DataTable.Value("StepNumber",strSheetName)=strStepNumber: cập
nhập số bước vào bảng dữ liệu tại cột StepNumber
4.1.4.2. UpdateReport_VerifyingScreen
Ý nghĩa: Thực hiện cập nhập báo cáo theo tình trạng của parameter
Kịch bản thực hiện:
1. Lấy số parameter trên bảng
2. Thêm tình trạng “pass”, “fail ” vào bảng dữ liệu khi xét điều kiện của tình
trạng đúng sai của parameter.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 44
Hình 21: Hàm cập nhật tình trạng parameter
Diễn Giải TestScript
Câu lệnh cần hiểu:
z intParaCount = DataTable.GetSheet(strSheetname).GetParameterCount:
lấy số parameter của bảng dữ liệu.
z blnParaStatus = blnParaStatus and DataTable.Value(i,strSheetname) :
tiến hành kết nối tình trạng parameter với giá trị I trong bảng dữ liệu.
4.1.4.3. UpdateReport
Ý nghĩa:Tiến hành cập nhật bảng báo cáo.
Kịch bản thực hiện:
1. Lấy số parameter trên bảng.
2. Thêm tình trạng “pass”, “fail ” vào bảng dữ liệu khi xét điều kiện của tình
trạng đúng sai của parameter.
3. Xoá những parameter cũ dư thừa trên bảng dữ liệu.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 45
Hình 22: Hàm cập nhật báo cáo
4.1.4.4. OpenReport
Ý nghĩa: mở ứng dụng báo cáo của excel.
Kịch bản thực hiện:
1. Mở ứng dụng của excel.
2. Mở file báo cáo.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 46
Hình 23: Hàm mở báo cáo
Diễn giải TestScirpt
Câu lệnh cần hiểu
z Set objReportSheet=CreateObject("Excel.Application"): thiết lập cho
biến ứng dụng của excel.
z objReportSheet.Workbooks.Open strFileName: thực hiện mở tư liệu làm
việc có tên là chuỗi strFileName
4.1.4.5. UpdateTestReport_Note
Ý nghĩa: Cập nhật những ghi chú cho báo cáo kiểm tra.
Kịch bản thực hiện:
1. Cập nhập ghi chú vào cột coment của bảng dữ liệu.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 47
Hình 24: Hàm cập nhật ghi chú
4.1.4.6. UpdateTestReport_StepActionStatus
Ý nghĩa: cập nhật tình trạng của từng bước kiểm tra.
Kịch bản thực hiện:
1. Đơn giản cập nhật số bước và tình trạng
Hình 25: Hàm cập nhật bước báo cáo
4.1.4.7. UpdateTestReport_StepStatusComents
Ý nghĩa: đưa vào những nội dung thực hiện cho phần nội dung trong báo cáo kiểm
tra.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 48
Kịch bản thực hiện:
1. Đưa thông tin nội dung báo cáo strNote vào bảng dữ liệu tại cột Coment.
Hình 26: Hàm cập nhật nội dung bước
4.1.4.8. SetInitialStatusSteps_TestReport
Ý nghĩa: thiết lập tình trạng các bước ban đầu cho những báo cáo kiểm tra.
Hình 27: Hàm thiết lập trạng thái
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 49
4.1.4.9. ReportForExitRun
Ý nghĩa: Báo cáo cuối cùng khi kết thúc việc chạy kiểm tra
Kịch bản thực hiện:
1. Xuất kết quả cho báo cáo cho những bước chưa thực hiện.
2. Xuất kết quả ra file excel
3. Đóng tất cả browser
Hình 28: Hàm báo cáo cuối cùng
Diễn Giải TestScript
Câu lệnh cần hiểu:
z Reporter.ReportEvent micFail,"Test Cleanup","Cannot close all web
browsers. Error appears: " & strTTôip: Báo cáo những sự kiện xảy ra
z Reporter.ReportEvent EventStatus, ReportStepName, Details [,
Reporter]
z eventStatus: tình trạng của sự kiện
z micFail: báo tình trạng bước này bị lỗi, và gởi tin nhắn báo lỗi ra ngoài
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 50
4.2 HÀM TESTSCRIPT VỀ CƠ SỞ DỮ LIỆU
4.2.1 DBPROCEDURES(CƠ SỞ DỮ LIỆU)
Cơ sở dữ liệu là những yếu tố cơ bản của mọi dự án và những việc truy vấn, cập
nhật, xoá cơ sở dữ liệu là những việc đơn giản có thể tạo ra tự động giúp cho việc
linh hoạt sử dụng cơ sở dữ liệu của những dự án mà thực thi.
4.2.1.1.CreateSQLQueryFile
Ý nghĩa: tạo mới file query SQL
Kịch bản thực hiện:
1. Tạo đối tượng file hệ thống cho biến
2. Tạo ra file kiểm tra
Hình 29: Hàm tạo file
4.2.1.2.UpdateSQLQueryFile
Ý nghĩa: cập nhật file cơ sở dữ liệu
Kịch bản thực hiện:
1. Tạo đối tượng hệ thống cho biến
2. mở file kiểm tra
3. Thực hiện viết giá trị lên bảng giá trị
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 51
Hình 30: Hàm cập nhật file
Diễn giải TestScript
Exists(strFileName)) then
me, ForAppending, True)
z ob
4.2.1.3.DeleteSQLQueryFile
Câu lệnh cần hiểu:
z If (fso.File
Set tf = fso.OpenTextFile(strFilena
ject.OpenTextFile(filename[, iomode[, create[, format]]])
z ForAppending=8:mở một file và viết cho đến kết thúc file đó.
ệ thống cho biến
oá
Ý nghĩa: Xoá file SQL
Kịch bản thực hiện:
1. Tạo đối tượng h
2. Kiểm tra file tồn tại thì thực hiện x
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 52
HÌnh 31: Hàm xoá file
4.2.1.4.ExecuteSQLQueryFile
Ý nghĩa: Thực thi file SQL
ệ thống cho biến
Hình 32: hàm thực thi câu lệnh SQL
Diễn giải TestScript
Kịch bản thực hiện:
1. Tạo đối tượng h
2. Thực thi câu truy vấn
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 53
z Tham số truyền vào: Tên của cơ sở dữ liệu sử dụng, username kết nối
Câu lệnh c
"cmd /c sqlplus " & strDBUsername & "/" & strDBPassword
4.2.2 EXECU UY VẤN)
ản là việc triệu gọi những câu lệnh
ữ liệu cơ bản là Oracle và MSSQL
4.2
csdl, password, tên file chứa những query SQL
ần hiểu:
z strCMD=
& "@" & strDBServiceName & " @" & strSQLQuery: Câu lệnh dùng
để triệu gọi cơ sở dữ liệu
TE_SQL(THỰC THI TR
Công việc thực thi truy vấn cơ sở dữ liệu đơn gi
truy vấn vào cơ sở dữ liệu.
Ta có hai loại lưu trữ cơ sở d
.2.1. Execute_SQLQuery
Ý nghĩa: Thực thi câu lệnh truy vấn cơ sở dữ liệu
i lưu trữ cơ sở dữ liệu
Kịch bản thực hiện:
1. Lưa chọn loạ
2. Kết nối server của cơ sở dữ liệu
3. Thực thi câu lệnh truy vấn
4. Tắt kết nối cơ sở dữ liệu
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 54
Hình 33: Hàm truy vấn cơ sở dữ liệu
4.2.2.2. GetFieldData
Ý nghĩa: Lấy dữ liệu từ file dữ liệu của cơ sở dữ liệu.
i lưu trữ cơ sở dữ liệu.
Kịch bản thực hiện:
1. Lưa chọn loạ
2. Kết nối server của cơ sở dữ liệu.
3. Lấy giá trị field
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 55
Hình 34: Hàm lấy dữ liệu file
Diễn giải TestScript
Câu lệnh cần hiểu:
z strValue = objRS.Fields(strFieldName): lấy giá trị của field từ cơ sở dữ
liệu có tên tập tin là strFieldName.
z objCon.Open "Driver={" & strDBDriver & "};" & "Server=" &
strDBServiceName & ";" & "Uid=" & strDBUsername & ";" & "Pwd="
& strDBPassword: Câu lệnh để mở cơ sở dữ liệu
4.2.2.3. BackupIniPara
Ý nghĩa: Nến những giá trị đặc biệt của parameter.
Kịch bản thực hiện:
1. Lưa chọn loại lưu trữ cơ sở dữ liệu.
2. Kết nối server của cơ sở dữ liệu.
3. Lấy giá trị field.
4. Thực hiện truy vấn Backup trong cơ sở dữ liệu.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 56
Hình 35: Hàm nén parameter
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 57
Diễn g
"select ini_value from teds_ini where ini_parameter='" &
z hợp với
chương trì k
iải TestScript
Câu lệnh cần hiểu:
z strSQL =
arrIniPara(idx) & "'“: câu truy vấn cơ sở dữ liệu.
Câu truy vấn cơ sở dữ liệu có thể thay đổi cho phù
nh iểm tra
4.2.2.4. SetIniPara
Ý nghĩa: thiết lập những giá trị đặc biệt của parameter
i lưu trữ cơ sở dữ liệu.
u cho cơ sở dữ liệu.
Kịch bản thực hiện:
1. Lưa chọn loạ
2. Kết nối server của cơ sở dữ liệu.
3. Thực hiện truy vấn cập nhật dữ liệ
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 58
Hình 36: Hàm thiết lập giá trị
4.2.2.5. GetTotalRecord
Ý nghĩa: lấy số phần thu (recordcount) của bảng cơ sở dữ liệu từ câu truy vấn SQL
Kịch bản thực hiện:
1. Lưa chọn loại lưu trữ cơ sở dữ liệu.
2. Kết nối server của cơ sở dữ liệu.
3. Lấy dữ liệu đã thu được lưu trong cơ sở dữ liệu.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 59
Hình 37: Hàm lấy phần thu record
4.2.3 FSPROCEDURE: ĐƯỜNG DẪN CƠ SỞ DỮ LIỆU
Đường dẫn vào cơ sở dữ liệu chính là việc tìm ra đường đi việc truy vấn cho đến
nơi đặt những cơ sở dữ liệu mà dự án được lưu trữ.
4.2.3.1. GetPath
Ý nghĩa: lấy đường dẫn của một file
Kịch bản thực hiện:
1. Kiểm tra file tồn tại
2. Tiến hành lấy file
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 60
Hình 38: Lấy đường dẫn file
4.2.3.2. CloseFile
Ý nghĩa: Đóng file đang sử dụng.
Kịch bản thực hiện:
1. Kiểm tra file tồn tại.
2. Đóng file đang mở.
Hình 39: Hàm đóng file
4.3.2.3. ChangeFileAttribute
Ý nghĩa: thay đổi thuộc tính của file
Kịch bản thực hiện:
1. Kiểm tra file tồn tại
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 61
2. trả thuộc tính về 0
Hình 40: Hàm thay đổi đặc tính
4.3 ERRORHANDLEFUNCTIONS
Lệnh bắt lỗi thực hiện công việc rất căn bản.
Thông báo lỗi tại ngay vị trí xuất hiện lỗi, đưa thông báo lỗi ra ngoài và cho quá
trình tiếp tục hoạt động bình thường là những công việc chính của việc bắt lỗi trong
quá trình kiểm tra một chức năng của chương trình.
4.3.1 ISERRORAPPEAR( XUẤT HIỆN LỖI)
Ý nghĩa: kiểm soát tình trạng lỗi, nếu lỗi xuất hiện thì chụp ngay thông báo lỗi và
đóng cửa sổ thông báo lỗi đang hoạt động.
Kịch bản thực hiện:
1. Kiểm tra browser tồn tại
2. Xét trường hợp lỗi xuất hiện
3. Lấy nội dung thông báo lỗi
4. đóng cửa sổ thông báo lỗi
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 62
Hình 41: Hàm bắt lỗi
Diễn Giải TestScript
Câu lệnh cần hiểu:
z Browser("Application Exception").Sync: đợi browser hoàn thành quá
trình xử lý.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 63
4.4 GENERALFUNCTIONS
Phần chung được hiểu là những phần rời rạc ảnh hưởng đến nhiều phần khác.
Nhưng không ảnh hưởng nhiều đến quá trình kiểm tra đặc tính của dự án.
4.4.1. COMPAREASCSTRING
Ý nghĩa: kiểm tra việc so sánh giá trị của chuỗi.
Kịch bản thực hiện:
1. Một phép so sánh chuỗi đơn giản
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 64
Hình 42: Hàm so sánh chuỗi
4.4.2. CONVERTSTRING
Ý nghĩa: Chuyển đổi chuổi có những ký tự đặc biệt thành chuổi thường.
Kịch bản thực hiện:
1. So sánh chuỗi với những ký tự bình thường.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 65
2. Thay đổi chuổi phù hợp.
Hình 43: Hàm thay đổi chuỗi
4.5 ĐẶC TÍNH WEB
4.5.1 WEBCHECKFUNCTIONS
Checkbox của web là một thành phần cơ sở được viết thực thi cho web để kiểm tra
sự tồn tại, xác nhận giá trị check và cả những giá trị không được check trên web.
4.5.1.1. IsWebCheckExistEnable
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 66
Ý nghĩa: Xét sự tồn tại của những check box trên trang web
Kịch bản thực hiện:
1. Xét đặc tính checkbox của web
2. Nếu tồn tại thì đánh giá “true”, nếu không tồn tại thì đánh giá “fail”
Hình 44: Hàm kiểm tra tồn tại checkbox
4.5.1.2. CheckWebCheck
Ý nghĩa: Kiểm tra tình trạng được chọn của check box có trong trang web.
Kịch bản thực hiện:
1. Xét đặc tính checkbox của web
2. objWebCheck.Set "ON”
3. Kiểm tra checkbox có giá trị hay không có giá trị
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 67
Hình 45: Hàm kiểm tra checkbox
4.5.1.3. VerifyWebCheck
Ý nghĩa: Xác nhận những check box được kiểm tra.
Kịch bản thực hiện:
1. Kiểm tra các check box tồn tại.
2. Những check box nào đã kiểm tra và chưa kiểm tra.
Hình 46: Hàm xác định giá trị checkbox
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 68
4.5.1.4. UnCheckWebCheck
Ý nghĩa: Kiểm tra tình trạng không được chọn của check box có trong trang web.
Kịch bản thực hiện:
1. Xét đặc tính checkbox của web
2. objWebCheck.Set “OFF”
3. Kiểm tra checkbox có giá trị hay không có giá trị
Hình 47: Hàm không chọn checkbox
4.5.2 WebDropdownFunctions
Danh sách dropdown của web là một bảng lựa chọn dạng chảy xuống của một danh
sách dài đã được thu gọn.
4.5.2.1. IsWebDropdownExistEnable
Ý nghĩa: kiểm tra bảng danh sách dropdown có tồn tại, và có sử dụng được không.
Kịch bản thực hiện:
1. Xét đặc tính dropdown của web
2. Nếu tồn tại thì đánh giá “true”, nếu không tồn tại thì đánh giá “fail”
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 69
Hình 48: Hàm danh sách tồn tại trong web
4.5.2.2. SelectItTôiWebDropdown
n.
ồn tại của dropdown.
ách không.
n không.
Ý nghĩa: Lựa chọn một mục của danh sách dropdow
Kịch bản thực hiện:
1. Kiểm tra sự t
2. Kiểm tra mục chọn có trong danh s
3. Thực hiện chọn vào mục chọn
4. Kiểm soát mục chọn có được chọ
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 70
Hình 49: Hàm chọn mục trong dropdown
4.5.3 WebEditFunctions
Edit Web cũng là một trong những đặc tính cơ sở của web và việc kiểm tra nó cũng
4.5.3.1. IsWebEditExistEnable
tồn tại giống như những yếu tố khác của web như là kiểm tra sự tồn tại của editweb,
thiết lập giá trị thử cho edit, và kiểm tra giá trị nhập vào đúng yêu cầu không.
ị sử dụng không.
H nh 50:H m tồn tại edit
4.5.3.2. SetValueWebEdit
Ý nghĩa: kiểm tra edit có tồn tại hay không, có giá tr
ì à
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 71
Ý nghĩa: thiết lập giá trị cho edit.
Kịch bản thực hiện:
1. Kiểm tra sự tồn tại của edit web.
2. Tiến hành thiết lập properties cho edit web.
3. Đưa giá trị vào edit.
4. Kiểm tra việc thiết lập có thành công không.
Hình 51: hàm thiết lập giá trị edit
4.5.3.3. CheckValueWebEdit
Ý nghĩa: kiểm tra giá trị trong edit có đúng hay không.
Kịch bản thực hiện:
1. So sánh giá trị nhập vào với giá trị trong properties
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 72
Hình 52: hàm kiểm tra giá trị edit
4.5.4 WEBEDITPROFUNCTIONS
4.5.4.1. SetValueWebEditProIE
Ý nghĩa: Thiết lập giá trị cho Edit trong browser Iexplore
Kịch bản thực hiện:
1. Xét edit tồn tại.
2. Thiết lập đặc tính giá trị vào trong văn bản.
3. So sánh chuỗi trong edit với giá trị nhập vào
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 73
Hình 53: Hàm edit trong browser IE
Diễn giải TestScript
etAttribute "innerText", strValue: thiết lập giá trị strValue có
z á trị intRes cho hàm
4.5.4.2. CheckValueWebEditProIE
Câu lệnh cần hiểu:
z objDes.s
đặc tính innertext cho đối tượng biến objDes.
SetValueWebEditProIE = intRes: gán gi
SetValueWebEditProIE.
Ý nghĩa: Kiểm tra giá trị cho edit trong browser Ixplore.
trị trong edit với giá trị nhập vào.
Kịch bản thực hiện:
1. So sánh giá
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 74
Hình 54: Hàm kiểm tra edit trong IE
4.5.4.3. SetValueWebEditProNS
Ý nghĩa: Thiết lập giá trị cho Edit trong browser Netscape
Kịch bản thực hiện:
1. Xét edit tồn tại.
2. Thiết lập đặc tính giá trị vào trong đối tượng edit.
Hình 55: Hàm edit trong Netscape
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 75
4.5.4.4. EditValueWebEditProNS
Ý nghĩa: thay đổi giá trị cho edit web trong browser Netscape.
Kịch bản thực hiện:
1. Kiểm tra tồn tại
2. Thực hiện thay đổi giá trị trong edit.
Hình 56: Hàm thay đổi trong NS
Diễn giải TestScript
Câu lệnh cần hiểu:
z objWebEditPro.Type strValueEdit: gán giá trị strValueedit vào kiểu mẫu
của edit web
4.5.4.5. CheckValueWebEditProNS
Ý nghĩa: kiểm tra giá trị của edit web trong browser Netscape.
Kịch bản thực hiện:
1. So sánh chuỗi giá trị trong edit và giá trị nhập vào.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 76
Hình 57: Hàm kiểm tra giá trị trong NS
4.5.5 WEBIMAGEFUNCTIONS
4.5.5.1. IsWebImageExistEnable
Ý nghĩa: Kiểm tra sự tồn tại, và có giá trị của ảnh.
Kịch bản thực hiện:
1. Kiểm tra sự tồn tại của ảnh.
2. Lấy properties của ảnh
3. So sánh properties của ảnh với đường link ảnh.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 77
Hình 58: Hàm kiểm tra ảnh trong web
4.5.5.2. ClickWebImageIcon
Ý nghĩa: tác động chuột vào ảnh trên web, để kiểm tra đường link của ảnh có tồn
tại không.
Kịch bản thực hiện:
1. Kiểm tra sự tồn tại của ảnh.
2. Lấy properties của ảnh
3. So sánh properties của ảnh với đường link ảnh.
4. Kiểm tra tác động nhấn chuột vào ảnh
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 78
Hình 59: Hàm kiểm tra nguồn ảnh
4.5.6 WEBLINKFUNCTIONS
Ý nghĩa: hành động nhấn chuột vào những đường hyderlink của web
Kịch bản thực hiện:
1. Kiểm tra sự tồn tại của đường link.
2. Thực hiện đánh giá “0” nếu đường link tồn tại, và đánh giá “1” nếu đường
link không tồn tại.
Hình 60: Hàm link trong web
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 79
CHƯƠNG 5: KẾT QUẢ SẢN PHẨM DỰ ÁN
Giáo trình điện tử Thư viện TestScript cho Web trong môi trường
QuickTest Pro
Đặc điểm của giáo trình:
- Chương 1,3,4,5 là những lý thuyết được thể hiện trên nền video có âm thanh
thuyết dịch cho bài học.
- Chương 2 Thiết lập môi trường làm việc cho TestScripts gồm :
z phần lý thuyết có âm thanh thuyết dịch cho bài học.
z Phần thực hành là video quá trình thực hiện trên máy tính.
z Phần mở rộng: Quá trình thực hiện cho những kỹ năng cần thiết khi sử
dụng thư viện hàm và làm việc trong môi trường QuickTest Pro.
ẢNH SẢN PHẨM:
Hình 61: Màn hình chính
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 80
Hình 62: Phần giới thiệu
Hình 63: Chương 2
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 81
Hình 64: Chương 3 thiết lập môi trường
Hình 65: Video thực hiện thiết lập môi trường cho TestScript
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 82
Hình 66: Diễn giải hàm báo cáo TestScript
Hình 67: Diễn giải hàm cơ sở dữ liệu TestScript
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 83
Hình 68: Diễn giải hàm Web TestScript
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 84
KẾT LUẬN
Sau khi đã đi xong hết quá trình tìm hiểu việc thực hiện về thư viện TestScript thì nhận
ra được những hữu ích thật lớn của công cụ hỗ trợ cho việc kiểm tra, đã giúp cho toàn
bộ quá trình kiểm tra trở nên đơn giản, nhanh chóng, tiện lợi hơn. Môi trường làm việc
Quicktest pro là một môi trường làm việc chuyên nghiệp, những hỗ trợ của nó cũng rất
hoàn thiện và càng ngày thì phần mềm QuickTest Pro càng cải tiến thêm nhiều tính
năng giúp cho những kỹ thuật viên kiểm tra thực hiện công việc dễ dàng và việc làm
việc theo nhóm lớn cũng thống nhất hơn, đồng bộ hơn. Với sự thực hiện kiểm tra theo
những kịch bản chương trình TestScript, đã phát huy rất nhiều điểm ưu việt của chức
năng kiểm tra tự động, mở rộng nhiều hơn nữa khả năng lập trình cơ bản của những kỹ
thuật viên kiểm tra, và sẽ còn phát triển nhiều hơn nữa trong tương lai về kỹ thuật
kiểm tra tự động.
Trong luận văn này chỉ hàm chứa những hàm TestScript cơ bản nhất phải có của công
việc kiểm tra, đây chỉ là góc rễ căn bản giúp định hướng, và mở rộng thêm vốn hiểu
biết về việc kiểm tra tự động thông qua thư viện hàm TestScript. Còn rất nhiều điều
hay còn có thể khám phá và phát triển về kịch bản hàm TestScript. Trong một khoản
thời gian ngắn và sự đầu tư có giới hạn không thể nào làm bật hết tất cả những ưu việt
của thư viện hàm TestScript, nhưng cũng là nền tảng cho những phát triển sau mong
rằng đây là tiên đề hay, và sẽ hữu ích cho những ai quan tâm đến việc kiểm tra phần
mềm và định hướng nghề nghiệp theo hướng phát triển này. Cảm ơn, vì mọi sự cố
gắng để có một kết quả hôm nay, và những điều chưa hoàn thiện sẽ được thông cảm bỏ
qua.
Người thực hiện: Phạm Thị Diễm Nhung
Thư viện TestScripts 85
NGUỒN THAM KHẢO:
[1] Jeff Gainer. Software testing- Determining Quality in the Real World, A USAID-
Supported initiative.
[2] QuickTest Professional Automation Object Model Reference.
[3]VBScript language Reference.
[4]www.vbcode.com
[5]www.planetsourcecode.
Người thực hiện: Phạm Thị Diễm Nhung
Các file đính kèm theo tài liệu này:
- Thư viện TestScript cho WEB trong môi trường QuickTest Pro.pdf