Phần I Chu trình dự án và quản lý theo giai đoạn
Chương 6. Giai đoạn kiểm thử hệ thống
6.9 Các công cụ kiểm thử hệ thống
6.9.1 Hệ quản lý mã (Code Management System CMS)
Hệ QLCT có thể trợ giúp cho chuyên gia phát triển hệ thống thông qua điều khiển và lần vết các thay đổi mã chương trình không được phép.
- Giúp nhiều người có thể phát triển hệ cùng một lúc.
- Giúp khống chế và kiểm tra các thay đổi mã chương trình không được phép.
- Ngăn chặn những thay đổi không mong muốn làm cho chương trình từ chỗ hầu như đã đạt như mong muốn đến chỗ không còn gì và trợ giúp khôi phục phần bản cũ.
Hệ QLCT còn cho phép ngăn chặn mọi loại hình thay đổi, cảnh báo các chuyên gia phát triển hệ thống rằng có một người khác hiện đang làm việc với một môđun nào đó và xảy ra đụng độ giữa các thay đổi.
Điểm hữu ích lớn nhất của hệ QLCT là dễ dàng truy hồi: hệ QLCT không bao giờ tự xoá các dấu vết thay đổi trước đó. Nếu có một sự thay đổi trên mã nguồn thì nó sẽ tiến hành sửa đổi tệp có tin là thay - đổi chứa các lệnh thay đổi giống như các thay đổi khi biên tập mã nguồn. Sau đó các tệp thay - đổi sẽ tiếp lên chương trình mã nguồn. Các thay đổi có thể áp dụng liên tiếp lên mã nguồn, nhưng nếu thay đổi gây trục trặc đối với phần nào đó, đã làm trước đó, người quản lý dự án có thể truy hồi một cách dễ dàng tới mức trên của mã chương trình. Khi đó lịch sử các thay đổi với một mođun nguồn hay một mức nào đó (tập các mã nguồn kích hoạt ở thời điểm nào đó) hay toàn bộ hệ thống sẽ được phơi ra - thông tin này sẽ được dùng để tạo ra các thống kê chi phí, phục vụ cho các ước lượng các hệ tiếp theo.
6.9.2 Hệ quản lý kiểm thử (Test Manager)
Như đã chỉ tra trong phần thực hiện (chương 5) hệ quản lý kiểm thử cho phép xác định lập các thủ tục và dữ liệu thử cũng như các kết quả mong muốn hệ QLKT chạy các phép thử và chỉ ra kết quả nào đó không đáp ứng như mong muốn. Với các hệ loại tốt, có thể tạo ra các tệp kiểm thử (thủ tục), rồi lưu và so sánh kết quả nhận được.
Hệ QLKT cũng cho phép kiểm thử qui hồi (tức là trở lại các kiểm thử đã thực hiện từ trước khi gặp một lỗi nào đó) một cách đơn giản. Hệ QLKT cũng cho phép tổ chức, ghi tóm lược và kiểm tra kết quả kiểm thử một cách dễ dàng. Khi cần đến các nguyên nhân của các lỗi gặp phải, các giải pháp và chi phí, hệ QLKT sẽ đưa ra toàn bộ lịch sử của quá trình.
6.9.3 Hệ phân tích mã nguồn (Source Code Analyzer)
Hệ phân tích mã nguồn là công cụ dùng để tìm ra các xâu ký tự xuất hiện trong nhiều tệp nguồn. Chẳng hạn, có thể tìm tất cả các xuất hiện của một tên biến nào đó hay tin một thủ tục nào đó. Điều này khá tiện lợi khi có một biến nào đó bị nghi là nguyên nhân gây ra lỗi ở một điểm nào đó hay là tất cả lỗi gọi của một thủ tục nào đó phải dõi vết.
6.9.4 Hệ phân tích bao quát hiệu năng (Performance Coverage Analyzer)
Hệ phân tích bao quát hiệu năng thực hiện theo dõi vết, các phần trong hệ thống được thực hiện và tần suất của chúng. Việc xác định này được dùng để nâng cao chất lượng hoạt động, chẳng hạn nên tối ưu hoá các phần được sử dụng với tần xuất cao nhất. Dõi vết này cũng nhằm bảo đảm rằng các kiểm thử đã đi qua tất cả các phần trong hệ.
Hệ này còn có thể dùng để phân tích các giao diện chủ yếu từ hệ thống với hệ điều hành như lời gọi các chức năng vào/ra và các lỗi gọi hàm. Một trong những hạng mục quan trọng trong tối ưu hoá các máy tính bộ nhớ ảo là chế độ phân trang. Hệ phân tích phủ vùng thực hiện còn giúp để chi ra khi nào các lỗi trang nhớ xuất hiện.
6.9.5 Hệ quản lý Mođun (Module Management System)
Hệ quản lý mođun tự động hoá việc xây dựng toàn bộ bộ phần mềm, cho phép dịch, kết quả các mã nguồn cũng như ghép nối các tệp kiểm thử phù hợp, dữ liệu kiểm thử và tài liệu. Hệ này cho phép tiết kiệm một lượng thời gian khá lớn khi kiểm thử hệ thống vì nó cho phép chỉ lập trình các mođun bị thay đổi so với lần trước.
Bản kê các công việc ST
T
Tên công việc Dữ liệu/Tài liệu cần
có
Tài liệu/Sản phẩm giap
nộp
Xác nhận
kỹ thuật
Xác nhận người quản lý
DA
Xác nhận
NSD 1 Kế hoạch kiểm
thử hệ thống
Kế hoạch +
2 Tích hợp hệ thống
Biên bản tích
hợp phần mềm Biên bản tích hợp phần cứng
+ +
3 Dữ liệu kiểm thử Dữ liệu + +
4 Kết quả kiểm thử Kế hoạch kiểm thử Dữ liệu kiểm thử
Tài liệu kết quả kiểm thử
+ +
5 Kiểm tra lần cuối Tài liệu Biên bản
+ + 6 Kế hoạch kiểm
thử chấp nhận
+
Câu hỏi
1. Hai mục đích giai đoạn kiểm thử hệ thống là gì?
2. Tại sao phải biên soạn kế hoạch kiểm thử hệ thống? tại sao phải biên soạn trước khi lập trình?
3. Liệt kê các thuận lợi và khó khăn của phương pháp từ trên xuống.
4. Các kiểu hệ thống tích hợp và phương pháp tích hợp từ dưới lên?
5. Lợi ích của phương pháp tích hợp theo từng giai đoạn?
6. Các nét cơ bản của chương trình quản lý mã cần cho giai đoạn kiểm thử hệ thống.
7. Các nét cơ bản của hệ phân tích phủ vùng thực hiện cần cho giai đoạn kiểm thử hệ thống.
8. Giá cần tích hợp các mođun A, B, C. Các kiểm thử A1, A2 đã thành công đối với mođunA, các kiểm thử B1, B2 đã thành công đối với mođun B, kiểm thử C1, C2 đối với mođun C. Các mođun A, B được tích hợp thành AB và các kiểm thử A1, A2, B1, B2, AB1 đã tốt mođun C được ghép vào để tạo thành ABC, nhưng khi đó kiểm thử A1 trở thành sai. Có phải là trục trặc tại mođun A và C? hãy lý giải.
9. Tại sao người kiểm thử độc lập lại khách quan hơn là người phát triển hệ thống?
10. Các mốc quan trọng trong giai đoạn kiểm thử.