Bài giảng Software Testing and Quality Assurance: Web-Base Application Testing

Nội dung

Test Browser

Môi trường web

Performance Testing

Công cụ Load Runner

Webservice Testing

Regresstion Testing

Coverage Testing

Automation Test

pdf 22 trang phuongnguyen 6020
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Software Testing and Quality Assurance: Web-Base Application Testing", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Software Testing and Quality Assurance: Web-Base Application Testing

Bài giảng Software Testing and Quality Assurance: Web-Base Application Testing
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

File đính kèm:

  • pdfbai_giang_software_testing_and_quality_assurance_web_base_ap.pdf