12/08/2018, 13:05

Giới thiệu Software Testing Life Cycle (STLC)?

Xu hướng năm 1960 Xu hướng năm 1990 Xu hướng năm 2000 Xu hướng và cách thực hiện test đang thay đổi. Tester hiện tại được yêu cầu phải có kĩ thuật và định hướng quy trình hơn. Testing bây giờ không chỉ yêu cầu giới hạn trong việc tìm bug mà phạm vi được mở rộng, và được yêu cầu ...

Xu hướng năm 1960 1960.jpg

Xu hướng năm 1990

1990.jpg

Xu hướng năm 2000 2000.jpg

Xu hướng và cách thực hiện test đang thay đổi. Tester hiện tại được yêu cầu phải có kĩ thuật và định hướng quy trình hơn. Testing bây giờ không chỉ yêu cầu giới hạn trong việc tìm bug mà phạm vi được mở rộng, và được yêu cầu từ lúc bắt đầu của project khi mà yêu cầu còn chưa được hoàn thiện.

Từ khi testing được tiêu chuẩn hóa. Cũng giống như phát triển phần mềm, testing cũng có lifecycle.

Lifecycle là gì

images.jpg

Lifecycle là một thuật ngữ chỉ trình tự các thay đổi từ dạng này sang dạng khác. Những thay đổi này có thể xảy ra với những thứ hữu hình hay vô hình. Mỗi một thực thể nào cũng có một lifecycle từ khi bắt đầu đến khi kết thúc.

Software cũng như phát triển phần mềm bao gồm một loạt các bước cần được thực hiện theo một trình tự nhất định. Việc thực hiện các hoạt động test một cách có hệ thống và kế hoạch được gọi là Testing life cycle.

**Software Testing Life Cycle (STLC) là gì **

Software Testing Life Cycle đề cập đến một quy trình test (testing process) trong đó các bước cụ thể được thực hiện theo một trình tự nhất định để đảm bảo các mục tiêu chất lượng được đáp ứng. Trong quy trình STLC, mỗi hoạt động được thực hiện một cách có kế hoạch và hệ thống. Mỗi giai đoạn có những mục tiêu khác nhau. Các tổ chức khác nhau có các giai đoạn khác nhau, nhưng cơ sở là giống nhau.

STLC.jpg

Dưới đây là các giai đoạn của STLC:

  • Requirements phase (Giai đoạn tìm hiểu requirement)

  • Planning Phase (Giai đoạn lập kế hoạch)

  • Analysis phase (Giai đoạn phân tích)

  • Design Phase (Giai đoạn thiết kế)

  • Implementation Phase (Giai đoạn thực hiện test case)

  • Execution Phase (Giai đoạn tiến hành test)

  • Conclusion Phase (Giai đoạn tổng kết)

  • Closure Phase (Giai đoạn đóng quy trình)

1. Requirements phase

Phân tích và tìm hiểu requirement trong giai đoạn này. Thực hiện brain storming với các team khác, cố gắng tìm hiểu xem các yêu cầu có được kiểm chứng hay ko. Giai đoạn này sẽ giúp xác định phạm vi của các thử nghiệm. Nếu bất kỳ tính năng không thể kiểm chứng, thì cần lên kế hoạch cho các chiến lược nhằm giảm thiểu

2. Lập kế hoạch giai đoạn:

Trong kịch bản thực tế, Testing plan là bước đầu tiên của quá trình thử nghiệm. Trong giai đoạn này, chúng ta xác định các hoạt động và nguồn lực để giúp đáp ứng các mục tiêu thử nghiệm. Trong plan, cố gắng để xác định các số liệu, phương pháp thu thập và theo dõi các số liệu đó. 2 yếu tố rất quan trọng có ảnh hưởng đến testing plan là:

  • Kiểm tra chiến lược của tổ chức (Test strategy)
  • Phân tích rủi ro / Quản lý và giảm nhẹ rủi ro (Risk analysis / Risk Management)

3. Phân tích giai đoạn:

Giai đoạn này định nghĩa "CÁI GÌ" được kiểm tra. Chúng ta về cơ bản xác định các điều kiện thử nghiệm thông qua các requirements document, product risks và các tài liệu kiểm thử khác. Các điều kiện thử nghiệm nên được truy nguyên đối với yêu cầu. Có nhiều yếu tố khác nhau mà hiệu quả việc xác định các điều kiện kiểm tra:

  • Mức độ và độ sâu của kiểm thử
  • Tính phức tạp của sản phẩm
  • Rủi ro của sản phẩm và dự án
  • Vòng đời phát triển phần mềm có liên quan
  • Quản lý test
  • Các kỹ năng và kiến thức của team
  • Các bên liên quan

Nên cố gắng viết ra các điều kiện test một cách chi tiết.

Ví dụ, đối với một ứng dụng web thương mại điện tử, có thể có một điều kiện thử nghiệm là "User nên tạo một payment". Hoặc có thể chi tiết nó ra bằng cách "use sẽ có thể thực hiện thanh toán (make payment) thông qua NEFT, thẻ ghi nợ (debit card)và thẻ tín dụng(credit card)". Lợi thế quan trọng nhất của văn bản điều kiện kiểm tra chi tiết là nó làm tăng test coverage, vì các test case sẽ được viết trên cơ sở các điều kiện kiểm thử, những điều kiện cụ thể này sẽ giúp viết các được test case chi tiết hơn mà cuối cùng sẽ làm tăng the coverage. Xác định cả các điều kiện để ngừng test.

4. Giai đoạn thiết kế:

Giai đoạn này định nghĩa "CÁCH" để kiểm tra. Giai đoạn này bao gồm các công việc sau:

  • Chi tiết các điều kiện kiểm tra.
  • Xác định và lấy dữ liệu test
  • Xác định và thiết lập môi trường test
  • Tạo các matric để theo dõi yêu cầu
  • Tạo các matric để coverage test

5. Giai đoạn thực hiện test case:

Các nhiệm vụ chủ yếu trong giai đoạn này là tạo detail test case. Ưu tiên các test case được test hồi quy. Trước khi hoàn thành test case cần review. Đặt status cho các testcase trong quá trình thực hiện. Nếu dự án liên quan đến tự động hóa, cần xác định các test case cho các trường hợp test tự động

6. Giai đoạn tiến hành test:

Đây là giai đoạn thực hiện test. Nhưng trước khi bắt đầu thực hiện, hãy chắc chắn rằng tiêu chuẩn đầu vào được đáp ứng. Thực hiện các test case, log defect trong trường hợp có sự khác biệt. Đồng thời điền các thông tin test vào tài liệu test case

7. Giai đoạn tổng kết:

Giai đoạn này tập trung vào các tiêu chuẩn hoàn thành và báo cáo. Lựa chọn tùy thuộc vào dự án và các bên liên quan. Có nhiều loại báo cáo khác nhau (DSR - Báo cáo tình trạng hàng ngày, WSR - báo cáo tình trạng Weekly) mà bạn có thể gửi , nội dung báo cáo phụ thuộc vào người nhận và đọc báo cáo. Khi báo cáo cho Project manager người theo sát dự án thì cần quan tâm nhiều hơn tới các khía cạnh kỹ thuật của dự án(số lượng các test cases passed, failed, defects, mức độ nghiêm trọng của defect). Nhưng nếu báo cáo với các bên liên quan cấp cao hơn, họ có thể không quan tâm đến kỹ thuật, nên báo cáo về rủi ro và cách giảm thiểu rủi ro.

8. Giai đoạn đóng quy trình:

Nhiệm vụ cho các hoạt động đóng quy trình bao gồm:

  • Kiểm tra việc hoàn thành test cho dù tất cả các test case đã được thực hiện hoặc được cân nhắc kĩ.
  • Họp và tạo tài liệu kinh nghiệm sau dự án (bao gồm những điểm tốt, điểm xấu, những gì có thể thực hiện được để nâng cao chất lượng)

**Tổng kết **

| **STT** | **Giai đoạn** | **Đầu vào** | **Thực hiện** | **Đầu ra** |
|  | Requirement |-Requirements specification document
- Application design document
- User acceptance criteria document
 | Thực hiện brainstorming để phân tích requirement. Tạo danh sách các requirement và đặt câu hỏi làm sáng tỏ requirement
Hiểu được tính khả thi của requirement để biết được nó có thể test hay ko.
Nếu project yêu cầu tự động hóa thì cần nghiên cứu cách thực hiện automation test
 | -Requirements understanding document
- Testing feasibility report
- Automation feasibility report |
|  | Planing | - Updated requirements document.
- Test feasibility reports
- Automation feasibility report
| - Xác định phạm vi dự án
- Phân tích rủi ro và chuẩn bị kế hoạch giảm thiểu rủi ro
- Ước lượng cho việc test
- Xác định chiến lược và quy trình test
- Xác định các loại công cụ và nguồn lực, tiến hành đào tạo nếu cần thiết
- Xác định môi trường
| - Test Plan document.
- Risk mitigation document.
- Test estimation document |
|  | Analysis | - Updated requirements document
- Test Plan document
- Risk Document
- Test estimation document
 | - Xác định chi tiết điều kiện test | Test conditions document |
|  | Design | - Updated requirements document
- Test conditions document
 | - Làm chi tiết các điều kiện test
- Xác định test data
- Tạo test case dọc (traceability metrics)
 | - Detailed test condition document
- Requirement traceability metrics
- Test coverage metrics
|
|  | Implementation | Detailed test condition document | - Tạo và review test case
- Tạo và review automation script
- Xác định các  test case sử dụng trong regression và automation test
- Tạo data test
 | - Test cases
- Test scripts
- Test data
 |
|  | Execution | Test cases
Test scripts
 | - Thực hiện test case
- Log bug/ defect
- Báo cáo tình trạng
 | - Test execution report
- Defect report
- Test log and Defect log
- Updated requirement traceability metrics
 |
|  | Conclusion | Updated test cases with results
Test closure conditions
 | - Cung cấp chính xác số liệu và kết quả test
- Xác định rủi ro để giảm thiểu
 | - Updated traceability metrics
- Test summary report
- Updated risk management report
 |
|  | Closure | 	Test closure condition
Test summary report
 | Thực hiện retrospective meeting và rút ra bài học | - Lessons learnt document
- Test matrices
- Test closure report
 |

Nguồn: http://www.softwaretestinghelp.com/what-is-software-testing-life-cycle-stlc/

0