ISTQB Foundation - CHAPTER 2

ISTQB Foundation - CHAPTER 2

1. SOFTWARE DDEVELOPMENT LIFECYCLE

- Software development lifecycle models are serveral characteristics of good testing – Các mô hình vòng đời phát triển đều có 1 số đặc điểm test tốt

- Every development activity – 1 corresponding test activity – Mọi hoạt phát triển tương ứng với 1 hoạt động test tương ứng

- Each test level has test objective specific – Mỗi test level có mục tiêu test cụ thể

- Test analysis & design for a test level begin corresponding development activity – Phân tích & thiết kế test cho 1 test level bắt đầu trong tgian hoạt động phát triển tương ứng

- Tester discuss to define and refine requirements and design, review work product – Tester thảo luận để xác định, sàng lọc/làm rõ yêu cầu và thiết kế, xem xét work product (SRS, design, requirement...)

- Test activitys should start early state of lifecycle – Các hoạt động test nên bắt đầu ở giai đoạn đầu phát triển

- 2 common models: Có 2 mô hình phổ biến

  o Sequential development models – Mô hình phát triển tuần tự

  o Iterative and increamental development models – Mô hình phát triển lặp và tăng trưởng

1.1. Sequential development models

- Example: Waterfall model, V model

- In this model, the development activities are completed one after another. Test activities only occur affter all other development activities completed – Các hoạt động phát triển được hoàn thành lần lượt. Hoạt động test chỉ sảy ra khi tất cả hoạt động phát triển khách đã hoàn thành.

- Integrate test process throughout development process – Tích hợp quy trình test trong suốt quá trình phát triển

- Early testing

- 1 development activity – 1 corresponding test activity

- Some case, test levels overlapping occurs – một vài trường hợp, test level sảy ra chồng chéo

1.2. Iterative and increamental development model

- Example:

  o Rational unified process: Long intergration (2-3 months), feature increasments are large – Vòng lặp dài, các tính năng tương đối lớn

  o Scrum: Short integration (days or few weeks), feature increasments are small – Vòng lặp ngắn, các tính năng nhỏ

  o Kanban: implement with/without fixed-length integration – Triển khai với các vòng lặp cố định hoặc không cố định

  o Spiral (Prototyping)

- Characteristics:

  o Establishing requirements, design, build, test system in pieces => software’s features increase – Thiết lập các yêu cầu, thiết kế, xây dựng và test hệ thống thành từng phần

  o Group features are specified, designed, built, tested together in a series of lifecycles often fix duration – Các nhóm tính năng được chỉ định, xây dựng test cùng nhau trong chuỗi chu kỳ thường có thời lượng cố định

  o Change features in early interations => change scope – Thay đổi tính năng ở lần lặp trước đó => thay đổi phạm vi dự án

  o Each feature is tested at several test level when delivery – Mỗi tính năng được test ở 1 vài test level khi chuyển sang bàn giao

- Iterative and increamental model may deliver usable in weeks/even days, but complete set of requirement over/periods of moths/even years – Mô hình lặp và tăng trưởng có thể cung cấp phần mềm có thể sử dụng trong vài tuần/tháng nhưng để hoàn thiện yêu cầu trong vài tháng/năm

1.3. Software development lifecycle models in context

- Software development lifecycle models in context must be selected and adapted to the context of project and product – Các mô hình vòng đời phát triển phần mềm phải được chọn, điều chỉnh phù hợp với dự án, sản phẩm:

  o Project goal: Mục tiêu dự án

  o Type of product: Loại dư án

  o Business priorities: Các ưu tiên kinh doanh

  o Product, project risk: Rủi do về dự án, sản phẩm

2. TEST LEVEL

Common objective of test level: Mục tiêu chung của test level

- Reduce rick – Giarm rủi ro

- Verify fun-non funtional behavior –

- Build confidence – Xây dựng lòng tin

- Find defects – Tìm lỗi

- Prevent defect – Giảm lỗi

 

Unit/Component test

Integration test

System test

Acceptance test

Objective

(Mục tiêu)

Components are testable – Các thành phần có thể test

Integations and interfaces – Tich hợp và giao diện

System – Hệ thống

Establishing confidence – Tạo lòng tin

Validate system – Xác nhận hệ thống

Verify func-non function

Special

(Riêng biệt)

 

 

 

UAT by end user

OAT by administrator

 

Test basic

(Cơ sở kiểm thử)                             

Detail design code

Data model

User case

Workflow

 

Requirement specification

User case

State  diagram

 

Environment

(Môi trường)

Framework, debug tool

(Cant find operational defect- Không tìm được lỗi vận hành)

Specific environment – Môi trường cụ thể

Corresspond to production environment – Tương ứng môi trường product

Corresspond to production environment

Production

Test type

(Loại kiểm thử)

Func-Non functional

Structure base

Func-Non functional

Func-Non functional

all

Approach

(Cách tiếp cận)

Test fisrt approach

Test driven development

Big-bang integration

Increament integration (Top-down, bottom up)

 

Alpha-Beta testing

 

- UAT focus on validate fitness for use

- Main objective of UAT is builing confidence

- Acceptance test by operations/system’s administrations is usually performed in production environment

- Main objective of OAT is buiding confidence that can keep system working properly in operational environment, even under exceptional/difficult condition – Mục tiêu chính của OAT là xây dựng lòng tin rằng có thể giữ cho hệ thống hoạt động tốt trong môi trường hoạt động ngay cả trong điều kiện đặc biệt/khó khăn

- Alpha testing is performed at the develop organization’s site - Alpha testing được thực hiện tại địa điểm của tổ chức phát triển

- Beta testing is performed at customer’s location - Beta testing được thực hiện tại địa điểm của khách hàng

3. Test type

- Functional quality characteristic: Completeness, correctness, appropriateness - Tính đầy đủ, tính đúng đắn, tính phù hợp

- Non-functional quality characteristic: Reliability, performance efficiencecy, security, compatibility, usability - Độ tin cậy, hiệu quả hoạt động, bảo mật, khả năng tương thích, khả năng sử dụng

- Structural testing (Chap 4)

- Retest/Confirmation test: Confirm whether the orginal defect has been successfully fix - Xác nhận xem lỗi ban đầu đã được khắc phục thành công hay chưa

- Regression test: Re-run tests to detect such unintended side-effects - Chạy lại thử nghiệm để phát hiện các lỗi ngoài ý muốn

4. MAINTENANCE TESTING

Maintenance testing focus on: Test bảo trì tập trung vào

- Test the changed parts - Test những phần sửa đổi

- Test the unchanged parts that might has been affected by the changes - Test các phần không bị sửa đổi, chúng có thể bị ảnh hưởng bởi những thay đổi

4.1. Triggers for maintenance

- Modification

- Migration

- Retirement

4.2. Impact analysis for maintenance

- Identify the areas that will be affected by change - Xác định các khu vực sẽ bị ảnh hưởng bởi sự thay đổi

- Identify the scope of existing test for regression test - Xác định phạm vi thử nghiệm hiện tại cho thử nghiệm hồi quy

- Identify analysis may be done before a change is made, decide if the change should be made - Phân tích xác định có thể được thực hiện trước khi thực hiện thay đổi, quyết định xem có nên thực hiện thay đổi đó không

#Note: Đât là tài liệu tóm tắt nhằm dễ học dễ nhớ, không check cấu trúc ngữ pháp :v

Nguồn: Tài liệu Quality Resources & Solution by Ta Thi Thinh