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ề
Trang 1Lời cảm ơn
Tôi xin cảm ơn nhà trường đã tạo mọi điều kiện thuận lợi để Tôi làm tốt luận văn tốt nghiệp này, và trong những năm học tại trường đại học Kỹ thuật Công Nghệ Tôi đã tiếp thu rất nhiều kiến thức bổ ích và có những cái nhìn thật tổng quát về các kiến thức cũng như những kỷ năng cần thiết cho môi trường làm việc khi ra xã hội sau này
Tôi cũng xin cảm ơn Thầy Nguyễn Chánh Thành đã giúp đỡ Tôi qua những đồ
án trước đây cũng như luận văn tốt nghiệp này, nhờ những lời khuyên, góp ý của thầy
mà Tôi có cái nhìn tốt hơn, những sản phẩm học tập rất bổ ích, cả những cách thể hiện
lý thú giúp cho luận văn sinh động hữu ích, và có thể ứng dụng vào thực tế
Tôi cảm ơn vì ba mẹ đã tạo điều kiện tốt để Tôi học, và hoàn thiện quá trình học của mình tại ngôi trường này
Cảm ơn nhà trường đã góp phần trong việc xây dựng nên những khối kiến thức vững chắc và những hoạt động bổ ích đã làm phong phú thêm những kỹ năng xã hội cho Tôi Cảm ơn khoa đã có những sắp xếp hợp lý để chúng Tôi có điều kiện hoàn thành tốt việc học của mình tại trường
Tôi cũng xin cảm ơn tất cả các giáo viên trong khoa đã tận tình truyền dạy kiến thức cho chúng Tôi trong bốn năm học qua
Dù đã cố gắng hết sức để thực hiện luận văn này nhưng không thể tránh được những thiếu xót mong các thầy cô thông cảm cho những hạn chế và khuyết điểm
Tp.Hồ Chí Minh, ngày 5 tháng 1 năm 2009 Sinh viên Phạm Thị Diễm Nhung
Trang 2LỜ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)
Trang 34 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
Trang 4
CHÚ THÍCH HÌNH ẢNH
Hình 1: quy trình kiểm tra cơ bản
Hình 2: Sơ đồ quy trình kiểm tra tự động
Hình 3: Bảng hằng số dữ liệu
Hình 4: Bảng phép toán
Hình 5: Thiết lập biến môi trường
Hình 6: Đưa folder vào QuickTest Pro
Hình 7: lưu cấu hình
Hình 8: nhập biến môi trường
Hình 9: đưa thư viện hàm vào QuickTest Pro Hình 10: Đưa parameter vào danh sách
Hình 11: hàm xuất báo cáo
Hình 12: Hàm xuất báo cáo ban đầu
Hình 19: Hàm thay đổi ngày tháng
Hình 20: Hàm cập nhật tình trạng báo cáo Hình 21: Hàm cập nhật tình trạng parameter Hình 22: Hàm cập nhật báo cáo
Hình 23: Hàm mở báo cáo
Hình 24: Hàm cập nhật ghi chú
Hình 25: Hàm cập nhật bước báo cáo
Hình 26: Hàm cập nhật nội dung bước
Hình 33: Hàm truy vấn cơ sở dữ liệu
Hình 34: Hàm lấy dữ liệu file
Hình 35: Hàm nén parameter
Hình 36: Hàm thiết lập giá trị
Hình 37: Hàm lấy phần thu record
Hình 38: Lấy đường dẫn file
Hình 39: Hàm đóng file
Hình 40: Hàm thay đổi đặc tính
Hình 41: Hàm bắt lỗi
Trang 5Hình 42: Hàm so sánh chuỗi
Hình 43: Hàm thay đổi chuỗi
Hình 44: Hàm kiểm tra tồn tại checkbox
Hình 45: Hàm kiểm tra checkbox
Hình 51: hàm thiết lập giá trị edit
Hình 52: hàm kiểm tra giá trị edit
Hình 53: Hàm edit trong browser IE
Hình 54: Hàm kiểm tra edit trong IE
Hình 55: Hàm edit trong Netscape
Hình 56: Hàm thay đổi trong NS
Hình 57: Hàm kiểm tra giá trị trong NS
Hình 58: Hàm kiểm tra ảnh trong web
Hình 59: Hàm kiểm tra nguồn ảnh
Hình 60: Hàm link trong web
Hình 61: Màn hình chính
Hình 62: Phần giới thiệu
Hình 63: Chương 2
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 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
Hình 68: Diễn giải hàm Web TestScript
Trang 6NHỮNG TỪ TIẾNG ANH ĐƯỢC SỬ DỤNG
TestScript: Kịch bản kiểm tra
QTP: Quick Test Pro một phần mềm công cụ giúp việc kiểm tra Repository: một phần lưu tiến tình kiểm tra
Parameter: tham số
Settings: Cài đặt
Design test: thiết kế tiến trình kiểm tra
Test Automation: quá trình kiểm tra tự động
VBScript: Visual basic Script một ngôn ngữ lập trình của microsoft Automating QuickTest Operations: hệ thống tự động của QuickTest Object model: đối tượng kiểu mẫu
Data table: bảng dữ liệu
Configuration: Cấu hình
Keywords: Thư viện hàm
Support_SQL: nơi lưu giữ câu lệnh SQL
TestReports: nơi lưu các báo cáo kiểm tra
Tests: Nơi lưu các bước kiểm tra
ReportFunctions: Đặc tính báo cáo
BrowserFunctions: Đặc tính của cửa sổ mở browser
MaximizeBrowser: mở lớn browser
DateFunctions: Đặc tính ngày tháng
ChangeDateFromFormat: thay đổi kiểu ngày tháng
UpdateReport: Cập nhật báo cáo
Trang 7MỤC LỤC
Trang bìa 1
Nhiệm vụ đồ án tốt nghiệp 2
Nhận xét của giảng viên hướng dẫn 4
Nhận xét của giảng viên phản biện 5
Lời cảm ơn 6
Lời nói đầu 7
Chú thích hình ảnh 9
Những từ Tiếng Anh được sử dụng 11
Chương 1: Giới thiệu 13
1.1 Giới thiệu chung 13
1.2 Kịch bản kiểm tra( TestScripts) 15
1.3 Thực thi tự động hoá……… 16
Chương 2: Lý thuyết 19
2.1 Ngôn ngữ lập trình Visual Basic Script 19
2.2 Hệ thống Kiểm tra tự động của QuickTest Pro 24
Chương 3: Thực nghiệm 27
3.1 Thiết lập môi trường làm việc cho TestScript 27
3.2 Cách tổ chức tập tin trong dự án kiểm tra 29
3.3 Cách thức đưa TestScript vào dự án kiểm tra 30
3.4 Cách tái sử dụng những hành động đã được kiểm tra 31
3.5 Cách định nghĩa parameter cho URL 32
Chương 4: Thư viện hàm Kịch bản kiểm tra tự động cơ bản 33
Chương 5: Kết quả sản phẩm dự án 79
Trang 8CHƯƠNG 1: GIỚI THIỆU
1.1 GIỚI THIỆU CHUNG
Như đã biết công việc kiểm tra là một quá trình đi tìm những khiếm khuyết còn xót lại trong khi làm một phần mềm hay một website và trong khi thực hiện công việc
đó bằng cách theo dõi mã lệnh, chạy kết quả thì còn được sử dụng những công cụ, phần mềm hỗ trợ 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ểntest script
Thực hiện test
Đánh giá
Hình 1: quy trình kiểm tra cơ bản
Trang 9Mố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 để
Ư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
Trang 10• 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
Trang 11Test 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ự
Trang 12Ư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
Trang 13
Ư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
Trang 14CHƯƠ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 )
Trang 152.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 | Newclassname | 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")
Trang 16DefResp = MsgBox (MyNum & " Do you want another number?", vbYesNo)
Dim Check, Counter
Check = True: Counter = 0
Trang 17Biểu thức điều kiện If Then Else
If condition Then statTôients [Else elsestatTôients ]
Select Case testexpression ‘biểu thức điều kiện kiểm tra
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
Trang 18MyDate = "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
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
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
Trang 19Ví 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à
Trang 20Nhữ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ụ:
Trang 21DataTable.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 )
Trang 223.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
Trang 23Hình 6: Đưa folder vào QuickTest Pro
2 Vào Test Settings
1 Vào Test Settings
2 Chọn Tab Environment
Trang 243 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
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:
Trang 25Mỗ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
Trang 26Hì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 chia sẽ hành động giữa các action
1 Nhấn button Object Repository trên thanh công cụ
Trang 273.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
Trang 284.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
Trang 29Giá 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
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
Trang 304.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
Trang 31Câ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
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
Trang 324.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
Trang 33z 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 &
Trang 341 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 = '" &
Trang 35"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
i kiểu format ngày tháng của máy tính
Ý nghĩa: đặc tính thay đổ
Trang 363 Tiến hành chuyển đổi kiểu ngày
Hình 19: Hàm thay đổi ngày tháng D
Trang 37z 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,
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 :
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
Trang 38Hì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
Trang 39Hì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