Xem mẫu

  1. GIAI ĐOẠN KIỂM THỬ HỆ THỐNG ThS. Nguyễn Khắc Quốc IT Department – Tra Vinh Univ ersity 1
  2. Tổng quan Mục đích - Tích hợp tất cả các phần cùng hoạt động - Kiểm tra cặn kẽ tất cả các phần, các môđun theo các chức năng đã ghi trong bản thiết kế bao gồm cả phần cứng và phần mềm. Các công việc chính - Tích hợp và kiểm thử từng phân hệ và các dự án con - Tích hợp và kiểm thử đối với toàn bộ hệ thống lớn. 2
  3. Tổng quan Các tài liệu cần có - Kế hoạch tích hợp và kiểm thử hệ thống đã lập ra trong giai đoạn thực hiện theo thứ tự xây dựng các phân hệ - Các dữ liệu kiểm thử. Các tài liệu cần hoàn thành - Biên bản kiểm thử phần cứng. - Biên bản, tài liệu lưu giữ kết quả kiểm thử phần mềm (thứ tự kiểm thử, các phép thử và dữ liệu kiểm thử) - Sản phẩm sau khi kiểm thử là toàn bộ hệ thống đã làm việc tốt, đã sữa lỗi xong. -Trong giai đoạn này, quản lý dự án thuần tuý từ khía cạnh kỹ thuật. - Các nhà quản lý cần phải đôn đốc sao cho mỗi phân hệ được cài đặt đúng tiến độ và phối hợp nhịp nhàng. 3
  4. 6.1 Nhập đề - Quá trình tích hợp và kiểm thử hệ thống được thực hiện theo cách từ dưới lên. + Đầu tiên kiểm thử các môđun nhỏ, + Kế tiếp là các phân hệ, + Toàn bộ hệ thống. -Giai đoạn kiểm thử hệ thống chia làm 2 bước. + Các phân hệ được tích hợp lại thành một môđun lớn hơn, các môđun này lại được ghép lại cho đến khi toàn bộ hệ thống được tạo dựng. + Hệ thống được kiểm thử nhằm kiểm tra xem các phân hệ có phối hợp nhịp nhàng với nhau không và toàn bộ hệ thống có dáng điệu như mong muốn không? 4
  5. 6.1 Nhập đề (tt) - Khó có thể ước lượng cần phải mất bao nhiêu thời gian để kiểm thử toàn bộ hệ thống. - Khó biết trước được sẽ có bao nhiêu lỗi và mỗi lỗi cần bao nhiêu thời gian để xử lý. - Việc kiểm thử hệ thống thường chiếm 1/8 tổng thời gian đã dự trù trước đó. - Nếu công việc triển khai trên thực tế nhiều hơn so với dự định, thì thời gian kiểm thử hệ thống cũng sẽ lớn hơn. - Người quản lý dự án giỏi bao giờ cũng trù liệu được tất cả các sự cố bất ngờ trong lúc lập lịch trình kiểm thử. 5
  6. 6.2 Kế hoạch kiểm thử hệ thống Một câu hỏi đặt ra đối với chuyên gia quản lý dự án công nghệ thông tin là: - Làm thế nào để ráp nối một hệ thống lớn có nhiều chương trình con và nhiều môđun? + Không nên viết xong toàn bộ chương trình mới liên kết chúng lại, mà trong nhiều trường hợp nên tích hợp hệ thống theo kiểu "từng mẫu một". + Có thể có nhiều thứ tự tích hợp các môđun, nhưng trong mọi trường hợp các thứ tự này phải được trù tính từ trước trong giai đoạn đặt kế hoạch kiểm thử hệ thống. 6
  7. 6.2 Kế hoạch kiểm thử hệ thống (tt) Nội dung kế hoạch kiểm thử hệ thống - Lịch trình kiểm thử, các nhân viên tham gia; các yêu cầu về nhân lực và dữ liệu kiểm thử. - Kiểm tra cấu hình, tích hợp hệ thống và các công cụ trợ giúp kiểm thử được sử dụng. - Thứ tự kiểm thử các môđun và chương trình - Danh sách các phép kiểm thử phải thực hiện tại mỗi bước tích hợp dữ liệu kiểm thử. - Danh sách các dữ liệu "sai" và các thủ tục cần thử nghiệm - Kiểm thử hồi qui - Tải hệ thống và các dữ liệu thử và các kiểm thử chất lượng hoạt động - Danh sách các sản phẩm bàn giao (dữ liệu, tài liệu…) 7
  8. 6.3 Tích hợp hệ thống 6.3.1 Thứ tự tích hợp phần mềm Có thể tích hợp theo một trong 3 cách như sau: - Tích hợp từ trên xuống theo sơ đồ thiết kế mức trên của hệ thống 8
  9. 6.3 Tích hợp hệ thống (tt) - Đầu tiên ghép nối các môđun Ví dụ: sơ đồ thiết kế mức trên trong phần thực đơn. - Khi phần Menu làm việc, các chương trình gắn với phân hệ Thu-Thập-Dữ liệu được tích hợp, sau đó nối thêm vào “Menu”. -Tiếp theo đó là các phân hệ cập-nhật, tạo-lập-báo cáo. - Nếu muốn tiến hành càng sớm càng tốt, nên lập trình lập trình phần thực đơn, tích hợp chúng, trình diễn với các cán bộ quản lý, sau đó sang phần Thu-Thập-Dữ liệu, trình diễn sau khi tích hợp và cứ như vậy... đối với các môđun khác. 9
  10. 6.3 Tích hợp hệ thống (tt) - Cách tiếp cận dưới lên và "cuống" chương trình - Bắt đầu từ môđun xử lý tệp, sau đó chuyển sang các môđun thu thập dữ liệu, cập nhật và tạo sinh báo cáo - Môđun “Xử-Lý-Tệp” là môđun đơn giản nhất, trong khi đó môđun “Thực đơn” là phức tạp nhất. - Vấn đề nảy sinh là: Khi cần tích hợp một thành phần chương trình nào đó mà chưa có trong tay các thành phần khác, lập trình viên buộc phải "tỉa" chúng và thay vào đó bằng các thủ tục giả, mô phỏng sự xuất hiện của những thành phần này. 10
  11. 6.3 Tích hợp hệ thống (tt) - Đầu tiên môđun “Thực đơn” được tích hợp, - Các môđun khác: Thu thập Dữ liệu, cập nhật, tạo lập báo cáo được thay bằng các thủ tục giả phục vụ cho việc kiểm thử. - Chẳng hạn, thủ tục “Thu thập dữ liệu” được thay bằng một thủ tục đơn giản chỉ gồm 4 dòng, mô phỏng đã nhận được điều khiển, các tham số vào, kết xuất một bản ghi nào đó từ cơ sở dữ liệu. - Gửi trở lại bản ghi giả vào vùng đệm. 11
  12. 6.3 Tích hợp hệ thống (tt) Sơ đồ thiết kế mức trên 12
  13. 6.3 Tích hợp hệ thống (tt) Các chức năng con và các phiên bản theo giai đoạn - Phương pháp này thường tích hợp với cách làm "Ra sản phẩm càng nhanh càng tốt". Ví dụ: - Trong thiết kế ban đầu có thể có tới 20 thực đơn khác nhau, 50 thành phần thu thập dữ liệu về 50 môđun cập nhật dữ liệu cùng 25 báo cáo. - Làm thế nào có thể tạo ra một phiên bản đầu tiên của hệ thống chỉ gồm 10 thực đơn, 20 môđun thu thập dữ liệu, 10 báo cáo? + Hệ thống thu gọn này được chấp nhận và cài đặt cho người sử dụng ở giai đoạn 1. + Sau đó lại tiếp tục lập trình cho các môđun thu thập dữ liệu, thực đơn, cập nhật dữ liệu và báo cáo để tạo ra phiên bản ở giai đoạn 2. 13
  14. 6.3 Tích hợp hệ thống (tt) 6.3.2 Quá trình tích hợp hệ thống (phần mềm) - Những kiểm thử đầu tiên trong quá trình xây dựng sản phẩm, sẽ do các chuyên gia phát triển hệ thống chịu trách nhiệm. - Họ còn phải tạo ra các bộ kiểm thử bao gồm các thủ tục kiểm thử và dữ liệu, nhằm kiểm tra một cách kỹ lưỡng toàn bộ các môđun. - Khi đưa chương trình vào tích hợp, lập trình viên phải đưa ra một tập các kiểm thử then chốt phục vụ cho việc tích hợp hệ thống. 14
  15. 6.3 Tích hợp hệ thống (tt) Ví dụ, thứ tự kiểm thử và tích hợp một hệ thống giả định được đưa cho trong sơ đồ sau: 15
  16. 6.3 Tích hợp hệ thống (tt) 6.3.3 Một vài giải pháp Giải pháp 1: Đưa ra các chương trình con có tất cả các chức năng cần thiết. Giải pháp 2: Đưa ra các phiên bản theo giai đoạn. Sau đó, dần dần thêm vào một số đặc trưng cho các phiên bản sau. Giải pháp 3: Làm mẫu thử của các phần. Giải pháp 4: Gối lên giai đoạn thực hiện. Sau khi xây dựng xong một môđun nào đó tích hợp nó vào hệ thống, tiến hành kiểm thử, sau đó tiếp tục chuyển sang xây dựng một môđun khác. 16
  17. 6.3 Tích hợp hệ thống (tt) 6.3.4 Thứ tự tích hợp phần cứng - Quá trình tích hợp phần cứng được tiến hành từ dưới lên. - Đầu tiên, thực hiện ở mức thấp nhất, sau đó cứ tích hợp dần dần lên các mức trên: + Phần cứng máy khách (client) + Phần cứng máy phục vụ (server) + Phần cứng mạng + Phần cứng mạng + máy phục vụ + Phần cứng mạng + máy phục vụ + máy khách + Phần cứng mạng + máy phục vụ + máy khách (mạng cục bộ) + Phần cứng mạng + máy phục vụ + máy khách (mạng rộng). 17
  18. 6.3 Tích hợp hệ thống (tt) 6.3.5 Thứ tự tích hợp hệ thống (phần cứng + phần mềm) - Đối với các phần mềm phức tạp tiến hành kiểm thử và tích hợp theo kiểu từ trên xuống dưới, (phần chính trước, phần phụ sau). - Phần cứng khi tích hợp và kiểm thử ít phức tạp hơn, do đó có thể tiến hành sau. - Cuối cùng tiến hành tích hợp phần cứng và phần mềm với nhau 18
  19. 6.3 Tích hợp hệ thống (tt) Các phần phức tạp nhất trong phần mềm: - Phần mềm mạng - Phần mềm mạng chủ (riêng lẻ) - Phần mềm máy khách (riêng lẻ) - Phần mềm mạng + máy phục vụ - Phần mềm mạng + máy phục vụ + máy khách 19
  20. 6.4 Kiểm thử hồi qui - Trong quá trình tích hợp và kiểm thử, nếu có một trục trặc nào đó xảy ra, nhưng chưa biết lý do, cần phải làm ngược (qui hồi) quá trình kiểm thử và tích hợp để biết nó xuất hiện trong môđun nào hay phần ghép nối nào giúp các môđun. - Nếu kiểm thử ở mức chạy lần 3, trên màn hình vẽ ta thấy rằng có thể kiểm thử ABCD sai. - Như vậy, có thể do các môđun A, B, C hay D. - Nếu các lập trình viên không khoanh vùng được lỗi ở đầu thì phải trở lại các bước trước và chạy thử lại có nghĩa là nó có thể thuộc phần A, B, C. - Nếu khẳng định chắc chắn lỗi không thuộc phần ghép nối A, B, C. - Nếu khẳng định chắc chắn lỗi không thuộc phần ghép nối A, B, C thì nó ở trong D. - Trong nhiều trường hợp có thể phải quay lại tới lần chạy thử 1. 20
nguon tai.lieu . vn