Lập kế hoạch kiểm thử là gì? Các bước để lập kế hoạch kiểm thử

Kiểm thử phần mềm (software testing) là hoạt động nhằm tìm kiếm và phát hiện ra các lỗi của phần mềm, đảm bảo phần mềm chính xác, đúng và trọn vẹn theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra. Software testing cũng gửi tới mục tiêu, cái nhìn độc lập về phần mềm điều này cho phép đánh giá và hiểu rõ các rủi ro khi thực thi phần mềm. Căn cứ là gì? Hãy cùng LVN Group nghiên cứu thông qua nội dung trình bày dưới đây

Lập kế hoạch kiểm thử là gì? Các bước để lập kế hoạch kiểm thử

1. Kiểm thử là gì?

Đây là một trong những loại kiểm thử phần mềm cần thiết để xác nhận xem hệ thống có hoạt động đúng yêu cầu được không. Ở tất cả các mức độ kiểm thử đều được kiểm thử chức năng. 

Testing of function là một trong những loại kiểm thử phần mềm cần thiết

Testing of function có thể thực hiện theo 2 quan điểm: business – process – based và requirements-based. Với business – process – based, kiểm thử viên sẽ sử dụng các kiến thức về quy trình nghiệp vụ (mô tả các kịch bản liên quan đến nghiệp vụ của hệ thống mỗi ngày).

Trong khi đó, requirements-based sử dụng các đặc tả yêu cầu của hệ thống làm cơ sở để design test. Để đảm bảo những thành phần cần thiết nhất đều được kiểm thử, hãy xem xét độ ưu tiên của yêu cầu dựa trên tiêu chí rủi ro, theo đó, chúng ta sẽ sử dụng độ ưu tiên để kiểm thử. 

Các bước kiểm thử chức năng gồm: 

Bước 1: Xác định phần mềm sẽ kiểm thử và chức năng của nó 

Bước 2: Dựa trên tài liệu đặc tả chức năng để tạo dữ liệu đầu vào 

Bước 3: Dựa vào tài liệu đặc tả chức năng để xác định đầu ra

Bước 4: Thực hiện các trường hợp kiểm thử phần mềm  

Bước 5: So sánh kết quả thực tiễn với mong muốn đạt được 

2. Phương pháp kiểm thử

Phương pháp kiểm thử (Testing Methods) Kiểm thử hộp trắng (White Box Testing) Kiểm thử hộp đen (Black Box Testing):

  • Phân vùng tương đương (Equivalence partitioning)
  • Phân tích giá trị biên (Boundary value analysis)
  • Bảng quyết định (Decision table)
  • Đoán lỗi – Error Guessing

3. Các thành phần chính, cần thiết trong việc lập kế hoạch

3.1 Chiến lược kiểm thử

  • Lập kế hoạch kiểm thử mức cao
  • Test scripts
  • Test Cases
  • Test data

Sau đây chúng ta sẽ đi vào từng thành phần

Chiến lược kiểm thử Đây là tài liệu ghi lại cách tiếp cận kiểm thử cho các thành phần còn lại Các chiến lược kiểm thử có thể được phát triển rất sớm trong một dự án và chỉ yêu cầu thông tin ban đầu để có thể viết. Bất cứ khi nào một loại dự án hoặc công nghệ mới đang được kiểm thử, chiến lược kiểm thử là một trong những tài liệu cần thiết nhất cần thiết lập và cho ra đời sớm nhất.

Lập kế hoạch kiểm thử mức cao Đây là tài liệu mô tả cho việc kiểm thử “ai, cái gì, khi nào, ở đâu và thế nào”. Kế hoạch kiểm thử có thể được phát triển ở nhiều mức độ khác nhau, nhưng chúng tôi sẽ tập trung chủ yếu ở cấp độ dự án hoặc hệ thống trong phạm vi tài liệu này.

Kiểm thử mức chi tiết hơn ( Test scripts, Test cases, Test data) Kế hoạch kiểm thử mức cao sẽ cho thấy các function và thuộc tính nào của ứng dụng sẽ được kiểm thử. Các mô tả kiểm thử chi tiết thể hiện các thử nghiệm này theo nghĩa là người kiểm thử có thể thực thi hoặc có thể được viết test scripts để có thể thực hiện kiểm thử tự động. Chúng tôi sẽ xem xét làm thế nào để phát triển tất cả các thành phần trên và hiển thị các ví dụ của mỗi thành phần.

3.2 Các nhiệm vụ (tasks) chính trong việc lập kế hoạch kiểm thử

  • Phát triển chiến lược kiểm thử
  • Xác định mục tiêu kiểm thử
  • Xác định các nguồn lực cần thiết
  • Lập kế hoạch môi trường kiểm thử
  • Xác định thủ tục kiểm thử (Test Procedures)
  • Xác định các function cần kiểm thử
  • Xác định các giao diện cần kiểm thử
  • Viết Test Scripts
  • Xác định Test cases
  • Thiết kế Test Data
  • Xây dựng Test maxtric
  • Thiết lập Test schedules
  • Giả định thông tin
  • Kết thúc việc lập kế hoạch

Nhiệm vụ 1: Phát triển chiến lược kiểm thử

Định nghĩa các khía cạnh riêng của kiểm thử

Xác định

Nhân tố cần thiết tạo nên thành công của dự án (Critical Success Factors – CSF)

Loại ứng dụng

Loại dự án

Loại môi trường

Phạm vi kiểm thử

Rủi ro (Criticality)

Xác định

Ai sẽ là người kiểm thử

Khi nào kiểm thử sẽ được tiến hành

Kết hợp các yếu tố

Chi phí

Lịch trình (schedule)

Phạm vi (scope)

Chất lượng

Chiến lược kiểm thử là tài liệu cấp cao mô tả tính chất cơ bản và các khía cạnh riêng của kiểm thử. Chiến lược kiểm thử là một công cụ để giao tiếp để mọi người trong dự án biết cách kiểm thử sẽ được tiến hành. Các chiến lược kiểm thử có thể được xây dựng sớm trong dự án cho phép kiểm thử tiến hành một cách sớm nhất Một chiến lược kiểm thử điển hình sẽ xác định:

  1. Nhân tố cần thiết tạo nên thành công của dự án (Critical Success Factors – CSF)

Các nhân tố cần thiết tạo nên thành công của dự án là các thuộc tính của một ứng dụng phải có mặt để nó được coi là thành công. Ví dụ về CSF bao gồm tính chính xác, khả năng sử dụng, độ tin cậy, tính di động, khả năng tương tác và bảo mật. Các CSF liên quan trực tiếp đến kiểm tra các rủi ro và rủi ro dự án. Điều cần thiết là chỉ chọn 4 hoặc 5 yếu tố cần thiết, vì mỗi yếu tố sẽ yêu cầu các công cụ, con người và quy trình cụ thể.

  1. Loại ứng dụng Mô tả mục đích và mục tiêu của ứng dụng, chẳng hạn như: batch, on-line, web-base, Windows 32 bit, thương mại điện tử, truy cập dữ liệu, mạng nội bộ của công ty, extranet của khách hàng, v.v.
  2. Loại môi trường Mô tả loại môi trường hoạt động hoặc nền tảng ứng dụng sẽ tùy thuộc vào. Có thể bao gồm môi trường người dùng, cũng như môi trường vật lý, chẳng hạn như ngoài trời, truy cập công cộng, quyền truy cập bị giới hạn, v.v.
  3. Phạm vi kiểm thử Mô tả cái sẽ được test và không được test
  4. Rủi ro (Criticality)

Là bất kỳ khía cạnh nào của ứng dụng được kiểm thử làm tổ chức bị ảnh hưởng, mất mát.

Nhiệm vụ 2: Xác định mục tiêu kiểm thử

Xác định những gì sẽ được kiểm thử ở mức cao (high level)

Tốt nhất nên dựa trên yêu cầu

Mặt khác có thể dựa trên:

Quy trình và nghiệp vụ

Nhu cầu của khách hàng

Những chức năng cơ bản

Mục tiêu kiểm thử nên liên quan trực tiếp đến các mục tiêu của dự án hoặc hệ thống. Đối với mỗi hệ thống hoặc mục tiêu của dự án, cần có mục tiêu kiểm thử. Bạn có thể chọn để xác định mục tiêu kiểm thử của hệ thống bằng cách chia nhỏ các chức năng hoặc vùng chức năng. Trong việc thiết lập các mục tiêu kiểm thử, xác định tất cả những điều mà kiểm thử nên hoàn thành. Trong trường hợp lý tưởng, các mục tiêu kiểm thử sẽ dựa trên chi tiết được xác định yêu cầu. Tuy nhiên, người kiểm thử thường không nhận được mức độ chi tiết trong các yêu cầu để viết mục tiêu. Thay vào đó, các mục tiêu kiểm thử có thể thu được từ:

Quy trình và nghiệp vụ

Ví dụ, bạn cần biết khách hàng sẽ đặt một số loại giao dịch hoặc yêu cầu một số dịch vụ nhất định …

Nhu cầu của khách hàng

Bạn cần biết khách hàng cần có phản hồi nhanh với các yêu cầu hoặc có thể huỷ giao dịch

3.3 Những chức năng cơ bản

Một số chức năng cơ bản cần cho phần mềm ví dụ như: tìm kiếm, các nút (buttons), controls…

Nhiệm vụ: Xác định các chức năng cần kiểm thử

Dựa trên yêu cầu Các yêu cầu của ứng dụng hoặc hệ thống thường được văn bản hoá, đó chính là nguồn tốt nhất để tìm ra các chức năng cần được kiểm thử. Tuy nhiên các yêu cầu này có thể thường xuyên được thay đổi. Do đó quy trình kiểm thử cần phải đáp ứng được với sự thay đổi yêu cầu này

Dựa trên chức năng hoạt động/ nghiệp vụ của toàn hệ thống

Các sự kiện (events) của hệ thống

Các chức năng trong hệ thống nhà gửi tới

Mục đích Thương mại

Ví dụ về tài liệu kế hoạch kiểm thử với các chức năng cần kiểm thử

Hệ thống: Hệ thống lương

4. Các bước để lập kế hoạch kiểm thử

4.1 Bước 1: Phân tích sản phẩm (Analyze the product)

Đây là bước đầu tiên và cũng là bước quyết định cho các tiến trình kiểm thử tiếp theo. Để phân tích sản phẩm, người lập kế hoạch test plan có thể dựa vào bộ câu hỏi sau đây:

Ai sẽ sử dụng sản phẩm này?

Sản phẩm này được dùng để làm gì?

Sản phẩm này sẽ công tác thế nào?

Phần cứng và phần mềm của sản phẩm là gì?

4.2 Bước 2: Lập chiến lược kiểm thử (Develop Test Strategy)

Bước 2.1: Định nghĩa phạm vi kiểm thử (Define Scope of Testing)

Một phạm vi kiểm thử (scope) đúng đắn sẽ giúp đội nhóm nắm được những thông tin chính xác nhất về quá trình kiểm thử. Họ sẽ biết chắc chắn những nội dung nào được kiểm thử (in-scope)và những gì không (out of scope) 

Cách viết test plan phần quy trình xác định phạm vi kiểm thử gồm 4 giai đoạn

  • Precise customer requirement (Nắm được yêu cầu chính xác của khách hàng)
  • Project Budget (Ngân sách dự án)
  • Product Specification (Đặc điểm kỹ thuật sản phẩm)
  • Skills & talent of your test team (Kỹ năng & trình độ của nhóm kiểm thử của bạn)

Các giai đoạn trong quy trình kiểm thử phần mềm

Bước 2.2: Xác định loại kiểm thử (Identify Testing Type)

Từng testing type được xây dựng để tìm ra một loại bug cụ thể. Tùy theo mỗi loại sản phẩm hay loại tính năng trong giai đoạn test mà người viết plan sẽ chọn các testing type khác nhau. 

4.3 Bước 3: Xác định mục tiêu kiểm thử (Define Test Objective)

Test Objective (Đối tượng kiểm thử) được coi là là mục tiêu tổng thể của toàn bộ dự án test. Cách viết test plan để xác định được mục tiêu kiểm thử là bạn nên rà soát lại toàn bộ tính năng của phần mềm có thể cần được test. Sau đó dựa trên chính những tính năng đó để xác định mục tiêu test.

4.4 Bước 4: Xác định tiêu chí kiểm thử (Define Test Criteria)

Test Criteria (Tiêu chí kiểm thử) là một tiêu chuẩn hoặc quy tắc để quá trình test sản phẩm được diễn ra đúng chuẩn. Có 2 loại tiêu chí, đó là:

  1. Tiêu chí đình chỉ kiểm thử (Suspension Criteria)

Đây là tiêu chí phát hiện ra bugs trong quá trình test. Căn cứ, nếu trong quá trình test xuất hiện tiêu chí đình chỉ kiểm thử, chu kỳ kiểm thử hoạt động sẽ dừng lại (đình chỉ) cho đến khi được xử lý

  1. Tiêu chí kết thúc kiểm thử (Exit Criteria)

Đây là tiêu chí để hoàn thành test và là mục tiêu chính của từng giai đoạn test để có thể kết thúc và bước sang giai đoạn tiếp theo. Phương pháp xác định tiêu chí kết thúc test dựa vào hai tỷ lệ sau:

Run rate: là tỉ số giữa số trường hợp đã test chia cho tổng số trường hợp test trên plan. Run rate bắt buộc phải là 100%

Pass rate: là tỉ số giữa số lượng các trường hợp pass test chia cho số trường hợp đã test. Pass rate nên càng cao càng tốt

4.5 Bước 5: Hoạch định nguồn lực (Resource Planning)

Trong bất cứ một dự án nào thì hoạch định nguồn lực luôn là một phần cần thiết bởi lẽ nguồn lực luôn hữu hạn và khác biệt tùy theo từng project. Các Test manager nên liệt kê và xác định rõ ràng lượng nhân sự cũng như thiết bị cho dự án để lên kế hoạch hợp lý nhất. 

Resource Planning

4.6 Bước 6: Lập kế hoạch môi trường kiểm thử (Plan Test Environment)

Test Environment là một thiết lập của phần mềm và phần cứng mà nhóm kiểm thử sẽ thực hiện các trường hợp kiểm thử. Môi trường kiểm thử sẽ gồm người dùng cuối, môi trường kinh doanh, môi trường chạy UI, máy chủ,… Để cài đặt Test Environment, bạn cần có sự hợp tác chặt chẽ giữa team Kiểm thử và team Phát triển phần mềm

4.7 Bước 7: Lập lịch trình và dự toán (Schedule & Estimation)

Cách viết test plan phần project schedule bao gồm các mục

Nhân sự và deadline (theo ngày, theo giai đoạn)

Dự toán dự án: Dựa trên dự toán, Test Manager sẽ xác định thời gian dự án hoàn thành để lên lịch trình phù hợp

Rủi ro của dự án: Nắm được rủi ro sẽ có phương án dự phòng cũng như thêm đủ thời gian để giải quyết

4.8 Bước 8: Xác định phân phối thử nghiệm (Determine Test Deliverables)

Sản phẩm có thể giao hàng là sản phẩm hoàn chỉnh được trình bày sau một quá trình. Trong trường hợp Kiểm thử phần mềm, các phân phối thử nghiệm là danh sách tất cả các tài liệu, công cụ và các hiện vật khác được phát triển và sử dụng để hỗ trợ quá trình thử nghiệm.

Ba loại thử nghiệm có thể phân phối bao gồm:

  • Phân phối trước khi thử nghiệm:
  • Tài liệu kế hoạch kiểm tra
  • Bộ thử nghiệm các trường hợp thử nghiệm
  • Phân phối trong quá trình thử nghiệm
  • Tập lệnh thử nghiệm
  • Dữ liệu thử nghiệm
  • Ma trận truy xuất nguồn gốc
  • Nhật ký thực thi và nhật ký lỗi
  • Phân phối sau khi thử nghiệm
  • Kết quả thử nghiệm và báo cáo
  • Báo cáo sai sót
  • Quy trình cài đặt
  • Ghi chú phát hành

 

SOẠN HỢP ĐỒNG, ĐƠN, VĂN BẢN THEO YÊU CẦU CHỈ 500.000đ

--- Gọi ngay 1900.0191 ---

(Tư vấn Miễn phí - Hỗ trợ 24/7)

Công ty Luật LVN - Địa chỉ: Số 16B Nguyễn Thái Học, Yết Kiêu, Hà Đông, Hà Nội, Việt Nam

Gmail: luatlvn@gmail.com