Thư viện TestScript cho WEB trong môi trường QuickTest Pro

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.

pdf80 trang | Chia sẻ: lvcdongnoi | Lượt xem: 2764 | Lượt tải: 3download
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:

  • pdfThư viện TestScript cho WEB trong môi trường QuickTest Pro.pdf