Quy định kiểm thử phần mềm như thế nào? Kiểm thử phần mềm là gì? Hãy cùng theo dõi bài viết dưới đây về quy định kiểm thử phần mềm bạn nhé.
quy định kiểm thử phần mềm
1. Kiểm thử phần mềm là gì?
Là một tiến trình hay một tập hợp các tiến trình được thiết kế ra để:
- Đảm bảo phần mềm thực hiện đúng theo những thứ mà chúng đã được thiết kế.
- Trong quá trình sử dụng phần mềm không phát sinh bất cứ thứ gì không mong muốn.
Đây là một pha quan trọng trong quá trình phát triển hệ thống phần mềm:
- Giúp cho khách hàng thấy được sản phẩm đặt ra đã đáp ứng được yêu cầu hay chưa.
- Đảm bảo chất lượng phần mềm khi đưa ra sử dụng. Tránh các rủi ro khi cho khách hàng khi đưa phần mềm vào sử dụng.
- Giảm thời gian và chi phí phát sinh do bảo trì (fix lỗi) cho người viết phần mềm.
Có 2 kiểu kiểm thử phần mềm:
- Kiểm thử tĩnh (Static testing)
- Kiểm thử động (Dynamic testing)
2. Phân tích quy trình kiểm thử phần mềm
2.1. Requirenment analysis - Phân tích yêu cầu
Đầu vào
Đầu vào của giai đoạn phân tích yêu cầu bao gồm các tài liệu như: tài liệu đặc tả yêu cầu, tài liệu thiết kế hệ thống, tài liệu khách hàng yêu cầu về các tiêu chí chấp nhận của sản phẩm, bản prototype của khách hàng yêu cầu(nếu có),...
Hoạt động
- Phân tích yêu cầu là giai đoạn đầu tiên trong quy trình kiểm thử phần mềm.
- QA team sẽ thực hiện đọc hiểu, nghiên cứu và phân tích cụ thể các yêu cầu trong tài liệu đặc tả của dự án hoặc tài liệu khách hàng. Qua hoạt động này, QA team sẽ nắm bắt được các yêu cầu mà dự án đưa ra bao gồm yêu cầu kiểm thử chức năng/ phi chức năng nào.
- Ngoài ra, trong quá trình phân tích, nghiên cứu tài liệu, nếu có câu hỏi phát sinh hay đề xuất giải quyết, QA team sẽ đưa ra câu hỏi với các bên liên quan như BA( Business Analysis), PM( Project Manager), team leader, khách hàng để hiểu chính xác hơn về yêu cầu của sản phẩm. Những câu hỏi này sẽ được lưu trữ vào file Q&A( Question and Answer). Các câu hỏi nên được đưa ra dưới dạng Yes/No question hoặc các lựa chọn để tiết kiệm thời gian trả lời cũng như hỗ trợ đưa ra những gợi ý hay để xây dựng sản phẩm ngay từ đầu. Như vậy, đương nhiên là chúng ta không nên nêu ra những câu hỏi dạng là gì, như thế nào, tại sao,... Những câu hỏi như thế thường mất thời gian để giải thích và cũng khó có thể giải thích một cách chi tiết nhất có thể. Hơn nữa, đối với khách hàng không có sự hiểu biết về lĩnh vực phần mềm mà họ yêu cầu thì càng không thể trả lời những câu hỏi mang tính chuyên môn cao. Chính chúng ta sẽ là người hỗ trợ và đưa ra giải pháp thích hợp cho khách hàng lựa chọn.
Đầu ra
Đầu ra của giai đoạn phân tích yêu cầu bao gồm tài liệu chứa các câu hỏi và câu trả lời liên quan đến nghiệp vụ của hệ thống, tài liệu báo cáo tính khả thi, phân tích rủi ro của việc kiểm thử phần mềm.
2.2. Test planning - Lập kế hoạch kiểm thử
Đầu vào
Đầu vào của giai đoạn lập kế hoạch kiểm thử là các tài liệu đặc tả đã được cập nhật thông qua các câu hỏi và trả lời được đưa ra trong giai đoạn phân tích yêu cầu, tài liệu báo cáo tính khả thi, phân tích rủi ro của việc kiểm thử phần mềm.
Hoạt động
Dựa vào các tài liệu được cung cấp và cập nhật mới nhất, thông thường, test manager hoặc test leader sẽ là người lập kế hoạch kiểm thử cho cả QA team. Lập kế hoạch kiểm thử nhằm xác định một số yếu tố quan trọng sau:
- Xác định phạm vi(Scope) dự án: Dự án thực hiện trong thời gian bao lâu? Bao gồm những công việc gì cho từng khoảng thời gian xác định? Từ đó đưa ra lịch trình thực hiện cho từng công việc nhỏ sao cho phù hợp với toàn bộ đội dự án.
- Xác định phương pháp tiếp cận: Nói về cách tiếp cận để kiểm thử cho một đối tượng nào đó, thì phải dựa vào nhiều thứ, ví dụ như: Thời gian cho phép test có phù hợp với con số ước lượng, nhiều hay ít, yêu cầu chất lượng từ phía khách hàng thế nào? Cao, thấp hay khắc khe hay sao cũng được? Công nghệ / kỹ thuật sử dụng để phát triển ứng dụng này là gì? Lĩnh vực của hệ thống/sản phẩm đang được test (domain) là gì?...Từ đó, test manager có thể đưa ra những phương pháp và kế hoạch phù hợp nhất cho cả quá trình thực hiện dự án sao cho đúng với các tiêu chí chấp nhận của sản phẩm và kịp tiến độ với các mốc thời gian bàn giao, phát hành.
- Xác định các nguồn lực
Con người: Bao nhiêu người tham gia dự án, ai sẽ test phần nào, bao nhiêu tester tham gia?Tester và nhóm phát triển có kinh nghiệm về lĩnh vực này không?
Thiết bị: số lượng server, version, máy tính, mobile để thực hiện test là bao nhiêu. - Lên kế hoạch thiết kế công việc test: Bản kế hoạch kiểm thử sẽ bao gồm các nội dung:
Liệt kê các chức năng cần kiểm thử.
Để thực hiện test chức năng này thì cần làm những công việc gì, trong thời gian bao lâu, cái nào thực hiện trước, cái nào thực hiện sau, ai là người thực hiện.
Xác định điều kiện bắt đầu: xác định những điều kiện tối thiểu để bắt đầu hoạt động kiểm thử cho từng chức năng.
Xác định điều kiện kết thúc : khi có những điều kiện nào thì sẽ kết thúc việc kiểm thử.
Đầu ra
Đầu ra của giai đoạn lập kế hoạch bao gồm các tài liệu như test plan, test estimation, test schedule.
2.3. Test case development - Thiết kế kịch bản kiểm thử
Đầu vào
Đầu vào của giai đoạn thiết kế kịch bản kiểm thử là test plan, test estimation, test schedule, các tài liệu đặc tả đã được cập nhật.
Hoạt động
- Review tài liệu: Đầu tiên, các kiểm thử viên cần review lại tất cả các tài liệu để xác định công việc cần làm, các công việc có khác gì so với dự án trước khách hàng đưa cho, chức năng nào cần test, chức năng nào không cần test lại nữa. Từ đó, vừa có thể tiết kiệm thời gian mà vẫn đưa ra được một kịch bản kiểm thử đầy đủ và hiệu quả.
- Viết test case/ check list: Sau đó, tester bắt tay vào việc viết test case chi tiết dựa vào kế hoạch đã đưa ra và vận dụng các kỹ thuật thiết kế kịch bản kiểm thử. Test case cần bao phủ được tất cả các trường hợp kiểm thử có thể xảy ra cũng như đáp ứng đầy đủ các tiêu chí của sản phẩm. Đồng thời tester cũng cần đánh giá mức độ ưu tiên cho từng test case.
- Chuẩn bị dữ liệu kiểm thử: Cùng với việc tạo ra các test case chi tiết, đội kiểm thử cũng cần chuẩn bị trước các dữ liệu kiểm thử cho các trường hợp cần thiết như test data, test script.
- Review test case/ check list: Sau khi hoàn thành, các thành viên trong đội kiểm thử hoặc test leader cũng cần review lại test case đã tạo để có thể bổ sung, hỗ trợ lẫn nhau nhằm tránh những sai sót trong thiết kế test case và rủi ro về sau.
Đầu ra
Sau khi hoàn thành thiết kế kịch bản kiểm thử, đội kiểm thử sẽ có các tài liệu bao gồm: test design, test case, check list, test data, test automation script.
2.4. Test environment set up - Thiết lập môi trường kiểm thử
Đầu vào
Đầu vào của giai đoạn cài đặt môi trường kiểm thử là test plan, smoke test case, test data.
Hoạt động
- Việc cài đặt môi trường kiểm thử là giai đoạn cũng rất quan trọng trong vòng đời phát triển phần mềm. Môi trường kiểm thử sẽ được quyết định dựa trên những yêu cầu của khách hàng, hay đặc thù của sản phẩm ví dụ như server/ client/ network,...
- Tester cần chuẩn bị một vài test case để kiểm tra xem môi trường cài đặt đã sẵn sàng cho việc kiểm thử hay chưa. Đây chính là việc thực thi các smoke test case.
Đầu ra
Đầu ra của giai đoạn này là môi trường đã được cài đặt đúng theo yêu cầu, sẵn sàng cho việc kiểm thử và kết quả của smoke test case.
2.5. Test execution - Thực hiện kiểm thử
Đầu vào
Tài liệu đầu vào của giai đoạn này là test plan, test design, test case, check list, test data, test automation script.
Hoạt động
- Thực hiện các test case như thiết kế và mức độ ưu tiên đã đưa ra trên môi trường đã được cài đặt.
- So sánh với kết quả mong đợi sau báo cáo các bug xảy ra lên tool quản lý lỗi và theo dõi trạng thái của lỗi đến khi được sửa thành công.
- Thực hiện re-test để verify các bug đã được fix và regression test khi có sự thay đổi liên quan.
- Trong quá trình thực hiện kiểm thử, kiểm thử viên cũng có thể hỗ trợ, đề xuất cho cả đội dự án để có giải pháp hợp lý và kết hợp công việc hiệu quả.
- Đo và phân tích tiến độ: kiểm thử viên cũng cần kiểm soát chặt chẽ tiến độ công việc của mình bằng cách so sánh tiến độ thực tế với kế hoạch, nếu chậm cần phải điều chỉnh sao cho kịp tiến độ dự án, nếu nhanh cũng cần điều chỉnh vì có thể test lead lên kế hoạch chưa sát với thực tế dự án. Từ đó có thể sửa chữa test plan cần điều chỉnh để phù hợp với tiến độ dự án đưa ra.
- Report thường xuyên cho PM và khách hàng về tình hình thực hiện dự án: Cung cấp thông tin trong quá trình kiểm thử đã làm được những chức năng nào, còn chức năng nào, hoàn thành được bao nhiều phần trăm công việc, báo cáo các trường hợp phát sinh sớm, tránh ảnh hưởng tiến độ công việc của cả ngày.
Đầu ra
Đầu ra của giai đoạn này là test results( kết quả kiểm thử), defect reports( danh sách các lỗi tìm được).
2.6. Test cycle closure - Đóng chu trình kiểm thử
Đầu vào
Đầu vào của giai đoạn đóng chu trình kiểm thử là bao gồm tất cả những tài liệu liên quan đã được tổng hợp, ghi chép và hoàn thiện đầy đủ trong suốt quy trình kiểm thử của dự án: tài liệu phân tích đặc tả yêu cầu, test plan, test results, defect reports, tài liệu Q&A,...
Hoạt động
- Đây là giai đoạn cuối cùng trong quy trình kiểm thử phần mềm.
- Ở giai đoạn này, QA team thực hiện tổng kết, báo cáo kết quả về việc thực thi test case, bao nhiêu case pass/ fail, bao nhiêu case đã được fix, mức độ nghiêm trọng của lỗi, bao nhiêu lỗi cao/ thấp, lỗi còn nhiều ở chức năng nào, dev nào nhiều lỗi. Chức năng nào đã hoàn thành test/ chưa hoàn thành test/ trễ tiến độ bàn giao.
- Đánh giá các tiêu chí hoàn thành như phạm vi kiểm tra, chất lượng, chi phí, thời gian, mục tiêu kinh doanh quan trọng.
- Ngoài ra, giai đoạn này cũng thảo luận tất cả những điểm tốt, điểm chưa tốt và rút ra bài học kinh nghiệm cho những dự án sau, giúp cải thiện quy trình kiểm thử.
Đầu ra
Đầu ra của giai đoạn này bao gồm các tài liệu: Test report, Test results( final)
3. Quy trình kiểm thử phần mềm
Vậy là chúng ta đã tìm hiểu xong Kiểm thử phần mềm là gì, lợi ích của nó và các loại kiểm thử. Tiếp theo, hãy cùng đi đến quy trình kiểm thử nhé. Có rất nhiều quy trình khác nhau như: mô hình chữ V, mô hình thác nước, mô hình xoắn ốc, v.v. hoặc có thể là mô hình kết hợp những mô hình trên.
Tùy thuộc vào quy mô của phần mềm và tính cấp thiết của dự án, quy trình kiểm thử sẽ khác nhau. Tuy nhiên, bài viết này CO-WELL sẽ giới thiệu quy trình kiểm thử với 5 bước, bao gồm công việc lập kế hoạch và công việc sau đánh giá như sau:
1. Lập kế hoạch và kiểm soát
Lập kế hoạch kiểm thử là việc tạo ra một tài liệu mô tả tiếp cận tổng thể và các mục tiêu cần test. Bao gồm xem xét cơ sở test, xác định các điều kiện dựa trên phân tích các mục thử test, viết các trường hợp và thiết kế môi trường test. Tiêu chí hoàn thành được chỉ định để biết khi nào việc kiểm thử hoàn tất (ở bất kỳ giai đoạn nào).
Kiểm soát là hoạt động so sánh tiến độ thực tế so với kế hoạch và báo cáo tình trạng, bao gồm cả những sai lệch so với kế hoạch. Nó liên quan đến việc thực hiện các hành động cần thiết để đáp ứng mục tiêu của dự án.
Mục đích của bước này là:
- Xác định phạm vi, rủi ro và các mục tiêu test
- Xác định các tài nguyên test cần thiết như con người, môi trường, v.v.
- Lên lịch trình cho các nhiệm vụ phân tích và thiết kế, thực hiện, và đánh giá test
2. Phân tích và thiết kế
Phân tích và thiết kế kiểm thử có các nhiệm vụ chính sau:
- Xem xét cơ sở test – thông tin dựa trên các trường hợp test, chẳng hạn như yêu cầu, đặc điểm thiết kế, phân tích rủi ro, kiến trúc và giao diện
- Xác định các điều kiện test
- Thiết kế các bài test
- Thiết kế môi trường thử test, thiết lập và xác định cơ sở hạ tầng và công cụ cần thiết
3. Thực hiện kiểm thử
Thực hiện kiểm thử là việc test chỉ định trên hệ thống máy tính theo cách thủ công hoặc sử dụng công cụ test tự động. Việc triển khai test có nhiệm vụ chính sau:
- Tiến hành các trường hợp test bằng cách sử dụng các kỹ thuật và tạo dữ liệu cho các thử nghiệm đó
- Tạo các bộ kiểm thử từ các trường hợp test để thực hiện hiệu quả. Bộ kiểm thử là tập hợp các trường hợp test được sử dụng để kiểm thử phần mềm
- Thực hiện lại các trường hợp test không thành công trước đó để xác nhận bản sửa lỗi
- Ghi lại kết quả của việc thực hiện test. Ở đó nhật ký kiểm thử ghi lại trạng thái của trường hợp test. (đạt / không đạt)
- So sánh kết quả thực tế với kết quả mong đợi
4. Đánh giá tiêu chí hoàn thành và báo cáo
Đánh giá tiêu chí hoàn thành là quá trình xác định thời điểm dừng kiểm thử. Nó phụ thuộc vào phạm vi của mã code, chức năng hoặc rủi ro. Ngoài ra cũng phụ thuộc vào rủi ro business, chi phí, thời gian và sự khác nhau giữa các dự án. Đánh giá tiêu chí hoàn thành có các nhiệm vụ chính sau:
- Đánh giá xem có cần test thêm hoặc tiêu chí hoàn thành đã chỉ định có cần thay đổi hay không
- Viết một báo cáo tóm tắt kiểm thử cho các bên liên quan
5. Hoàn tất kiểm thử
Quy trình hoàn tất kiểm thử được thực hiện khi phần mềm sẵn sàng được bàn giao. Ngoài ra, kiểm thử có thể bị dừng lại vì các lý do khác như:
- Khi dự án bị hủy bỏ
- Khi đạt được một số mục tiêu
- Khi bản cập nhật hoặc release bảo trì hoàn thanh
Bước này có các nhiệm vụ chính sau:
- Kiểm tra xe sản phẩm được bàn giao chưa, theo kế hoạch nào, và để đảm bảo rằng tất cả các báo cáo sự cố đã được giải quyết
- Hoàn thiện và lưu trữ phần mềm kiểm thử như scripts, môi trường test, v.v. để sử dụng lại sau này
- Bàn giao phần mềm kiểm thử cho bên bảo trì
- Đánh giá cách test đã thực hiện và rút kinh nghiệm cho các bản release và dự án trong tương lai
Bài viết trên là những thông tin chi tiết và cụ thể về quy định kiểm thử phần mềm. Nếu có những câu hỏi và thắc mắc liên quan đến quy định kiểm thử phần mềm hãy liên hệ Công ty Luật ACC để được tư vấn và hỗ trợ về vấn đề này.
Nội dung bài viết:
Bình luận