Bài giảng Kiểm thử phần mềm (Software testing) - Chương 2: Qui trình & Kế hoạch kiểm thử phần mềm - Nguyễn Văn Hiệp

Chương 2  
Qui trình & Kế hoạch kiểm thử phần mềm  
2.1 Giới thiệu  
1. Qui trình kiểm thử phần mềm là gì ?  
ƒ Chế ₫ộ kiểm thử ₫ược ₫ịnh nghĩa bởi tổ chức phát triển  
phần mềm là gì.  
ƒ Cần có chiến lược kiểm thử và nó sẽ lý giải tại sao tổ chức  
phần mềm kiểm thử các thành phần mà mình tạo ra.  
ƒ Cần nhận dạng cái gì là quan trọng ₫ối với tổ chức (chi  
phí, chất lượng, thời gian, phạm vi,..) và cách nào, bởi ai  
và khi nào việc kiểm thử sẽ ₫ược thực hiện.  
ƒ Tất cả các thông tin trên sẽ ₫ược lập thành tài liệu cho  
hoạt ₫ộng kiểm thử và ta có thể gọi qui trình tạo lập tài liệu  
nàess).  
2. Tạo sao cần phải thực hiện qui trình kiểm thử phần mềm ?  
ƒ Cần làm rõ vai trò và trách nhiệm của việc kiểm thử phần  
mềm.  
ƒ Cần làm rõ các công ₫oạn, các bước kiểm thử.  
ƒ Cần phải hiểu và phân biệt các tính chất kiểm thử (tạo sao  
phải kiểm thử), các bước kiểm thử (khi nào kiểm thử), và  
các kỹ thuật kiểm thử (kiểm thử bằng cách nào).  
3. Chúng ta phải kiểm thử phần mềm khi nào ?  
RUP Life  
Cycle  
Kiểm thử sẽ ₫ược  
thực hiện sau mỗi  
bước lặp.  
Mô hình phát triển và kiểm thử phần mềm hình chữ V  
Preparation  
Requirements  
Definition  
Acceptance Test  
Acceptance  
t
t
F
Test  
lid  
ati  
on  
St  
ag  
e
Ver  
ific  
atio  
n
Sta  
ge  
design  
Preparation  
Integration  
Technical system  
design  
Integration  
Test  
t
t
Component  
Specification  
Unit/Component  
Test  
Programming  
Các t
ƒ Các hoạt ₫ộng hiện thực và các hoạt ₫ộng kiểm thử ₫ược  
tách biệt nhưng ₫ộ quan trọng là như nhau.  
ƒ Chữ V minh họa các khía cạnh của hoạt ₫ộng Verification  
và Validation.  
ƒ Cần phân biệt giữa các mức ₫ộ kiểm thử ở ₫ó mỗi mức  
kiểm thử là kiểm thử trên mức phát triển phần mềm tương  
ứng.  
Mô hình phát triển tăng tiến-tương tác :  
ƒ Qui trình thiết lập các yêu cầu phần mềm, thiết kế, xây  
dựng, kiểm thử hệ thống phần mềm ₫ược thực hiện như 1  
chuỗi các chu kỳ phát triển ngắn hơn.  
ƒ Hệ thống có ₫ược từ 1 bước lặp ₫ược kiểm thử ở nhiều cấp  
trong việc phát triển hệ thống ₫ó.  
ƒ Kiểm thử hồi quy có ₫ộ quan trọng tăng dần theo các bước  
lặp (không cần trong bước ₫ầu tiên).  
ƒ Thanh kiểm tra và kiểm ₫ịnh có thể ₫ược thực hiện theo  
kiểu tăng dần trên từng bước lặp.  
Các tính chất của qui trình kiểm thử tốt :  
ƒ Cần có 1 mức ₫ộ kiểm thử cho mỗi công ₫oạn phát triển  
phần mềm.  
ƒ Các mục tiêu kiểm thử sẽ bị thay ₫ổi, mỗi mức kiểm thử  
nên có các mục tiêu ₫ặc thù của mình.  
ƒ Việc phân tích và thiết kế testcase cho 1 mức ₫ộ kiểm thử  
nên bắt ₫ầu sớm nhất như có thể có.  
ƒ Các tester nên xem xét các tài liệu sớm như có thể có,  
ngay sau khi các tài liệu này ₫ược tạo ra trong chu kỳ phát  
tr
ƒ Số lượng và cường ₫ộ của các mức kiểm thử ₫ược ₫iều  
khiển theo các yêu cầu ₫ặc thù của project phần mềm ₫ó.  
Sơ ₫ồ tổ chức phổ biến của ₫ội kiểm thử  
4. Ai liên quan ₫ến việc kiểm thử phần mềm ?  
Test Manager  
Test Leader  
Test Architect  
Test Analyst  
Test Designer  
Tester 1  
Tester 2  
Tester 3  
Tester n  
2.2 Qui trình kiểm thử tổng quát  
•Requirements/ Scope  
•Specified (what will be test?)  
Test Planning  
(Manual or Automation)  
Test Plan  
•Test  
•Test Estimation  
•Strategy Tes
•Types of Test  
•Environment Test  
•Test Cases/ Test Scripts  
•Test Procedures  
•Test Scenarios  
•Test Data  
Test Analysis & Design  
(Manual or Automation)  
•Requirements  
•Specified Requirements  
•Test Plan  
•Test  
Analyst  
•Test Cases/ Test Scripts  
•Test Procedures  
•Test Scenar
•Test Data  
Test Executing  
(Manual or Automation)  
• Test  
•Tester  
Results  
• Test  
Test Report  
& Evaluation  
Final Test Reports  
•Tester  
•Test  
Test Results  
Xây dựng kế hoạch kiểm thử  
Test Planning  
Test Analysis & Design  
(Manual or Automation)  
Test Executing  
(Manual or Automation)  
Test Report  
& Evaluation  
Test Manager hoặc Test Leader sẽ xây dựng kế hoạch ban  
₫ầu về kiểm thử.  
ƒ Định nghĩa phạm vi kiểm thử  
ƒ Đ
ƒ Nhận dạng các rủi ro và yếu tố bất ngờ  
ƒ Nhận dạng các hoạt ₫ộng kiểm thử nào là thủ công, kiểm  
thử nào là tự ₫ộng hay cả hai.  
ƒ Ước lượng chi phí kiểm thử và xây dựng lịch kiểm thử.  
ƒ Nhận dạng môi trường kiểm thử.  
ƒ ...  
Kế hoạch kiểm thử cần ₫ược :  
ƒ xem lại bởi QC team, Developers, Business Analysis. TA  
(if need), PM and Customer  
ƒ Chấp thuận bởi : Project Manager and Customer  
ƒ Hiệu chỉnh trong suốt chu kỳ kiểm thử ₫ể phản ánh các  
thay ₫ổi nếu cần thiết.  
Phân tích & thiết kế kiểm thử  
Test Planning  
Test Analysis & Design  
(Manual or Automation)  
Test Executing  
(Manual or Automation)  
Test Report  
& Evaluation  
Test Analyst hoặc Test Designer sẽ thiết kế (₫ịnh nghĩa) các  
testcase từ các yêu cầu liên quan (thí dụ từ thông tin trong  
usecase).  
ƒ sẽ thiết kế (₫ịnh nghĩa) các testcase từ các yêu cầu chức  
năng và các yêu cầu không chức năng của phần mềm.  
ƒ Các testcase cần bao phủ tất cả khía cạnh kiểm thử cho  
từng yêu cầu phần mềm.  
ƒ Các testcase cần bao phủ tất cả yêu cầu trong các chiến  
lược kiểm thử.  
ƒ Nếu cần kiểm thử tự ₫ộng, Test Designer sẽ xây dựng các  
kịch bản dựa trên các testcase/Test procedures.  
Các testcase cần ₫ược :  
ƒ Xem xét lại bởi Project Leader, Developer có liên quan,  
các Testers khác, Test Leader, Business Analysis và  
Customer.  
ƒ Chấp thuận bởi Test Leader hoặc Customer  
ƒ Hiệu chỉnh/cập nhật nếu Tester ₫ã tìm ₫ược những lỗi mà  
không nằm trong các testcase hiện có.  
Thi hành kiểm thử  
Test Planning  
Test Analysis & Design  
(Manual or Automation)  
Test Executing  
(Manual or Automation)  
Test Report  
& Evaluation  
Testers sẽ ₫ược bố trí công việc bởi Test Leader ₫ể thi hành  
kiểm thử.  
ƒ Thi hành kiểm thử theo từng testcase.  
ƒ Thực hiện kiểm thử ₫ặc biệt (ad-hoc)  
ƒ Thực hiện kịch bản kiểm thử mà không ₫ược ₫ịnh nghĩa  
trong testcase.  
ƒ Kiểm thử lại các lỗi ₫ã ₫ược sửa.  
ƒ Tester sẽ tạo các báo cáo về lỗi trong suốt quá trình kiểm  
lỗi và theo dõi chúng cho ₫ến khi chúng ₫ã ₫ược xử lý.  
ƒ Ở công ₫oạn kiểm thử ₫ộ chấp thuận, Customer sẽ thi  
hành kiểm thử ₫ể kiểm ₫ịnh xem hệ thống phần mềm có  
thỏa mãn các nhu cầu người dùng không ?  
Test Execution Workflow  
Get build to  
execute test  
Reject Builds  
Ready for  
test?  
No  
* Xem qui trình xử lý lỗi ở slide kế  
Yes  
Yes  
Execute Test  
(test cases)  
Re-Test  
(Fixed defects)  
Pass?  
No  
Close defects  
Yes  
Found  
defects?  
Submit/ Re-Open  
Defects to tracking system (*)  
No  
Create  
test report  
Defects Workflow  
Defect in system  
Update more  
information  
Review by  
Test Lead, Dev Lead, PM  
Explain why and  
Ask Tester close  
Defect.  
Assign back to Tester  
for more information  
Yes  
Ambiguous  
No  
No  
Really  
Check in to build  
Assign to Tester  
Explain why and  
Ask approval  
from PM
Yes  
No  
Re-Test  
Yes  
Yes  
No  
Pending defect  
Can fix  
Close defect  
Test Report and Evaluation  
Test Planning  
Test Analysis & Design  
(Manual or Automation)  
Test Executing  
(Manual or Automation)  
Test Report  
& Evaluation  
Test Manager hoặc Test Leader sẽ phân tích các lỗi trong hệ  
thống theo dõi các lỗi.  
ƒ T
ƒ Đánh giá các kết quả kiểm thử, thống kê các yêu cầu thay  
₫ổi.  
ƒ Tính và phân phối các thông tin ₫o lường hoạt ₫ộng kiểm  
thử.  
ƒ Tạo bảng tổng kết ₫ánh giá hoạt ₫ộng kiểm lỗi.  
ƒ Xác ₫ịnh xem ₫ã ₫ạt tiêu chí thành công và hoàn thành  
kiểm thử chưa.  
2.3 Kế ho
1. Định nghĩa : Kế hoạch kiểm thử thường ₫ược ₫ể trong 1 file  
và chứa các kết quả của các hoạt ₫ộng sau :  
ƒ Nhận dạng các chiến lược ₫ược dùng ₫ể kiểm tra và ₫ảm  
bảo rằng sản phẩm thỏa mãn ₫ặc tả thiết kế phần mềm và  
các yêu cầu khác về phần mềm.  
ƒ Định nghĩa các mục tiêu và phạm vi của nỗ lực kiểm thử.  
ƒ Nhận dạng phương pháp luận mà ₫ội kiểm thử sẽ dùng ₫ể  
thực hiện công việc kiểm thử.  
ƒ Nhận dạng phần cứng, phần mềm và các tiện ích cần cho  
kiểm thử.  
ƒ Nhận dạng các tính chất và chức năng sẽ ₫ược kiểm thử.  
ƒ Xác ₫ịnh các hệ số rủi ro gây nguy hại cho việc kiểm thử.  
ƒ Lập lịch kiểm thử và phân phối công việc cho mỗi thành  
viên tham gia.  
ƒ …  
Test Manager hoặc Test Leader sẽ xây dựng kế hoạch kiểm  
thử.  
2. Nhu cầu cần phải có kế hoạch kiểm thử : Kế hoạch kiểm thử  
cần phải ₫ược xây dựng sớm như có thể có trong mỗi chu kỳ phát  
triển phần mềm ₫ể :  
ƒ Tập hợp và tổ chức các thông tin kiểm thử cần thiết.  
ƒ Cung cấp thông tin về qui trình kiểm thử sẽ xảy ra trong tổ  
chức kiểm thử.  
ƒ Cho mỗi thành viên trong ₫ội kiểm thử có hướng ₫i ₫úng.  
ƒ Gán các trách nhiệm rõ ràng cụ thể cho mỗi thành viên ₫ội  
kiểm thử.  
ƒ Có lịch biểu làm việc rõ ràng và các thành viên có thể làm  
việc với nhau tốt.  
3. Kế hoạch kiểm thử cần chứa các thông tin sau ₫ây :  
ƒ Phạm vi/mục tiêu kiểm thử  
ƒ Các chiến lược ₫ược dùng  
ƒ Các tài nguyên phần cứng và phần mềm phục vụ kiểm  
thử.  
ƒ Các nhu cầu về nhân viên và huấn luyện nhân viên.  
ƒ Các tính chất cần ₫ược kiểm thử.  
ƒ Các tính chất không cần kiểm thử.  
ƒ Các rủi ro & sự cố bất ngờ.  
ƒ Lịch kiểm thử cụ thể.  
ƒ Các kênh thông tin liên lạc.  
ƒ Cấu hình cho từng phần tử như kế hoạch kiểm thử,  
testcase, thủ tục kiểm thử,...  
ƒ Môi trường kiểm thử (Test bed)  
ƒ Tiêu chí ₫ầu vào và tiêu chí dừng kiểm thử.  
ƒ Các kết quả phân phối.  
Test Plan Workflow  
4. Qui trình xây dựng kế hoạch kiểm thử :  
Establish a  
Testing Schedule  
(need estimation)  
Starting Project  
Define Testing Scope  
and Objectives  
Compose Test Plan  
Review Test Plan  
Define Testing  
Methodology  
Identify Required  
Resources  
Rework  
?
Yes  
Identify Features  
And Functions to test  
N
Approved and  
Baselined Test  
Plan  
Identify Risk Factors  
Ghi chú quan trọng :  
Sau khi xây dựng xong kế hoạch kiểm thử, ta có thể thay ₫ổi  
nó nhưng phải tuân thủ qui trình yêu cầu thay ₫ổi.  
Main activities  
5. Các hoạt ₫ộng chính trong việc xây dựng kế hoạch kiểm  
thử :  
ƒ Định nghĩa mục ₫ích, phạm vi, chiến lược, cách tiếp cận,  
các ₫iều kiện chuyển, các rủi ro, kế hoạch giảm nhẹ và  
tiêu chí chấp thuận.  
ƒ Định nghĩa cách thức thiết lập môi trường và các tài  
nguyên ₫ược dùng cho việc kiểm thử.  
ƒ Thiết lập cơ chế theo dõi lỗi phát hiện.  
ƒ Chuẩn bị ma trận theo dõi bao phủ mọi yêu cầu phần  
mềm.  
ƒ Báo cáo trạng thái kiểm thử.  
ƒ Phát hành leo thang (Escalating Issues)  
ƒ Rmprovement  
Request) / PCR (Process Change Request)  
2.4 Các thành phần chính trong kế hoạch kiểm thử  
1. Mục ₫ích và phạm vi kiểm thử :  
ƒ Đặc tả mục ₫ích của tài liệu về kế hoạch kiểm thử.  
ƒ Cung cấp vắn tắt về phạm vi mà project ₫ược hỗ trợ như  
platform, loại database, hay danh sách vắn tắt về các loại  
project con in project kiểm thử.  
ƒ Thí dụ :  
Testing scope  
This section to provide test requirements, strategies as below:  
• Operation will be tested: Windows XP SP2, SP3 + Latest security updated from  
Microsoft.  
• Database type: Microsoft SQL Server 2005  
• Browsers: Internet Explorer 7  
• The sub-products will be tested as below:  
ƒ Quality Monitoring 9.0 SP3  
ƒ Agent Capture  
ƒ UST/BUIT  
ƒ
ƒ Documents verification  
ƒ Installation/Upgrade testing  
2. Cách tiếp cận & các chiến lược ₫ược dùng :  
ƒ Đặc tả về phương phạm luận kiểm thử sẽ ₫ược dùng ₫ể  
thực hiện kiểm thử.  
ƒ Thí dụ : General Testing Process Approach for Project  
ABC  
Design  
Test  
Approach  
Review  
Project  
Create  
Test  
Plan  
Design  
and  
Build  
Test  
Execute  
Plan  
Create  
Certification  
Report  
Document &  
Participate in  
Project  
Planning  
Exercises  
Determine  
Test  
Requirements  
Đề cập các cấp ₫ộ kiểm thử cần thực hiện  
Các kỹ thuật ₫ược dùng cho mỗi kiểu kiểm thử trong project :  
ƒ Kiểm thử tích hợp (Integration Testing)  
ƒ Kiểm thử hệ thống (System Testing)  
ƒ Kiểm thử ₫ộ chấp thuận (Acceptance Testing)  
ƒ KFunctionality  
Testing)  
ƒ Kiểm thử hồi qui (Regression Testing)  
ƒ Kiểm thử việc phục hồi sau lỗi (Failover and Recovery  
Testing)  
ƒ Kiểm thử việc kiểm soát an minh và truy xuất (Security and  
Access Control Testing)  
ƒ Kiểm thử việc cấu hình và cài ₫ặt (Configuration and  
Installation Testing)  
ƒ Kiểm thử ₫ặc biệt (Ad-hoc Testing)  
ƒ Kiểm thử hiệu suất (Performance Testing)  
3. Các tính chất cần ₫ược kiểm thử :  
ƒ Danh sách các tính chất của phần mềm cần ₫ược kiểm  
thử, ₫ây là 1 catalog chứa tất cả các testcase (bao gồm  
chỉ số testcase, tiêu ₫ề testcase) cũng như tất cả trạng  
thái cơ bản.  
ƒ Thí dụ :  
4. Các tính chất không cần ₫ược kiểm thử :  
ƒ Danh sách các vùng phần mềm ₫ược loại trừ khỏi kiểm  
thử, cũng như các testcase ₫ã ₫ược ₫ịnh nghĩa nhưng  
không cần kiểm thử.  
ƒ Thí dụ :  
5. Rủi ro và các sự cố bất ngờ  
ƒ Danh sách tất cả rủi ro có thể xảy ra trong chu kỳ kiểm  
thử.  
ƒ Phương pháp mà ta cần thực hiện ₫ể tối thiểu hóa hay  
sống chung với rủi ro.  
ƒ Thí dụ :  
6. Tiêu chí ₫ình chỉ & phục hồi kiểm thử :  
ƒ Tiêu chí ₫ình chỉ kiểm thử là các ₫iều kiện mà nếu thoả  
mãn thì kiểm thử sẽ dừng lại.  
ƒ Tiêu chí phục hồi là những ₫iều kiện ₫ược ₫òi hỏi ₫ể tiếp  
tục việc kiểm thử ₫ã bị ngừng trước ₫ó.  
ƒ Thí dụ :  
1.6 Các nguyên tắc cơ bản về kiểm thử  
Suspension Criteria  
The testing will be halted if these criteria below happen:  
• No build notes or it is not clear  
• There are some Fatal errors in smoke test build without work around solutions  
Resumption Criteria  
The testing will be resumed if the build has:  
• Build notes clearly  
• Any fatal errors with work around solutions  
• Test cases had been baselined  
7. Môi trường kiểm thử  
ƒ Đặc tả ₫ầy ₫ủ về các môi trường kiểm thử, bao gồm ₫ăc5  
tả ệ ₫iều hành  
và các thuộc tính môi trường khác ảnh hưởng ₫ến kiểm  
thử.  
ƒ Thí dụ  
8. Lịch kiểm thử :  
ƒ Lịch kiểm thử ở dạng ước lượng, nên chứa các thông tin :  
các cột mốc với ngày xác ₫ịnh + Kết quả phân phối của  
từng cột mốc.  
ƒ Thí dụ :  
9. Tiêu chí dừng kiểm thử & chấp thuận :  
Bất kỳ chuẩn chất lượng mong muốn nào mà phần mềm phải  
thỏa mãn hầu sẵn sàng cho việc phân phối ₫ến khách hàng. Có  
thể bao gồm các thứ sau :  
ƒ Các yêu cầu mà phần mềm phải ₫ược kiểm thử dưới các  
môi trường xáx ₫ịnh.  
ƒ Số lỗi tối thiểu ở cấp an ninh và ưu tiên khác nhau, số phủ  
ki
ƒ Stakeholder sign-off and consensus  
ƒ Thí dụ :  
10. Nhân sự :  
Vai trò và trách nhiệm từng người :  
ƒ Danh sách các vai trò xác ₫ịnh của các thành viên ₫ội  
kiểm thử trong hoạt ₫ộng kiểm thử.  
ƒ Các trách nhiệm của từng vai trò.  
ƒ Công tác huấn luyện.  
ƒ Danh sách các huấn luyện cần thiết cho các QC  
ƒ Thí dụ : xem slide kế  
Tải về để xem bản đầy đủ
pdf 23 trang yennguyen 103940 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiểm thử phần mềm (Software testing) - Chương 2: Qui trình & Kế hoạch kiểm thử phần mềm - Nguyễn Văn Hiệp", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_kiem_thu_phan_mem_software_testing_chuong_2_qui_tr.pdf