Báo cáo kiểm thử

Một phần của tài liệu Bài giảng kiểm thử phần mềm đh phạm văn đồng (Trang 111 - 126)

Báo cáo kiểm thử được thực hiện khi công việc kiểm thử hoàn thành. Báo cáo này tổng kết toàn bộ công việc kiểm thửđã thực hiện. Nó là một phần không thể thiếu trong cơ sở dữ liệu lịch sử của dự án, nhằm cung cấp các số liệu giúp việc đánh giá thực hiện dự án và áp dụng cho các dự án trong tương lai. Báo cáo kiểm thử giúp cho những người tham gia thực hiện dự án đánh giá về hiệu quả của kiểm thử khi họp tổng kết dự án. Chuẩn IEEE đề xuất báo cáo kiểm thử nên gồm các mục dưới đây [28].

Mã báo cáo tổng kết kiểm thử: Mỗi báo cáo tổng kết kiểm thử nên được gán một mã duy nhất.

Sự thay đồi: Mô tả và thảo luận những sự thay đổi so với kế hoạch kiểm thử, thủ tục kiểm thử và thiết kế kiểm thử.

Đánh giá bao phủ: Mục này thảo luận về sự bao phủ của kiểm thử so với các mục tiêu kiểm thử và tiêu chí kiểm thử được mô tả trong kế hoạch kiểm thử. Các tính năng trong kế hoạch kiểm thử chưa được kiểm thử nên được nêu rõ. Nêu các ca kiểm thử đã được thực thi, các ca kiểm thử chưa được thực thi và lí do, các ca kiểm thử thành công/ thất bại.

Tổng kết kết quả kiểm thử: Mục này mô tả tất cả các lỗi và sự giải quyết các lỗi cũng như các lỗi chưa giải quyết được.

Các độ đo: Mục này nêu một số các độ đo liên quan đến quá trình kiểm thử, như chi phí nguồn tài nguyên, phần cứng và phần mềm được sử dụng, thời gian thực hiện kiểm thử (ngày bắt đầu, ngày kết thúc), nhân công thực hiện kiểm thử, số lượng phiên bản đã kiểm thử…

Xét duyệt: Mục này gồm họ tên và chữ kí của những người duyệt báo cáo kiểm thử.

4.4. Kết luận

Trong chương trình này, chúng ta đã trình bày các tài liệu được xây dựng trong quá trình thực hiện kiểm thử. Thảo luận về các tài liệu dựa trên đề xuất của tổ chức chuẩn IEEE [6]. Quan hệ giữa các tài liệu được minh họa trong Hình 4.3.

xây dựng các kế hoạch kiểm thử chi tiết cho các mức kiểm thử đơn vị, tích hợp, hệ thống và chấp nhận. Ứng với mỗi kế hoạch kiểm thử chi tiết, các đặc tả thiết kế kiểm thử được xây dựng, gồm các ca kiểm thử và thủ tục kiểm thử. Sau khi thực thi kiểm thử, kiểm thử viên phải xây dựng nhật kí kiểm thử và báo cáo lỗi. Khi hoàn thành kiểm thử, báo cáo tổng kết kiểm thử được thực hiện. Báo cáo tổng kết kiểm thử cũng như nhật kí kiểm thử và báo cáo lỗi có thể được xây dựng cho các mức kiểm thử của đơn vị, tích hợp, hệ thống và chấp nhận. Cuối cùng, một báo cáo kiểm thử chung được xây dựng từ các báo cáo kiểm thử các mức.

Việc xây dựng tập các tài liệu kiểm thử này đòi hỏi chi phí lớn về thời gian và công sức. Không phải tất cả các tổ chức phát triển đều yêu cầu tất cả các tài liệu kiểm thử này. Một tổ chức hay dự án cụ thể nên mô tả những tài liệu kiểm thử nào là cần thiết cũng như nội dung và định dạng của các tài liệu đó. Các tài liệu kiểm thử trong chương này được trình bày khá ngắn gọn. Bạn đọc quan tâm có thể tìm hiểu chi tiết các mẫu theo chuẩn IEEE trong tài liệu [7].

Hình 4.3 Quan h gia các tài liu kim th Kế hoạch kiểm thử chung Kế hoạch kiểm thử các Đặc tả thiết kế kiểm thử Đặc tả thiết kế kiểm thử Đặc tả thiết kế kiểm thử Đặc tả thiết kế kiểm thử Báo cáo kiểm thử Đặc tả thiết kế kiểm thử Báo cáo kiểm thử chung

Câu hi và bài tp

1. Tại sao lập kế hoạch kiểm thử lại quan trọng?

2. Hãy cho biết các tài liệu kiểm thử cơ bản được xây dựng trước, trong và sau khi thực hiện kiểm thử.

3. Mô tả các mục cơ bản trong một tài liệu kế hoạch kiểm thử.

4. Hãy nêu các loại kế hoạch kiểm thử có thể của một dự án phần mềm.

5. Các tài liệu đặc tả thiết kế kiểm thử, ca kiểm thử và thủ tục kiểm thử nhằm mục đích gì?

6. Tài liệu nhật kí kiểm thử được thực hiện khi nào và chứa nội dung gì? 7. Tài liệu báo cáo lỗi thường chứa những mục cơ bản nào?

CHƯƠNG 5

KIM TH TĐỘNG VÀ CÔNG C KIM TH

Chúng ta đã biết chi phí kiểm thử rất lớn chiếm khoảng 405 tổng chi phí cho một dự án phát triển phần mềm. Nhiều nghiên cứu về các kỉ thuật giải pháp và quy trình nhằm giảm chi phí và thời gian kiểm thử. Trong đó kiểm thử tựđộng được xem là một trong những giải pháp hiệu quả hiện nay, có rất nhiều công cụđược phát triển nhằm giúp cho các kỉ sư tựđộng hóa quy trình kiểm thử.

Kiểm thử tựđộng có thể giảm đáng kể chi phí kiểm thử hoặc tăng đáng kể việc thực hiện kiểm thử trong thời gian nhất định kiểm thử tựđộng có thể thực hiện trong vài phúc, trong khi kiểm thủ thủ công có thể thực hiện trong vài giờ. Trong nhiều trường hợp, kiểm thử tựđồng khồn giảm chi phí ngay lập tức, nhưng có thể cho phép tạo ra phần mền chất lượng tốt nhanh hơn so với kiểm thử tựđông.

5.1. Kiểm thử tựđộng

Kiểm thử tự động nhằm nói đến việc tự đồng hoác các hoạt động trong quy trình kiểm thử phần mềm bằng cách sử dụng các giải pháp có tính hệ thống để đạt được sự bao phủ kiểm thử tốt hơn. Mục tiêu chính của kiểm thử thủ công nhàm chán và không cần thiết.

- Tăng tốc quy trình kiểm thử phần mền, giảm chi phí và thời gian trong quy trình phát triển phần mềm.

- Tăng chất lượng và hiệu quả của quy trình kiểm thử phần mền bởi việc đạt được các tiêu chí kiểm thử trong khoảng thời gian hạn chế.

Mỗi tổ chức phát triển phần mềm có thể có những chính sách tự động kiểm thử khác nhau. Một tổ chức có thể tự động hóa quy đình kiểm thử nói chung nhằm có thể áp dụng và tái sử dụng cho các dự án và sản phẩm của tổ chức. Các hoạt động kiểm thử củng có thể được phát triển chỉ cho một loại sản phẩm của tổ chức. các hoạt động kiểm thử củng có thể được phát triển chỉ cho một loại sản phẩm hoạc cho một dự án cụ thể.

Tự động hóa trong một quy trình kiểm thử được thành năm mức {13} (hình 5.1)

Hình 5.1. Các mức kiểm thử tựđộng

Mức 0: Không sử dụng công cụ. quy trình kiểm thử ở mức này chỉ là quy trình thủ công, không sử dụng bất kì công cụ kiểm thử hỗ trợ nào.

Mức 1: Bắt đầu. Quy trình kiểm thử ở mức này cung cấp các giải pháp và công cụ tự động đẻ tạo, cập nhạt và quản lý các loại thông tin liên quan đến hoạt động kiểm thử, như yêu cầu kiểm thử, ca kiemr thư, dự liệu thử, thủ tục kiểm thử, kết quả kiểm thử, báo cáo lỗi và báo cáo kiểm thử không có giải pháp và công cụ hỗ trợ thiết kế kiểm thử, ạo dử liệu và thực thi kiểm thử.

Mức 2: lặp lại: quy trình kiểm thửở mức này không chỉ cung cấp các giải pháp và công cụ tự động để quản lý thông tín kiểm thử, mà còn củng cấp các giải pháp để thực thi kiểm thử một cách tự động. các giải pháp này cho phép sử dụng các kỉ thuật công cụ thực thi kiểm thử và đánh giá kết quả kiểm thử. Các công cụ phân tích bao phủ kiểm thủ dự trên mã nguồn có thể được sử dụng để đánh giá kiểm thử hợp trắng. tuy nhiên, không có giải pháp và công cụ hỗ trợ thiết kế kiểm thủ (hay chi phí kiểm thủ) và đánh giá hiệu quả của quy trình kiểm thử so với các tiêu chí cho trước.

Mức 3: Tự động: quy trình kiểm thử ở mức này không chỉ sử dngj công cụ để tự động quản lý thông tin kiểm thử và thực thi kiểm thử, mà còn cung cấp các giải pháp để tạo ca kiểm thử một cách tự động. tuy nhiên, không có các công cụ đo lường khả năng kiểm thử và đánh giá hiệu quả của quy trình kiểm thử so với các tiêu chí cho trước.

Mức 4: tối ưu. Đây là mức tựđộng hóa kiểm thử phần mềm cao nhất các giải pháp và công cụ tự động quản lý thông tin, thực thi kiểm thử, tạo ca kiểm thử, đo lường, phân tích kiểm thử và đánh giá hiệu năng kiểm thử.

Các mức đánh giá kiểm thử tự động có thể được sử dụng để kiểm tra quy trình kiểm thử tựđộng của mộ dự án/ sản phẩm hay của một tổ chức phát triển phần mềm.

5.2. Đặc điểm cơ bản của kiểm thử tựđộng

Để thực hiện kiểm thử tự động, các kỉ sư cần có hiểu biết và kỉ năng nhất định về kiểm thử tự động các yêu cầu cần thiết để thực hiện kiểm thử tự động gồm {8,11,13}

Nhân lực về chuyên môn kiểm thử tự động: kiểm thử tự động đòi hổi có đội ngũ chuyê môn, chịu trách nhiệm về lập kế hoạch, thiết kế, cài đặt và triển khai các giải pháp tự động bằng cách làm việc với lập trình viên và kiểm thử viên. Trước hết, đội ngũ cần xác định yêu cầu và mục tiêu của kiểm thử tự động. sau đó, cần lựa chọn và phát triển các công cụ hỗ trợ. Bước tiếp theo, cần triển khai và đánh giá giải pháp tự động. cuối cùng, đội ngũ chuyê môn phải đào đạo các kỉ sư và bảo trì các công cụ được phát triển. nếu không có đủchuyên môn như thế, giải pháp kiểm thử tựđộng có thể trở nên kém hiệu quả, chi phí cao và khó bảo trì.

Sự cam kết của người quản lý và kỉ sư. Ngoài các cam kết về ngân sách và thời gian, những người quản lý và kỉ sư cần phải cam kết về chi phí cho:

+ hiểu vè kiểm thử tự động.

+ Thiết lập kế hoạch, chiến lược và nền tảng kiểm thử tự động cho dự án sản phẩm hay tổ chức.

+ phát triển và bảo trì các giải pháp tựđồng; + học và sử dụng các công cụ kiểm thử tự động.

- Ngân sách và thời giản. Kiểm thử tự động đồi hỏi ngân sách và chi phí nhất định cho lập kế hoạch, phát triển hay mua công cụ, triển khai, đào tạo, bảo trì giải pháp và công cụ tự động.

- Kế hoạch và chiến lược kiểm tử tựđộng. Cần Định nghĩa rõ ràng mục tiêu cả kiểm thử tự động, các sản phẩm đạt được, chính sách chon lựa và đánh giá công cụ, tiêu chí kiểm thử.

- Công cụ kiểm thử. Các công cụ cần phải dược đánh giá trước khi triển khai sử dụng.

- Bảo trì công cụ. trong nhiều trường hợp chi phí bảo trì công cụ rất đáng kể. nếu chi phí bảo trì cao hơn nhiều so vơi chi phí kiểm thử thủ công, thì việc kiểm thử tự động cần phửi được cân nhắc.

5.2.1. Ưu điểm của kiểm thử tựđộng

Kiểm thử tự dộng cho phép thực hiện các công việc kiểm thử hiệu quả hơn nhiều so với kiểm thử thủ công. Ngoài ra, chúng ta có thể xem xét thêm một số ưu điểm khác của kiểm thử tự động dưới đây [4].

Thực hiện kiểm thử hồi quy: đối với các phần mềm trong quá trình phát triển hay bị chỉ sửa chi phí để thực hiện kiểm thử hồi quy có thể giảm được đáng kể.

Thực thi nhiều ca kiểm thửhơn: ưu thế rõ ràng của kiểm thử tự động là có thể thực thi nhiều ca kiểm thử hơn trong khoảng thời gian ít hơn. Như thế, phần mềm được tin cậy hơn.

Thực hiện các kiểm thử rất khó hay không thể thực hiện thủ công: có những loại kiểm thử không thể thực hiện thủ công, nhu kiểm thử hiệu năng. Chẳn hạn, không thể thực hiện kiểm thử thủ công một ứng dụng mua bán hàng trực tuyens với 1000 người sử dụng đăng ngập cùng lúc. Trong khi, thủ công cụ kiểm thử có thể mô phỏng hàng nghìn người sử dụng cuối đăng nhập cùng lúc vào ứng dụng.

- Sử dụng nhân lực hiệu quảhơn: tự động hóa các công việc nhàm chán, chẳn hạn việc nhập đị nhập lại cùng dữ liệu vào, mang lại sự chính xác cao hơn củng như cải thiện tinh thần kiểm thử viên và giải phóng các kiểm thử viên có kỉ năng nhằm thiết kế các ca kiểm thử chất lượng hơn. Tất nhiên, củng có các công việc kiểm thử phải thực hiện thủ công, các kiểm thử viên có thể dàh thời gian để thực hiện tốt hơn các công việc đó.

- Kiểm thử được thực hiện nhất quán và dễ dàng lặp lại. các kiểm thử được thực hiện tự động lặp đi lặp lại một cách chính xác. Kiểm thử được thực hiện một cách nhất quán, điều rất khó được thực hiện bởi kiểm thử thủ công. Cùng các kiểm thử được thực thi trên các cấu hình khác nhau, sử dụng các hệ điều hành và môi trường phần mềm khác nhau.

- Hoàn thành sớm sản phẩm: Một khi các kiểm thử được tự động gháo kiểm thử có thể được thực hiện nhanh hơn và lặp lại dể dàng hơn. Vì vậy thời gian phát triển sản phẩm có thể được rút ngắn.

- Tăng độ tin cậy. Khi một số lượng lớn các ca kiểm thử hơn với ít chi phí hơn và nâng cao chất lượng củng như hiệu suất phát triển phần mềm.

5.2.2. Vấn để của kiểm thử tựđộng

Khi thực hiện kiểm thử tự động, chúng ta thường gặp phải một số vấn đề phổ biến dưới đây [3].

Tự động hóa quy trình kiểm thử không tốt: đối với quy trình kiểm thử tự thủ công không tốt, các thủ tục kiểm tra chất lượng, phương pháp kiểm thử và tiêu chí bao phủ kiểm thửkhông được định nghĩa rõ ràng. Tự động hóa quy trình kiểm thửnhư thế thường chi phí cao, kém hiệu quả bởi vì nhiều lý do: các ca kiểm thử trong quy trình không hiệu quả trong phát hiện lỗi, như thể tự động hóa các kiểm thử củng không hiệu quả trong phát hiện lỗi; các kỉ sư không sẵn sàng tham gia tự động hóa kiểm thử. Vì họ thiểu hiểu biết về kiểm thử tự động; thủ tục kiểm tra chất lượng, phương pháp kiểm thử và tiêu chí bao phủ kiểm thử không được dịnh nghĩa rã ràng thì không thể phát triển các giải pháp và công cụ tựđộng hóa hiểu quả.

Quyết định chậm trễ việc tự động hóa kiểm thử trong quy trình phát triển phần mềm. trong nhiều trường hợp, kiểm thử tự động không được chú trọng cho đến khi không còn đủ thời gian hay nhân lực đẻ thực hiện kiểm thử thủ công. Các hoạt động kiểm thử tự động được tiến hành trể trong quy trình phát triển có thể gây nên những vấn đề nghêm trọng. Thứ nhất, quá trễ đối với các kĩ sư để có thể lập kế hoạch và thực hiện kế hoạch kiểm thử tựđộng hiệu quả. Thứ hai, quá trễ đẻ nghĩ đến ngân sách và thơi gian cho kiểm thử tựđộng.

- Mục tiêu không thực tế: có thể, những người quản lý và các kĩ sư đặt ra các mục tiêu rất khó đạt được. họ có thể kì vọng kiểm thử tự động có thể giải quyết được tất cả các vấn đề hiện tại.

- Cho rằng kiểm thử tự động sẽ phát hiện nhiều lỗi lầm mới. Nếu kiểm thử tự động chỉ thay thế kiểm thử thủ công nhằm dể dàng thực thi nhiều lần ca kiểm thử, thì khã năng phát hiện thêm lỗi mới là rất thấp.

- Khảnăng bao phủ kiểm thử thấp. Các kĩ sư có thể quá chú trọng đến việc lập trình để tự động hóa kiểm thử, dẫn đến hiệu quả bao phủ kiễm thử thấp.

- Bảo trì ca kiểm thửđược tựđộng hóa: Khi phần mèm thay đổi, có thể cần cập

Một phần của tài liệu Bài giảng kiểm thử phần mềm đh phạm văn đồng (Trang 111 - 126)