Software Testing and Quality Assurance - Lecture 9: Web-Base Application Testing - Đào Nam Anh

► Test Browser ► Môi trường web ► Performance Testing ► Công cụ Load Runner ► Webservice Testing ► Regresstion Testing ► Coverage Testing ► Automation Test Web-Base Application Testing Test Browser: ► Kiểm tra tương thích trình duyệt (Test Browser) là kiểm tra: ► + Trang web hiển thị tốt? ► + Trang web hoạt động đúng trên các trình duyệt khác nhau? ► + Trang web hoạt động đúng trên các trình duyệt ở các phiên bản khác nhau? ► + Trang web hoạt động đúng trên các trình duyệt trên các hiệu điều hành khác nhau? ► Nguyên nhân: ► + Mỗi trình duyệt có cấu hình, cách thiết lập và các hiển thị khác nhau. ► + Một trang web có thể hiển thị tốt ở trình duyệt này nhưng không tốt ở trình duyệt khác.

pdf22 trang | Chia sẻ: candy98 | Lượt xem: 502 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Software Testing and Quality Assurance - Lecture 9: Web-Base Application Testing - Đào Nam Anh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1Software Testing and Quality Assurance Web-Base Application Testing Dr. Dao Nam Anh Faculty of Information Technology University of Technology and Management 2Resources ► Pressman, Software Engineering, McGraw Hill (chapter 18 & 19) ► Sommerville, Software Engineering, Addison-Wesley (chapter 22 & 23) ► Software Testing and QA Theory and Practics, Chapter 7, WILEY Publish ► Foundations Of Software Testing, Istqb Certification, Dorothy Graham, Erik Van Veenendaal, Isabel Evans, Rex Black ► Jovanović, Irena, Software Testing Methods and Techniques ► Lâm Quang Vũ, 3Nội dung ► Test Browser ► Môi trường web ► Performance Testing ► Công cụ Load Runner ► Webservice Testing ► Regresstion Testing ► Coverage Testing ► Automation Test 4Web-Base Application Testing Test Browser: ► Kiểm tra tương thích trình duyệt (Test Browser) là kiểm tra: ► + Trang web hiển thị tốt? ► + Trang web hoạt động đúng trên các trình duyệt khác nhau? ► + Trang web hoạt động đúng trên các trình duyệt ở các phiên bản khác nhau? ► + Trang web hoạt động đúng trên các trình duyệt trên các hiệu điều hành khác nhau? ► Nguyên nhân: ► + Mỗi trình duyệt có cấu hình, cách thiết lập và các hiển thị khác nhau. ► + Một trang web có thể hiển thị tốt ở trình duyệt này nhưng không tốt ở trình duyệt khác. 5Web-Base Application Testing Môi trường web: 6Web-Base Application Testing Môi trường web: 7Web-Base Application Testing Performance Testing: ►Là một phương pháp kiểm tra tự động nhằm xác định tốc độ, khả năng phân tải và mức độ tin tưởng của phần mềm trong môi trường nhiều người dùng, có nhiều hoạt động khác nhau. ►Bao gồm Load test và Stress test. 8Web-Base Application Testing Performance Testing: ►Load Test: + Là một phần trong qui trình thực hiện Performance Testing. + Dùng công cụ kiểm tra tự động để kiểm tra phần mềm ở điều kiện liên tục tăng mức độ chịu tải. Tuy nhiên ở mức độ chịu tải cao nhất, chức năng phần mềm vẫn hoạt động đúng. 9Web-Base Application Testing Performance Testing: Stress Testing + Sử dụng các dữ liệu lớn, số người sử dụng lớn, số giao dịch lớn, tệp kích thước lớn Mức tới hạn của hệ thống (mức tải khiến hệ thống ngừng hoạt động) Phản ứng của hệ thống khi đạt mức tới hạn + biến thiên của thời gian phản hồi + độ an toàn của dữ liệu,... Các tổ hợp điều kiện khiến hệ ngừng hoạt động + OS, phần mềm, phần cứng,... 10 Web-Base Application Testing Công cụ Load Runner: ► Là một công cụ kiểm tra tự động hiệu năng của một phần mềm. ► Tìm ra lỗi về khả năng thực thi của phần mềm. ► Là phần mềm mạnh cho phép kiểm tra tải, phát hiện lỗi và đưa ra phương pháp cải tiến. ► Vì có tính năng tự động phát sinh Test Script mô tả lại các tình huống muốn kiểm tra nên tiết kiệm được thời gian. 11 Web-Base Application Testing Công cụ Load Runner: Tính năng: + Dễ sử dụng, giúp các kĩ thuật viên tiết kiệm rất nhiều thời gian trong việc thực hiện Performance Test (đặc biệt trong kiểm tra hồi quy). + Dễ sử dụng, bảo trì, tạo Test Script nhanh, cung cấp dữ liệu, kiểm tra rõ ràng và dễ hiểu. + Kiểm tra phiên bản mới của ứng dụng với rất ít sự thay đổi. + Hỗ trợ làm việc nhóm thông qua chia sẻ thư viện, thống nhất quản lý. 12 Web-Base Application Testing Công cụ Load Runner: ► Các thành phần cơ bản của LoadRunner + Virtual User Generator: lưu thao tác người dùng. + Controller: giám sát hoạt động, tạo tình huống. + Load Generator: giả lập hàng ngàn người dùng. + Analysis: phân tích, so sánh kết quả. + Launcher: nơi tập trung các thành phần của Load runner. 13 Web-Base Application Testing Webservice Testing: Web services có bản chất phân tán. Tool: + HP Service Test: kiểm thử phần mềm dựa trên kiến trúc hướng dịch vụ (SOA). + soapUI: test chức năng tự động, test hồi quy và load test. 14 Web-Base Application Testing Regresstion Testing: ►Lặp lại test sau khi có thay đổi. ►Yếu điểm: làm cùng một thứ nhiều lần, hầu hết lỗi nằm trong lúc tạo test, các test hay gặp tác dụng phụ, tự động hóa giảm tính biến đổi của test, chỉ có việc kiểm tra các thứ được lập trình trong bài test. ►Các loại: test hồi quy theo thủ tục, test hồi quy hướng rủi ro, test hồi quy GUI tự động 15 Automation Tools & Coverage Tools Coverage Testing: ► Coverage Testing là một phương pháp trong kiểm thử phần mềm. Nó xác định mã nguồn của chương trình đã được test đến mức nào. ► Phân tích code coverage là quá trình tìm xem những vùng nào của chương trình chưa được kiểm tra bởi các test case, và tạo thêm những bộ test case để tăng tính phủ, và đo lường chất lượng của phủ code. ► Bản chất của Coverage Testing là thẩm định chất lượng của các phương pháp test khác. ► Là một hình thức kiểm tra hộp trắng vì nó phân tích mã nguồn trực tiếp. 16 Automation Tools & Coverage Tools Các tiêu chuẩn coverage cơ bản: ► Statement Coverage: xác định xem mỗi câu lệnh trong chương trình có được thực thi ít nhất 1 lần hay không. Có thể chỉ cần 1 test case. Phủ nhánh và phủ quyết định thì phủ luôn dòng lệnh. ► Function Coverage: xác định mỗi hàm trong chương trình phải được gọi ít nhất 1 lần. ► Decision Coverage: kiểm tra mỗi quyết định được kết luận đúng hay sai ít nhất 1 lần. Nói cách khác: mỗi hướng phân nhánh phải được xem xét ít nhất 1 lần (một mệnh đề if là một quyết định). ► Condition Coverage: điều kiện trong một quyết định đảm nhận các kết quả có thể có ít nhất 1 lần (các điều kiện trong một mệnh đề if, 1TC cho tất cả true và 1 TC cho tất cả false). 17 Automation Tools & Coverage Tools Các tiêu chuẩn coverage cơ bản: ► Path Coverage: có n đường thì cần n TC (một if là 2 đường). ► Basic Path Coverage: chọn một path làm cơ sở (như true- true-true). Thay đổi từng quyết định, kết quả có thêm 3 path. Tổng cộng có 4 path, thay vì 8 path như phương pháp trên. ► Condition/Decision coverage: bao phủ quyết định, điều kiện kết hợp. ► Modified Condition/Decision Coverage: phủ quyết định, điều kiện kết hợp nâng cao. Mỗi điều kiện phải đánh giá một lần, và phải ảnh hưởng độc lập đến kết quả của quyết định 18 Automation Tools & Coverage Tools Các tiêu chuẩn coverage cơ bản: Ví dụ: if {(X or Y) and Z} then TEST CASE1: X=TRUE, Y=TRUE, Z=TRUE TEST CASE2: X=FALSE, Y=FALSE, Z=FALSE TEST CASE3: X=FALSE, Y=FALSE, Z=TRUE TEST CASE4: X=FALSE, Y=TRUE, Z=TRUE TEST CASE5: X=FALSE, Y=TRUE, Z=FALSE TEST CASE6: X=TRUE, Y=FALSE, Z=TRUE 19 Automation Tools & Coverage Tools Các tiêu chuẩn coverage cơ bản: ►Multiple Condition Coverage: phủ đa điều kiện. Tổ hợp điều kiện, mệnh đề if có 3 điều kiện thì sẽ có 8 TC. ►Branch Coverage: 1 decision - 2 nhánh. ►JJ-Path coverage: phủ các lệnh nhảy (jump). ►Entry/exit coverage: phủ các lệnh gọi và trả về của hàm. ►Loop coverage: phủ các hàm lặp. 20 Automation Tools & Coverage Tools Automation Test: ►Là việc sử dụng một phần mềm để quản lý một quá trình kiểm thử. ►Công việc chính của chúng ta là tạo ra các điều kiện kiểm thử, điều khiển quá trình kiểm thử và báo cáo kết quả kiểm thử ►Một cách khái chung là test tự động bao gồm tự động quá trình chạy bằng tay quá trình mà chúng ta kiểm thử. 21 Automation Tools & Coverage Tools Automation Test: Ưu điểm: + Kỹ thuật viên ít can thiệp + Giảm thời gian và công sức cho kỹ thuật viên Khuyết điểm: + Tốn chi phí tạo script + Tốn chi phí bảo trì các test script + Đòi hỏi các kỹ thuật viên có kỹ năng tạo script cao 22 Q & A