Mục lục: LỜI NÓI ĐẦU 3 I. KIỂM THỬ TỰ ĐỘNG: 4 1. Khái niệm về kiểm thử tự động: 4 2. Mục đích: 4 2.1. Tại sao phải kiểm thử tự động? Trả lời: 4 2.2. Khi nào thì kiểm thử tự động? (Test Tool) 4 3. Phân loại kiểm thử tự động: 6 3.1. Công cụ kiểm thử tự động mã trình 6 3.2. Công cụ kiểm thử tự động dữ liệu 6 3.3. Công cụ kiểm thử tự động cài đặt 7 4. Quy trình kiểm thử tự động: 8 4.1. Khái quát về quy trình: 8 4.2. Các bước cơ bản của quá trình KTTĐ: 8 4.3. Thuận lợi và khó khăn: 9 5. Giới thiệu công cụ KTTĐ: 9 5.1. QuickTest Pro: 10 5.1.1. Loại phần mềm hỗ trợ: 10 5.1.2. Đặc điểm: 10 5.1.3. Các thành phần quan trọng của QTP: 12 5.1.4. Ngôn ngữ sử dụng viết Script: 13 5.1.5. Ví dụ: 13 5.2. Load Runner: 14 5.2.1. Tác dụng của Load Runner (Test tool): 14 5.2.2. Thành phần cơ bản của Load Runner 14 5.2.3. Ngôn ngữ viết Script 14 5.2.4. Các bước thực hiện trên Load Runner 15 II. CHIẾN LƯỢC KIỂM THỬ (Testing strategy): 15 1. Định nghĩa: 15 1.1. Các loại kiểm thử: 15 1.2. Công cụ kiểm thử: 16 2. Một số chiến lược: 16 3. Yêu cầu chiến lược kiểm thử: 17 4. Các đặc trưng chiến lược kiểm thử: 18 5. Sự thích ứng của chiến lược kiểm thử: 18 6. Sự đáp ứng của chiến lược kiểm thử: 18 7. Quy trình kiểm thử: 18 LỜI NÓI ĐẦU Ngày nay tự động hóa được ứng dụng ở rất nhiều lĩnh vực, mục đích thường rất đa dạng và tùy theo nhu cầu đặc thù của từng lĩnh vực, tuy nhiên điểm chung nhất vẫn là giảm nhân lực, thời gian và sai sót. Ngành Công nghệ thông tin (CNTT) mà cụ thể là phát triển phần mềm (PTPM) cũng không ngoại lệ. Như chúng ta biết, để tạo ra sản phẩm CNTT hay phần mềm có chất lượng thì hoạt động kiểm tra phần mềm (KTPM) đóng vai trò rất quan trọng, trong khi đó hoạt động này lại tiêu tốn và chiếm tỷ trọng khá lớn công sức và thời gian trong một dự án. Do vậy, nhu cầu tự động hoá qui trình KTPM cũng được đặt ra. Mặt khác có thể với tư cách là nhà điều hành, công việc của bạn là đề ra chiến lược dẫn dắt doanh nghiệp của bạn đi đến thành công trên thương trường. Bạn cần đề ra các chiến lược cho tiếp thị, kinh doanh, nghiên cứu và phát triển, tài chính, công nghệ thông tin, nguồn nhân lực và các dịch vụ hỗ trợ. Tại một công ty phần mềm, đối với sự thành công trong kinh doanh thì các chiến lược kiểm thử cũng thiết yếu như các chiến lược phát triển phần mềm vậy. Trong chương này, nhóm chúng em thảo luận về các công cụ hỗ trợ kiểm tra tự động được trình bày để hỗ trợ cho quá trình kiểm tra và chiến lược kiểm tra phần mềm để có thể làm tốt hơn trong công việc kiểm thử cũng như đảm bảo chất lượng phần mềm đúng quy chuẩn và tốt nhất. Nhóm 9 LTCĐĐHKHMT2K2: I. KIỂM THỬ TỰ ĐỘNG: 1. Khái niệm về kiểm thử tự động: Kiểm thử tự động phần mềm (KTTĐ Test Automation) là: Quá trình xử lý một cách tự động các bước thực hiện các test case (trong cả 1 plan) Kiểm thử tự động bằng một công cụ nhằm rút ngắn thời gian kiểm thử VD: QuickTest Professional (Sẽ nói rõ ở phần sau) 2. Mục đích: 2.1. Tại sao phải kiểm thử tự động? Trả lời: Giảm bớt công sức và thời gian thực hiện quá trình kiểm thử cho cả một test plan. Tăng độ tin cậy bởi vì có những việc kiểm thử con người khó có thể làm được hoặc quên. Giảm sự nhàm chán cho các tester khi đồng thời thực hiện các công việc kiểm thử Rèn luyện kỹ năng lập trình cho kiểm thử viên (KTV), VD điển hình là tạo ra các test scrip. Giảm chi phí cho tổng quá trình kiểm thử. 2.2. Khi nào thì kiểm thử tự động? (Test Tool) Test Tool trong lĩnh vực PTPM là công cụ giúp thực hiện việc kiểm tra PM một cách tự động. Tuy nhiên không phải mọi việc kiểm tra đều có thể tự động hóa, câu hỏi đặt ra là trong điều kiện hoặc tình huống nào dùng Test Tool là thích hợp? Việc dùng Test Tool thường được xem xét trong một số tình huống sau Không đủ tài nguyên: Khi số lượng Test Case quá nhiều mà KTV không thể hoàn tất trong thời gian cụ thể VD: Có thể lấy một dẫn chứng là khi thực hiện kiểm tra chức năng của một website. Website này sẽ được kiểm tra với 6 môi trường gồm 3 trình duyệt và 2 hệ điều hành. Tình huống này đòi hỏi số lần kiểm tra tăng lên và lặp lại 6 lần so với việc kiểm tra cho một môi trường cụ thể. Kiểm tra hồi quy: Trong quá trình PTPM, nhóm lập trình thường đưa ra nhiều phiên bản PM liên tiếp để kiểm tra. Thực tế cho thấy việc đưa ra các phiên bản PM có thể là hàng ngày, mỗi phiên bản bao gồm những tính năng mới, hoặc tính năng cũ được sửa lỗi hay nâng cấp. Việc bổ sung hoặc sửa lỗi code cho những tính năng ở phiên bản mới có thể làm cho những tính năng khác đã kiểm tra tốt chạy sai mặc dù phần code của
Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA KHOA HỌC MÁY TÍNH Nhóm KIỂM THỬ TỰ ĐỘNG - CHIẾN LƯỢC KIỂM THỬ (Thuộc slide 25 đến slide 31 – tài liệu Thầy gửi) Giảng viên: Nguyễn Đức Lưu Thực hiện: Nhóm - LT-CĐĐH-KHMT2-K2 Nguyễn Quốc Vượng (N Trưởng) Nguyễn Đức Khánh Trần Anh Tài Lê Thanh Hải (N Phó) Dương Anh Tuấn Nguyễn Thị Mai Hồng Nguyễn Thị Mai Dung (Thư ký) Nguyễn Đức Long Bùi Xuân Hùng Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Mục lục: LỜI NÓI ĐẦU I KIỂM THỬ TỰ ĐỘNG: Khái niệm kiểm thử tự động: Mục đích: .4 2.1 Tại phải kiểm thử tự động? Trả lời: 2.2 Khi kiểm thử tự động? (Test Tool) Phân loại kiểm thử tự động: 3.1 Công cụ kiểm thử tự động mã trình 3.2 Công cụ kiểm thử tự động liệu 3.3 Công cụ kiểm thử tự động cài đặt Quy trình kiểm thử tự động: 4.1 Khái quát quy trình: 4.2 Các bước trình KTTĐ: 4.3 Thuận lợi khó khăn: Giới thiệu công cụ KTTĐ: 5.1 QuickTest Pro: .10 5.1.1 Loại phần mềm hỗ trợ: .10 5.1.2 Đặc điểm: 10 5.1.3 Các thành phần quan trọng QTP: .12 5.1.4 Ngôn ngữ sử dụng viết Script: 13 5.1.5 Ví dụ: 13 5.2 Load Runner: .14 5.2.1 Tác dụng Load Runner (Test tool): 14 5.2.2 Thành phần Load Runner .14 5.2.3 Ngôn ngữ viết Script 14 5.2.4 Các bước thực Load Runner .15 II CHIẾN LƯỢC KIỂM THỬ (Testing strategy): .15 Định nghĩa: 15 1.1 Các loại kiểm thử: .15 1.2 Công cụ kiểm thử: .16 Một số chiến lược: .16 Yêu cầu chiến lược kiểm thử: 17 Các đặc trưng chiến lược kiểm thử: 18 Sự thích ứng chiến lược kiểm thử: 18 Sự đáp ứng chiến lược kiểm thử: 18 Quy trình kiểm thử: 18 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm LỜI NĨI ĐẦU Ngày tự động hóa ứng dụng nhiều lĩnh vực, mục đích thường đa dạng tùy theo nhu cầu đặc thù lĩnh vực, nhiên điểm chung giảm nhân lực, thời gian sai sót Ngành Công nghệ thông tin (CNTT) mà cụ thể phát triển phần mềm (PTPM) không ngoại lệ Như biết, để tạo sản phẩm CNTT hay phần mềm có chất lượng hoạt động kiểm tra phần mềm (KTPM) đóng vai trị quan trọng, hoạt động lại tiêu tốn chiếm tỷ trọng lớn công sức thời gian dự án Do vậy, nhu cầu tự động hoá qui trình KTPM đặt Mặt khác với tư cách nhà điều hành, công việc bạn đề chiến lược dẫn dắt doanh nghiệp bạn đến thành công thương trường Bạn cần đề chiến lược cho tiếp thị, kinh doanh, nghiên cứu phát triển, tài chính, cơng nghệ thông tin, nguồn nhân lực dịch vụ hỗ trợ Tại công ty phần mềm, thành cơng kinh doanh chiến lược kiểm thử thiết yếu chiến lược phát triển phần mềm Trong chương này, nhóm chúng em thảo luận công cụ hỗ trợ kiểm tra tự động trình bày để hỗ trợ cho trình kiểm tra chiến lược kiểm tra phần mềm để làm tốt cơng việc kiểm thử đảm bảo chất lượng phần mềm quy chuẩn tốt Nhóm - LT-CĐĐH-KHMT2-K2: Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm I KIỂM THỬ TỰ ĐỘNG: Khái niệm kiểm thử tự động: Kiểm thử tự động phần mềm (KTTĐ - Test Automation) là: Quá trình xử lý cách tự động bước thực test case (trong plan) Kiểm thử tự động công cụ nhằm rút ngắn thời gian kiểm thử VD: QuickTest Professional (Sẽ nói rõ phần sau) Mục đích: 2.1 Tại phải kiểm thử tự động? Trả lời: Giảm bớt công sức thời gian thực trình kiểm thử cho test plan Tăng độ tin cậy có việc kiểm thử người khó làm quên Giảm nhàm chán cho tester đồng thời thực công việc kiểm thử Rèn luyện kỹ lập trình cho kiểm thử viên (KTV), VD điển hình tạo test scrip Giảm chi phí cho tổng q trình kiểm thử 2.2 Khi kiểm thử tự động? (Test Tool) Test Tool lĩnh vực PTPM công cụ giúp thực việc kiểm tra PM cách tự động Tuy nhiên khơng phải việc kiểm tra tự động hóa, câu hỏi đặt điều kiện tình dùng Test Tool thích hợp? Việc dùng Test Tool thường xem xét số tình sau Khơng đủ tài ngun: Khi số lượng Test Case nhiều mà KTV hồn tất thời gian cụ thể VD: Có thể lấy dẫn chứng thực kiểm tra chức website Website kiểm tra với mơi trường gồm trình duyệt hệ điều hành Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Tình địi hỏi số lần kiểm tra tăng lên lặp lại lần so với việc kiểm tra cho môi trường cụ thể Kiểm tra hồi quy: Trong q trình PTPM, nhóm lập trình thường đưa nhiều phiên PM liên tiếp để kiểm tra Thực tế cho thấy việc đưa phiên PM hàng ngày, phiên bao gồm tính mới, tính cũ sửa lỗi hay nâng cấp Việc bổ sung sửa lỗi code cho tính phiên làm cho tính khác kiểm tra tốt chạy sai phần code khơng chỉnh sửa Để khắc phục điều này, phiên bản, KTV không kiểm tra chức sửa, mà phải kiểm tra lại tất tính kiểm tra tốt trước Điều khó khả thi mặt thời gian kiểm tra thủ công VD: Trình duyệt: IE, Netscape, Opera, Fire Fox, Google Chrome Kiểm tra khả vận hành phần mềm môi trường đặc biệt: Đây kiểm tra nhằm đánh giá xem vận hành PM có thỏa mãn yêu cầu đặt hay khơng Thơng qua KTV xác định yếu tố phần cứng, phần mềm ảnh hưởng đến khả vận hành PM Có thể liệt kê số tình kiểm tra tiêu biểu thuộc loại sau: Đo tốc độ trung bình xử lý yêu cầu Web server Thiết lập 1000 yêu cầu, đồng thời gửi đến web server, kiểm tra tình 1000 người dùng truy xuất web lúc Xác định số yêu cầu tối đa xử lý web server xác định cấu hình máy thấp mà tốc độ xử lý PM hoạt động mức cho phép Xác định cấu hình máy thấp mà PM hoạt động tốt Việc kiểm tra thủ cơng cho tình cực khó, chí "vơ phương" - Cần lưu ý hoạt động KTTĐ nhằm mục đích kiểm tra, phát lỗi PM trường hợp đoán trước Điều có nghĩa thường Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Cơng cụ kiểm thử tự động – Chiến lược kiểm thực sau thiết kế xong tình (test case) Tuy nhiên, nói, khơng phải trường hợp kiểm tra cần thiết phải tự động hóa, tất test case KTV phải đánh giá chọn test case phù hợp cần thiết để áp dụng KTTĐ dựa tiêu chí đề cập bên Phân loại kiểm thử tự động: Vì kiểm thử phần mềm thường chiếm tới 40% tất nổ lực dành cho dự án xây dựng phần mềm, nên cơng cụ làm giảm thời gian kiểm thử (khơng làm giảm tính kỹ lưỡng) có giá trị Thừa nhận lợi ích tiềm này, nhà nghiên cứu người thực hành phát triển số hệ công cụ kiểm thử tự động: 3.1 Công cụ kiểm thử tự động mã trình Bộ phân tích tĩnh: Các hệ thống phân tích chương trình hỗ trợ cho "việc chứng minh" lý lẽ tĩnh - mệnh đề yếu cấu trúc định dạng chương trình Bộ kiểm tốn mã: Những lọc chun dụng dùng để kiểm tra chất lượng phần mềm để đảm bảo đáp ứng chuẩn mã hoá tối thiểu Bộ xử lý khai báo: Những hệ thống tiền xử lý/hậu xử lý sử dụng biết liệu phát biểu người lập trình nêu, gọi khẳng định, hành vi chương trình có thực đáp ứng việc thực chương trình thực hay không 3.2 Công cụ kiểm thử tự động liệu Bộ sinh tệp kiểm thử: Những xử lý sinh ra, điền giá trị xác định, vào tệp đọc vào điển hình cho chương trình kiểm thử Bộ sinh liệu kiểm thử: Những hệ thống phân tích tự động hỗ trợ cho người dùng việc chọn liệu kiểm thử làm cho chương trình hành xử theo cách đặc biệt Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Bộ xác minh kết quả: Những công cụ đo mức bao quát kiểm thử bên trong, thường diễn tả dạng có liên quan tới cấu trúc điều khiển vật kiểm thử, báo cáo giá trị bao quát cho chuyên gia đảm bảo chất lượng 3.3 Công cụ kiểm thử tự động cài đặt Các trợ giúp cho trình kiểm thử: Các cơng cụ hỗ trợ cho việc xử lý phép kiểm thử cách làm gần khơng khó khăn để: Thiết lập chương trình ứng cử viên mơi trường kiểm thử Ni chương trình liệu vào Mô cuống cho hành vi module phụ Bộ so sánh đầu Công cụ làm cho người ta so sánh tập từ chương trình với tập khác (đã lưu giữ trước) để xác định khác biệt chúng Hệ tiến hành ký hiệu: Công cụ thực việc kiểm thử chương trình cách dùng vào đại số, thay giá trị liệu số Phần mềm kiểm thử xuất để kiểm thử lớp liệu, thay trường hợp kiểm thử đặc biệt Cái đại số so sánh với kết trông đợi xác định dạng đại số Bộ mô môi trường Công cụ hệ thống dựa máy tính giúp người kiểm thử mơ hình hố mơi trường bên ngồi phần mềm thời gian thực mô điều kiện vận hành thực cách động Bộ phân tích dịng liệu Công cụ theo dõi dấu vết luồng liệu qua hệ thống (tương tự nhiều khía cạnh với phân tích đường đi) cố gắng tìm tham khảo liệu khơng xác định, đặt số sai lỗi khác có liên quan tới liệu Hiện việc dùng cơng cụ tự động hố cho kiểm thử phần mềm phát triển, ứng dụng phát triển nhanh thập kỷ tới Các cơng cụ kiểm thử gây thay đổi lớn cách kiểm thử phần mềm cải tiến độ tin cậy hệ thống dựa máy tính Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Quy trình kiểm thử tự động: 4.1 Khái quát quy trình: Hình Cho thấy: Kiểm thử tự động (KTTĐ) giống phát triển dự án Mối tương quan Kiểm thử tự động với toàn chu trình Kiểm thử phần mềm 4.2 Các bước trình KTTĐ: Xây dựng yêu cầu: Thu thập đặc tả yêu cầu xây dựng Test Case, lựa chọn phần cần KTTĐ Phân tích, thiết kế: Xây dựng mơ hình phát triển KTTĐ Phát triển TestScript: Tạo TestScript > Chỉnh sửa TestScript > Chạy TestScript > Test Report Đánh giá kết quả: Thông qua Test Report Bảng sau mô tả rõ bước phát triển tiến tới đánh giá: STT Bước thực Mô tả Tạo test script Giai đoạn dùng test tool để ghi lại thao tác lên PM cần kiểm tra tự động sinh test script Chỉnh sửa test script Chỉnh sửa để test script thực kiểm tra theo yêu cầu đặt ra, cụ thể làm theo test case cần thực Chạy test script để Giám sát hoạt động kiểm tra PM test script KTTĐ Đánh giá kết Kiểm tra kết thơng báo sau thực KTTĐ Sau bổ sung, chỉnh sửa sai sót Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm 4.3 Thuận lợi khó khăn: Thuận lợi • KTPM khơng cần can thiệp KTV • Giảm chi phí thực kiểm tra số lượng lớn test case test case lặp lại nhiều lần • Giả lập tình khó thực tay Khó khăn • Mất chi phí tạo script để thực KTTĐ • Tốn chi phí dành cho bảo trì script • Địi hỏi KTV phải có kỹ tạo script KTTĐ • Khơng áp dụng việc tìm lỗi PM Giới thiệu công cụ KTTĐ: Trong lĩnh vực KTTĐ có nhiều Test Tool thương mại tiếng, phổ biến QuickTest Professional, WinRunner, Rational Robot, SilkTest, JTest, Trong số đó, QuickTest Professional (QTP) phiên 8.2 hãng Mercury tốt mạnh, bao gồm nhiều chức điển hình cơng cụ kiểm tra tự động Lưu ý QTP 8.2 có tên Mercury Functional Testing 8.2 (Hiện hãng HP mua lại Mercury cho phiên thứ 10) QuickTest Professional (QTP): Để kiểm tra chức (Functional Test) thực kiểm tra hồi quy (Regression Test) cách tự động Đây công cụ áp dụng phương pháp Keyword-Driven, kỹ thuật scripting (lập trình KTTĐ) đại, cho phép KTV bổ sung test case cách tạo file mơ tả cho mà khơng cần phải chỉnh sửa hay bổ sung script Nó phù hợp tình chuyển giao cơng việc mà người tiếp nhận chưa có thời gian khơng hiểu script thực kiểm tra PM theo yêu cầu LoadRunner (LR): Kiểm tra Hiệu phần mềm (Performance test) (Load Test Stress Test) VD: Test Tool F-Soft Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Sau nói kỹ phần mềm Test Tool này: 5.1 QuickTest Pro: QTP giúp KTPM theo hướng chức nhiều loại chương trình phần mềm khác Tuy nhiên Mercury hỗ trợ sẵn số loại chương trình thơng dụng như: • Ứng dụng Windows chuẩn/Win32 • Ứng dụng web theo chuẩn HTML, XML chạy trình duyệt Internet Explorer, Netscape , Firefox, AOL • Visual Basic • ActiveX • QTP hỗ trợ Unicode (UTF-8, UTF-16) 5.1.1 Loại phần mềm hỗ trợ: Một số loại chương trình khác địi hỏi phải cài đặt thêm thành phần bổ sung QTP thực kiểm tra Các loại chương trình là: NET • NET Framework 1.0, 1.1, 2.0 beta • Các đối tượng chuẩn NET đối tượng khác thừa kế từ đối tượng chuẩn Java • Sun JDK 1.1 – 1.4.2 • IBM JDK 1.2 – 1.4 Oracle • Oracle Applications 11.5.7, 11.5.8, 11.5.9 People Soft • PeopleSoft Enterprise 8.0 – 8.8 SAP • SAP GUI HMTL 4.6D, 6.10, 6.20 • SAP Workplace 2.11 • SAP Enterprise Portal 5.0 Siebel • Siebel 7.0, 7.5, 7.7 Terminal Emulators • Attachmate EXTRA! 6.7, 7.1 • Attachmate EXTRA! Terminal Viewer 3.1 Java sessions • IBM Personal Communications • 5.1.2 Đặc điểm: Dễ sử dụng, bảo trì, tạo test script nhanh Cung cấp liệu kiểm tra rõ ràng dễ hiểu Kiểm tra phiên ứng dụng với thay đổi Ví dụ ứng dụng thay đổi nút tên "Login" thành "Đăng nhập", cần cập nhật lại Object Repository (OR - giải thích phần sau) để QTP nhận thay đổi mà khơng cần thay đổi test script 10 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Hỗ trợ làm việc theo nhóm thơng qua chia sẻ thư viện, thống quản lý Object Repository Thực tế cho thấy, QTP thực KTTĐ nhiều trình duyệt lúc tốt TT khác Với chức Recovery Scenarios, QTP cho phép xử lý kiện lỗi khơng thể đốn trước làm script bị dừng chạy QTP có khả hiểu test script Mercury Winrunner (một công cụ kiểm tra khác Mercury) Đặc biệt phiên v.8.2 có số tính bật: Quản trị Object Repository Phối hợp KTV qua việc đồng hóa liệu, khả trộn, nhập/xuất file XML Thư viện hàm Chia sẻ thư viện hàm nhóm KTV Kiểm tra tài nguyên Kiểm tra tài nguyên cần thiết trước thực thi lệnh kiểm tra tự động Nâng cấp khả kéo thả Hỗ trợ XML cho báo cáo Trình phát triển (IDE) Kéo thả bước kiểm tra môi trường ngôn ngữ tự nhiên Lưu trữ kết kiểm tra dạng XML, HTML, từ cho phép tùy biến báo cáo Môi trường soạn thảo mới, mềm dẻo cho tùy biến sử dụng Trình dị lỗi Cho phép KTV kiểm soát lỗi viết test case Quản trị từ khóa Quản lý từ khóa q trình sử dụng Hỗ trợ đa giao tiếp Cho phép người dùng mở soạn thảo đồng thời nhiều hàm thư viện Object Repository Hỗ trợ Unicode Hỗ trợ Unicode với ứng dụng đa ngôn ngữ (multi-language) Hỗ trợ môi trường < CRM ERP dụng ứng Explorer Internet bit, 64 XP Windows 2, Flex Macromedia 8, Netscape 1.5, Firefox 2.0, NET web, vụ dịch trợ Hỗ •> 11 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Hình Chú thích: Khu vực Chức Menu bar Cấu hình thao tác với QTP script File toolbar Hỗ trợ quản lý script Debug toolbar Hỗ trợ kiểm tra lỗi test script (debug) Testing toolbar Hỗ trợ trình tạo test script thực KTTĐ Action toolbar Xem Action (thủ tục, hàm) toàn chu trình test script Test pane Soạn thảo script chế độ Keyword View Expert View Data Table Nơi lưu trữ liệu cho test script Active Screen Xem lại giao diện PM kiểm tra 5.1.3 Các thành phần quan trọng QTP: Action: Giống thủ tục hay hàm ngơn ngữ lập trình khác, Action ghi lại bước thực KTTĐ sử dụng lại nhiều lần Trong test script có nhiều Action DataTable: Nơi lưu liệu phục vụ cho KTTĐ Một test script có DataTable dùng chung cho tất Action Bên cạnh Action có DataTable cho riêng Object Repository (OR): Cấu trúc theo dạng cây, mô tả đối tượng PM kiểm tra Đây xem cầu nối để test script tương tác với PM kiểm tra Khi lệnh cho QTP ghi lại thao tác người dùng lên PM OR tự động phát sinh thành phần đại diện cho đối tượng PM vừa thao tác OR tổ chức thành loại, loại dùng chung nhiều test script, loại khác dùng theo Action Để xem OR, chọn menu Tools > Object Repository Checkpoint: Có thể hiểu nơi kiểm tra test script, chạy thực so sánh kết thực tế kiểm tra PM với kết mong đợi Sau tiến hành so sánh QTP tự động ghi lại kết vào Test Results (nơi lưu kết chạy test script) 12 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm 5.1.4 Ngôn ngữ sử dụng viết Script: QTP sử dụng ngôn ngữ VBScript để viết test script Đây ngôn ngữ dễ học; giống ngôn ngữ VBA Chế độ Expert View QTP chế độ soạn thảo dành cho VBScript Chế độ Keyword View để quản lý đối tượng Chi tiết ngôn ngữ VBScript, người đọc dễ dàng tìm sách có thị trường, chí phần help QTP QTP hỗ trợ việc sử dụng cấu trúc lớp hàm để quản lý Test Case, VD: Class NameClass End sub Constructor Public sub Run() Private Sub Class_Terminate End sub End sub Constructor Private Sub Class_Initialize End class Sử dụng RegisterUserFunc để đăng ký hàm với QTP, tạo thư viện hàm để sử dụng lại dự án khác 5.1.5 Ví dụ: Thực Test cho cửa sổ Login phần mềm “Đặt vé máy bay” (Flight Reservation) có sử dụng test tự động 13 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Hình Giải quyết: Từ đặc tả yêu cầu > xây dựng Test Case Chọn Test Case cần kiểm thử tự động Thực tạo Test Script Chạy Script Đưa Test Report 5.2 Load Runner: 5.2.1 Tác dụng Load Runner (Test tool): Xác định thời gian đáp ứng có nhiều người người dùng Xác định biểu đồ chiếm tài nguyên phần mềm có nhiều người dùng Xác định khả phân tải, khả phục hồi PM gặp cố Kiểm tra việc thực giao dịch có bị sai lệch có nhiều người làm giống thao tác 5.2.2 Thành phần Load Runner Virtual User Generator Controller Load Generator Analysis Launcher 5.2.3 Ngôn ngữ viết Script Script LR tự động sinh ngôn ngữ C Hỗ trợ thêm: Java, Visual Basic Ngồi cịn hỗ trợ: API Hàm web_url( ): Hàm web_submit_form( ): 14 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Cơng cụ kiểm thử tự động – Chiến lược kiểm Hàm web_image( ): 5.2.4 Các bước thực Load Runner Recording (Ghi nhận): Replay (Phát lại): Enhancements (Nâng cao): Prepare For Load (Chuẩn bị thực thi): Finish (Kết thúc): II CHIẾN LƯỢC KIỂM THỬ (Testing strategy): Định nghĩa: Một chiến lược kiểm thử phần mềm tích hợp kỹ thuật thiết kế ca kiểm thử tạo thành kế hoạch gồm dãy bước để hướng dẫn trình kiểm thử phần mềm thành cơng Nó đưa đồ đường để: Nhà phát triển tổ chức bảo đảm chất lượng Khách hàng: biết phần việc kiểm thử với công sức, thời gian nguồn lực cần thiết Một định nghĩa khác ngắn gọn hơn: Chiến lược kiểm thử (Test Strategy) trình bày phương pháp để kiểm thử ứng dụng phần mềm 1.1 Các loại kiểm thử: Bảng lọai kiểm thử tiến hành phục vụ cho mục đích khác thơng qua giai đọan dự án, bao gồm units, intergrated units, application and system Giai đọan Giai đoạn Unit Test Liệt kê lọai hình (cách thức) kiểm thử giai đọan Integration Test Liệt kê lọai hình (cách thức) kiểm thử giai đọan System Test Liệt kê lọai hình (cách thức) kiểm thử giai đọan Giai đọan 15 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm 1.2 Công cụ kiểm thử: Các công cụ sau dùng cho dự án Công cụ Nhà sản xuất/ Tự phát triển Phiên Quản lý họat động kiểm thử Kiểm soát lỗi Kiểm thử chức Kiểm thử hoạt động Quản lý dự án Các công cụ quản trị CSDL Một số chiến lược: 2.1 Kiểm thử từ lên (Bottom-up testing – PP Tích hợp) Là q trình tích hợp kiểm thử với mô đun mức độ thấp trước Thông thường người ta không túy kiểm thử tất mô đun tầng mà nhóm mơ đun thành nhóm chức năng, tích hợp kiểm thử chúng theo nhóm Kiểm thử lên có số ưu điểm: - Tránh phải tạo stub phức tạp hay tạo kết nhân tạo - Thuận tiện cho phát triển mô đun thứ cấp dùng lại Nhược điểm phương pháp bottom-up: - Phát chậm lỗi thiết kế - Chậm có phiên thực hệ thống 2.2 Kiểm thử từ xuống (Top down testing – PP Tích hợp) Kiểm thử xuống tiến hành kiểm thử với mô đun mức cao trước, mô đun mức thấp tạm thời phát triển với chức hạn chế Thông thường, để sớm có phiên thực người ta thường tích hợp theo nhánh mơ đun cấp thấp Ưu điểm kiểm thử xuống Phát sớm lỗi thiết kế Có phiên hoạt động sớm 16 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Nhược điểm kiểm thử xuống Khó mơ chức mơ đun cấp thấp phức tạp Không kiểm thử đầy đủ chức Trên thực tế người ta thường tìm cách phối hợp hai chiến lược này, gọi sandwich testing 2.3 Kiểm thử vụ nổ lớn (Big bang –tích hợp) - Kiểm thử big bang (big bang testing) chiến lược kiểm thử hệ thống tiến hành lần phát triển toàn mơ đun tích hợp thành phần mềm hồn chỉnh - Phương pháp thường tiến hành phát triển phần mềm có kích thước nhỏ 2.4 Kiểm thử hồi quy (Regression testing - Quá trình tích hợp) - Là tiến hành lại phép thử thành cơng tích hợp thêm mơ đun cập nhật mã nguồn chương trình - Khi tích hợp thêm mơ đun vào hệ thống tiến hành nâng cấp chương trình tạo số tổ hợp trạng thái dẫn đến: - Xuất lỗi mô đun trước chưa gây lỗi - Khắc phục lỗi làm ảnh hưởng tới lỗi sửa - Sinh lỗi mà trước chưa có 2.5 Kiểm thử luồn sợi (Hệ thời gian thực – Nhóm trình bày) Yêu cầu chiến lược kiểm thử: Phải tích hợp việc lập kế hoạch thử nghiệm, việc thiết kế ca kiểm thử, việc tiến hành kiểm thử việc thu thập đánh giá thông tin kết Đủ mềm dẻo để cổ vũ óc sáng tạo, đáp ứng yêu cầu khách hàng (mà tất hệ thống lớn dựa máy tính cần kiểm thử tương xứng) Kiểm thử tập hoạt động lập kế hoạch trước tiến hành cách có hệ thống Chính mà cần xác định khuôn mẫu (template) kiểm thử phần mềm tiến trình kỹ nghệ phần mềm 17 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Môn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Chiến lược kiểm thử phải thích ứng với mức kiểm thử cụ thể Chiến lược kiểm thử phải đáp ứng đối tượng quan tâm khác Các đặc trưng chiến lược kiểm thử: Bắt đầu mức mô đun tiếp tục tích hợp mức hệ thống dựa máy tính trọn vẹn Các kỹ thuật kiểm thử khác thích hợp cho thời điểm khác Được người phát triển nhóm kiểm thử độc lập tiến hành kiểm thử trước gỡ lỗi, song việc gỡ lỗi phải thích ứng với chiến lược kiểm thử Sự thích ứng chiến lược kiểm thử: Chiến lược cần thích ứng với mức kiểm thử: Kiểm thử mức thấp: xác minh khúc mã nguồn, có tương ứng thực thi đắn không? Kiểm thử mức cao: xác minh thẩm định chức hệ thống chủ yếu có đặc tả đáp ứng yêu cầu khách hàng không? Sự đáp ứng chiến lược kiểm thử: Mỗi chiến lược đáp ứng yêu cầu người quan tâm: Có hướng dẫn cho người thực tiến hành kiểm thử Có cột mốc cho nhà quản lý kiểm soát hoạt động đảm bảo chất lượng Có thước đo để nhận vấn đề sớm tốt khách hàng nhận biết trình kiểm thử Quy trình kiểm thử: Là trình tự thực kiểm tra hệ thống phần mềm từ có yêu cầu kiểm tra sản phẩm thông báo phát hành Các bước thực hiện: Lập kế hoạch kiểm tra Chuẩn bị môi trường kiểm tra 18 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Mơn CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Thiết kế kiểm tra Thực kiểm tra Theo dõi xử lý lỗi Thống kê báo cáo kết kiểm tra Thơng báo phát hành sản phẩm 19 Nhóm – Lớp LT-CĐĐH-KHMT2-K2 Các bước Lập kế hoạch kiểm tra Đầu vào - Kế hoạch dự án - Tài liệu SRD, SRS, HLD - Các tài liệu mô tả nghiệp vụ Mơ tả - Nhóm dự án cung cấp tài liệu có liên quan cho nhóm PQA - Nhóm PQA nghiên cứu yêu cầu, thời gian nội dung yêu cầu nhận để định bước - Nhóm PQA chuẩn bị nhân lực đào tạo nhân lực cần thiết phục vụ cho nhu cầu dự án Công việc - Tiếp nhận yêu cầu kiểm tra - Tham gia trình phân tích xác định yêu cầu Kết - Kế hoạch kiểm tra phê duyệt - Tiếp nhận tài liệu Người thực - Cán PQA - Trưởng nhóm PQA - Giám đốc dự án - Lập kế hoạch kiểm tra - Trình phê duyệt kế hoạch kiểm tra - Phổ biến kế hoạch kiểm tra phê duyệt - Phổ biến kế hoạch kiểm tra phê duyệt Chuẩn bị môi trường kiểm tra - Kế hoạch kiểm tra - Tài liệu SRD, SRS, HLD - Tài liệu nghiệp vụ - Cán kiểm tra có trách nhiệm hỗ trợ với bên kỹ thuật để chuẩn bị môi trường thực tế hay giả lập cho dự án trước tiến hành kiểm tra - Xây dựng công cụ tạo liệu, kiểm tra sở liệu - Tạo liệu kiểm tra hệ thống cho chương trình - Xây dựng mơi trường phần cứng - Xây dựng môi trường phần mềm - Môi trường kiểm tra sẵn sàng - Cán PQA - Trưởng nhóm PQA Các bước Thiết kế kiểm tra Thực kiểm tra Đầu vào Mô tả - Tài liệu SRD,SRS, HDL - Đưa tình kiểm tra - Prototype (nếu có) - Việc lập tình kiểm tra cán kiểm tra đảm nhiệm, q trình lập tình trưởng nhóm kiểm tra thường xuyên xem xét, sửa đổi, cập nhật cần - Kế hoạch kiểm tra - Đây giai đoạn quan trọng tồn quy trình kiểm thử phần mềm - Tình kiểm tra - Mơi trường kiểm tra sẵn sàng - Các công việc kiểm tra cần rõ phần mềm đáp ứng chưa đáp ứng yêu cầu nào, có lỗi Cơng việc - Phân tích u cầu - Lập tình kiểm tra Kết - Tình kiểm tra phê duyệt Người thực - Cán PQA - Trưởng nhóm PQA - Giám đốc dự án - Tạo liệu mô - Thực tình kiểm tra - Ghi nhận lỗi - Báo cáo kết kiểm tra - Tình cập nhật (nếu có) - Cán kiểm tra - Trưởng nhóm PQA - Quản trị dự án - Việc thực tình kiểm tra cán kiểm tra đảm nhiệm, q trình thực kiểm tra Trưởng nhóm kiểm tra thường xuyên xem xét (nếu cần) Theo dõi - Báo cáo kết - Phân tích, tổng hợp lỗi - Thơng báo tình trạng lỗi u - Có phiên - Cán kiểm tra Các bước xử lý lỗi Đầu vào kiểm tra - Tình kiểm tra Mơ tả để gửi tới nhóm phát triển triển tiến hành sửa đổi cập nhật - Cơng việc Trưởng nhóm kiểm tra đảm nhiệm kết hợp với bên phát triển PM Cơng việc cầu nhóm phát triển khắc phục - Theo dõi tiến độ xử lý lỗi - Báo cáo kết kiểm tra lỗi Kết Người thực sau sửa lỗi - Trưởng nhóm PQA - Cập nhật tình kiểm tra có lỗi phát sinh - Quản trị dự án - Nhóm phát triển - Cập nhật liệu vào công cụ kiểm tra - Kết xử lý lỗi phát Thống kê - Kế hoạch báo cáo kiểm tra kết - Tình kiểm tra kiểm tra - Báo cáo ghi nhận lỗi xử lý lỗi - Nhóm kiểm tra thống kê số lượng lỗi, loại lỗi gặp phải, làm báo cáo kết kiểm tra hệ thống phần mềm - Thống kê lỗi, lỗi phát sinh - Báo cáo kết kiểm tra hệ thống phần mềm - Nhóm PQA có trách nhiệm chuyển kết kiểm tra yêu cầu phát sinh cho Quản trị dự án để giảm rủi ro phát sinh - Báo cáo kết kiểm tra hệ thống phần mềm - Cán PQA - Trưởng nhóm PQA - Quản trị dự án - Chuẩn bị thủ tục phát hành sản phẩm Thông báo - Tài liệu SRS, - Đây bước cuối - Làm thủ tục thông báo phát - Biên thông báo - Trưởng nhóm Các bước Đầu vào phát hành sản phẩm SRD - Kế hoạch kiểm tra Mô tả Cơng việc trình kiểm tra nhằm mục đích hành thơng báo sản phẩm phần mềm đạt yêu cầu sẵn sàng chuyển giao cho khách hàng - Báo cáo kết kiểm tra phần mềm - Tình kiểm tra cập nhật Chú thích: PQA Bảo đảm chất lượng quy trình (Process Quality Assurance) Kết phát hành sản phẩm Người thực PQA - Quản trị dự án BẢNG PHÂN CƠNG NHIỆM VỤ (Nhóm – LTKHMT2K2) STT Thành viên Cơng việc Hồn thành Nguyễn Quốc Vượng Phân chia phần tìm tài liệu cho thành viên, tìm 15-10-2009 (Nhóm trưởng) tài liệu bổ sung, đôn đốc bạn, lọc tài liệu lần 1, Nguyễn Đức Khánh ghép thành viên Tìm hiểu kiểm thử tự động, Tìm hiểu 12-10-2009 Trần Anh Tài Lê Thanh Hải phần mềm kiểm thử tự động Tìm hiểu kiểm thử tự động Tìm tài liệu bổ sung, tạo Slide thuyết trình, kiểm 12-10-2009 19-10-2009 (Nhóm phó & Thuyết tra hồn thành báo cáo, lọc tài liệu lần 2, thuyết Ver.1 trình) trình 25-10-2009 Bùi Xuân Hùng Nguyễn Thị Mai Hồng Nguyễn Thị Mai Dung Tìm hiểu kiểm thử tự động Tìm hiểu chiến lược kiểm thử Tìm hiểu chiến lược kiểm thử, ghi lại câu Ver.2 12-10-2009 12-10-2009 12-10-2009 (Thư ký) Nguyễn Đức Long Dương Anh Tuấn hỏi bạn lớp Tìm hiểu phần mềm kiểm thử tự động Tìm hiểu chiến lược kiểm thử 12-10-2009 12-10-2009 ... CNPM-NC thử Công cụ kiểm thử tự động – Chiến lược kiểm Chiến lược kiểm thử phải thích ứng với mức kiểm thử cụ thể Chiến lược kiểm thử phải đáp ứng đối tượng quan tâm khác Các đặc trưng chiến lược. .. kiểm thử tự động? Trả lời: 2.2 Khi kiểm thử tự động? (Test Tool) Phân loại kiểm thử tự động: 3.1 Công cụ kiểm thử tự động mã trình 3.2 Công cụ kiểm thử tự động liệu... Yêu cầu chiến lược kiểm thử: 17 Các đặc trưng chiến lược kiểm thử: 18 Sự thích ứng chiến lược kiểm thử: 18 Sự đáp ứng chiến lược kiểm thử: 18 Quy trình kiểm thử: