► 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.
22 trang |
Chia sẻ: candy98 | Lượt xem: 502 | Lượt tải: 0
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