Tài Liệu Tóm Tắt ISTQB Foundation Level Phiên Bản 2018 Cập Nhật
Tài Liệu Tóm Tắt ISTQB Foundation Level Phiên Bản 2018 Cập Nhật
vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 1
Quality Resources & Solutions
SDT: 0986775464
Skype: ta.thinh0204
- There are currently three levels of certification Có 3 mức độ của chứng chỉ o The Foundation
Level certification (one module) - CTFL (Certified Tester Foundation level
Chứng chỉ ở mức cơ bản (1 mảng) o Advanced
Level certifications (three modules)
Chứng chỉ ở cao hơn (3 mảng: quản lý, kỹ thuật test và
automation) o An Expert levels is currently being developed
Chứng chỉ ở mức chuyên gia đang được xây dựng
- For all three levels, international working groups develop and maintain internationally uniform
curricula and exams - Đối với tất cả 3 mức chứng chỉ, thì đều thống nhất tài liệu giảng và bài thi
trên toàn thế giới.
1.2 Who is ISTQB (ISTQB là gì)?
- ISTQB là 1 tổ chức phi lợi nhuận có trách nhiệm định nghĩa ra các hướng dẫn như cấu trúc bài thi,
quy ước, khái niệm, chứng chỉ,..
- Nhóm làm việc trong tổ chức ISTQB có trách nhiệm phát triển và duy trì các giáo trình và xây dựng
bài thi chung trên toàn thế giới.
1.3 Exams in ISTQB (Bài thi trong ISTQB cập nhật phiên bản 2018)
2. How to study ISTQB and prepare for exam
Cách nghiên cứu và chuẩn bị cho kỳ thi lấy chứng chỉ ISTQB
2.1 How to read and use ISTQB books
Cách đọc và sử dụng các cuốn sách ISTQB bằng tiếng Anh
- Thời gian làm bài là 60 phút cho thí sinh nói tiếng Anh là tiếng mẹ đẻ, thí sinh ở vùng khác là 75 phút
- K2 – 24 câu hỏi
Bài thi vẫn dựa chủ yếu vào sách Syllabus 2018 để ra đề thi và phân bố theo chương như sau
Chương Tổng số câu Phân bổ theo độ khó
Chương 1- Fundamental of testing 8 câu K1 = 2 K2 = 6 K3 = 0
Chương 2- Test throughout lifecycles 5 câu K1 = 1 K2 = 4 K3 = 0
Chương 3- Static testing 5 câu K1 = 1 K2 = 3 K3 = 1
Chương 4- Test Design Techniques 11 câu K1 = 1 K2 = 5 K3 = 5
Chương 5- Test management 9 câu K1 = 2 K2 = 5 K3 = 2
Chương 6- Test tools 2 câu K1 = 1 K2 = 1 K3 = 0
Tips for doing exercises -Các chỉ dẫn, kinh nghiệm để làm bài tập
- Bạn phải nắm chắc kiến thức, thậm chí có thể phải thuộc lý thuyết trong sách
- Bạn nên tạo bản tóm tắt bằng tiếng Anh ngắn gọn các kiến thức này để việc ghi nhớ dễ dàng hơn
- Bạn cần tăng cường đọc đi đọc lại sách syllabus nhiều lần để tăng khả năng đọc hiểu tiếng Anh của mình
- Cần có sự phân bố thời gian hợp lý cho từng phần để ôn tập tốt hơn. Ví dụ:
o Chương 4 có nhiều bài tập để làm, nhưng đi thi cũng chỉ có 3 câu bài tập còn lại là lý thuyết. Vì
thế việc luyện nhiều bài tập không giúp được gì nhiều
o Chương 5 là chương khó hiểu nhất trong các nội dung và thường mất nhiều điểm ở đây. Cuối
cùng, bạn hãy chuẩn bị tốt cho kỳ thi, khi đã lên mục tiêu thì hãy tập trung học trong thời gian
ngắn, thường việc ôn thi chỉ mất từ 1-2 tháng là được. Việc kéo dài 6 tháng ôn thi cũng không
giúp được gì nhiều lắm.
- Executing tests can show failures that are caused by defects in the software.
- Debugging is the development activity that finds, analyzes, and fixes such defects.
- Subsequent confirmation testing checks whether the fixes resolved the defects.
- Quality management includes all activities that direct and control an organization with regard to
quality, includes both quality assurance and quality control
- Quality assurance is typically focused on adherence to proper processes, in order to provide
confidence that the appropriate levels of quality will be achieved. Quality assurance contributes to
defect prevention (example: the use of root cause analysis to detect and remove the causes of
defects, retrospective meetings to improve processes)
- Quality control involves various activities, including test activities, that support the achievement
of appropriate levels of quality. Test activities are part of the overall software development or
maintenance process
- Since quality assurance is concerned with the proper execution of the entire process, quality
assurance supports proper testing
- False positives may occur due to errors in the way tests were executed, or due to defects in the test
data, the test environment, or other testware, or for other reasons. The inverse situation can also
occur, where similar errors or defects lead to false negatives.
- False negatives are tests that do not detect defects that they should have detected; false positives
are reported as defects, but aren’t actually defects.
1.2.4 Defects, Root Causes and Effects
The root causes of defects are the earliest actions or conditions that contributed to creating the defects -
Identify the root causes of failure can
- Testing can show that defects are present, but cannot prove that there are no defects.
- Testing reduces the probability of undiscovered defects remaining in a software but, even if no
defects are found, it is not a proof of correctness
Exhaustive testing is impossible – Complete test
- Testing activities should start as early as possible in the software or software development life
cycle and should focus on defined objectives
- Perform the test design and review activities early can find defects early on when they are cheap
to find and fix.
Defect clustering: defect density
- A small numbers of modules usually contains most of the defects discovered during pre-release
testing, or is responsible for most of the operational failures
- Rule 80/20: Module core often contains 80% defects Pesticide paradox
- If the same tests are repeated over and over again, no new defects can be found.
- To overcome this pesticide paradox, test cases need to be regularly reviewed and revised; new and
different tests need to be written to exercise different parts of the software to find potentially more
defects
Testing is context dependent
- Testing is done differently in different context
- Ex: Safety-critical software is tested differently from an ecommerce site Absence of error
fallacy
- All specified requirements and fixing all defects found could still produce a system that is difficult
to use, that does not fulfill the users’ needs and expectations, or that is inferior compared to other
competing systems
o Timescales
o Complexity
o Contractual and regulatory requirements
- Organizational policies and practices
- Required internal and external standards
Test analysis
Test design
Test implement
Test execution
Test completion
In Agile development involves small iterations of software design, build, and test that happen on a
continuous basis, supported by on-going planning. So test activities are also happening on an iterative,
continuous basis within this development approach.
In sequential development, the stepped logical sequence of activities will involve overlap, combination,
concurrency, or omission, so tailoring these main activities within the context of the system and the
project is usually required.
Test activities Objectives Work products
Test planning - Define the objectives of testing and the One or more test plans includes:
approach for meeting test objectives (e.g., - information about the test basis
specifying suitable test techniques and - to which the other test work
tasks, and formulating a test schedule for products will be related via
meeting a deadline). traceability information
- May be revisited based on feedback from - exit criteria (or definition of done)
monitoring and control activities which will be used during test
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 15
Xác định mục tiêu của thử nghiệm và cách tiếp monitoring and control
cận để đáp ứng các mục tiêu kiểm tra (ví dụ: Một hoặc nhiều kế hoạch thử nghiệm
chỉ định các kỹ thuật và nhiệm vụ kiểm tra phù bao gồm: thông tin về cơ sở kiểm tra
hợp và xây dựng lịch kiểm tra để đáp ứng thời mà các sản phẩm công việc thử nghiệm
hạn). Có thể được xem xét lại dựa trên phản khác sẽ được liên kết thông qua thông
hồi từ các hoạt động giám sát và kiểm soát tin truy xuất nguồn gốc
tiêu chí thoát (hoặc định nghĩa của
done) sẽ được sử dụng trong quá trình
giám sát và kiểm soát thử nghiệm
- Omissions
- Inconsistencies
- Inaccuracies
- Contradictions
- Superfluous statements
Identifying features and sets of features to be
tested
- Defining and prioritizing test
conditions (functional,
nonfunctional, and structural
characteristics, other business
and technical factors, and
levels of risks)
- Capturing bi-directional
traceability between each
element of the test basis and
the associated test conditions
Phân tích cơ sở kiểm tra phù hợp với mức độ
thử nghiệm đang được xem xét: Thông số kỹ
thuật yêu cầu Thông tin thiết kế và thực hiện
Việc thực hiện thành phần hoặc hệ thống Báo
cáo phân tích rủi ro Đánh giá cơ sở thử
nghiệm và các mục thử nghiệm để xác định
các khiếm khuyết của các loại khác nhau,
chẳng hạn như: Mơ hồ Thiếu sót Mâu thuẫn
Không chính xác Mâu thuẫn Những tuyên bố
thừa thãi Xác định các tính năng và bộ tính
năng cần kiểm tra Xác định và ưu tiên các
điều kiện thử nghiệm (đặc điểm chức năng,
không chức năng và cấu trúc, các yếu tố kinh
doanh và kỹ thuật khác và mức độ rủi ro)
Nắm bắt truy xuất nguồn gốc hai chiều giữa
từng phần tử của cơ sở thử nghiệm và các
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 17
điều kiện thử nghiệm liên quan
Test design Designing and prioritizing test cases and sets High-level test cases, without concrete
of test cases values for input data and expected
results
Identifying necessary test data to support test Bi-directionally traceable to the test
conditions and test cases condition(s) it covers.
Test data, the design of the test
Designing the test environment and environment, and the identification
identifying any required infrastructure and of infrastructure and tools, though
-Analyzing the impact of changes Phân tích tác động của những thay đổi
-Making testing auditable Làm cho kiểm thử có thể kiểm tra
-Meeting IT governance criteria Đáp ứng các tiêu chí quản trị CNTT
-Improving the understandability of test progress reports and test summary reports to include the
status of elements of the test basis (e.g., requirements that passed their tests, requirements that
failed their tests, and requirements that have pending tests) Cải thiện tính hiểu biết của các báo
cáo tiến độ thử nghiệm và báo cáo tóm tắt thử nghiệm để bao gồm tình trạng của các yếu tố của
cơ sở thử nghiệm (ví dụ: các yêu cầu đã vượt qua các bài kiểm tra của họ, các yêu cầu thất bại
trong bài kiểm tra và các yêu cầu đang chờ kiểm tra)
-Relating the technical aspects of testing to stakeholders in terms that they can understand Liên
quan đến các khía cạnh kỹ thuật của thử nghiệm cho các bên liên quan về mặt mà họ có thể hiểu
-Providing information to assess product quality, process capability, and project progress against
business goals Cung cấp thông tin để đánh giá chất lượng sản phẩm, khả năng quy trình và tiến độ
dự án so với mục tiêu kinh doanh
1.5 The Psychology of Testing Tâm lý của kiểm tra
1.5.1 Human Psychology and Testing Tâm lý học và thử nghiệm của con người
Identifying defects may be perceived as criticism of the product and of its author. An element of human
psychology called confirmation bias can make it difficult to accept information that disagrees with
currently held beliefs.
Xác định các khiếm khuyết có thể được coi là những lời chỉ trích về sản phẩm và của tác giả của nó. Một
yếu tố tâm lý con người được gọi là thiên vị xác nhận có thể gây khó khăn cho việc chấp nhận thông tin
không đồng ý với niềm tin hiện tại.
- Good interpersonal skills to be able to communicate effectively about defects, failures, test
results, test progress, and risks, and to build positive relationships with colleagues - Good
communicate: Kỹ năng giao tiếp tốt để có thể giao tiếp hiệu quả về các khiếm khuyết, thất bại,
kết quả kiểm tra, tiến độ kiểm tra và rủi ro, và xây dựng mối quan hệ tích cực với đồng
nghiệp- Giao tiếp tốt:
o Start with collaboration rather than battles. Remind everyone of the common goal
of better quality systems. Bắt đầu với sự hợp tác hơn là chiến đấu. Nhắc nhở mọi
người về mục tiêu chung của các hệ thống chất lượng tốt hơn.
o Emphasize the benefits of testing. Nhấn mạnh lợi ích của thử nghiệm
o Communicate test results and other findings in a neutral, fact-focused way without
criticizing the person who created the defective item. Truyền đạt kết quả kiểm tra và
các phát hiện khác một cách trung lập, tập trung vào thực tế mà không chỉ trích người
tạo ra mặt hàng bị lỗi.
o Try to understand how the other person feels and the reasons they may react
negatively to the information. Cố gắng hiểu cảm giác của người khác và lý do họ
có thể phản ứng tiêu cực với thông tin
o Confirm that the other person has understood what has been said and vice versa.
Xác nhận rằng người kia đã hiểu những gì đã được nói và ngược lại.
- Clearly defining the right set of test objectives has important psychological implications
Xác định rõ ràng bộ mục tiêu kiểm tra phù hợp có ý nghĩa tâm lý quan trọng
1.5.2 Tester’s and Developer’s Mindsets Tư duy của tester và nhà phát triển
Developers and testers often think differently Các nhà phát triển và người thử nghiệm thường nghĩ khác
nhau
Developer Tester
objective design and build a product Thiết kế và xây verifying and validating the product,
dựng một sản phẩm finding defects prior to release
xác minh và xác nhận sản phẩm, tìm ra
lỗi trước khi phát hành
Some of the test activities done by independent testers: Một số hoạt động thử nghiệm được thực hiện bởi
những người thử nghiệm độc lập:
- to increases defect detection effectiveness, which is particularly important for large, complex, or
safety-critical systems. để tăng hiệu quả phát hiện khiếm khuyết, điều này đặc biệt quan trọng đối
với các hệ thống lớn, phức tạp hoặc quan trọng về an toàn.
- they have different cognitive biases from the authors họ có những thành kiến nhận thức khác nhau
từ các tác giả
Chapter 2: Testing Throughout the Software Development Lifecycle Kiểm thử
trong suốt vòng đời phát triển phần mềm
2.1 Software Development Lifecycle Models Mô hình vòng đời phát triển phần mềm
In any software development lifecycle model, there are several characteristics of good testing: Trong bất
kỳ mô hình vòng đời phát triển phần mềm nào, có một số đặc điểm của thử nghiệm tốt:
- For every development activity, there is a corresponding test activity Đối với mỗi hoạt động phát
triển, có một hoạt động thử nghiệm tương ứng
- Each test level has test objectives specific to that level Mỗi cấp độ thử nghiệm có mục tiêu kiểm
tra cụ thể cho cấp độ đó
- Test analysis and design for a given test level begin during the corresponding development
activity Phân tích thử nghiệm và thiết kế cho một mức độ thử nghiệm nhất định bắt đầu trong hoạt
động phát triển tương ứng
- Testers participate in discussions to define and refine requirements and design, and are involved
in reviewing work products (e.g., requirements, design, user stories, etc.) as soon as drafts are
available Người thử nghiệm tham gia vào các cuộc thảo luận để xác định và tinh chỉnh các yêu
cầu và thiết kế, và tham gia vào việc xem xét các sản phẩm làm việc (ví dụ: yêu cầu, thiết kế, câu
chuyện người dùng, v.v.) ngay khi có bản nháp.
-
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 23
In any model, test activities should start in the early stages of the lifecycle, adhering to the testing
principle of early testing. There are two common models: Trong bất kỳ mô hình nào, các hoạt động thử
nghiệm nên bắt đầu trong giai đoạn đầu của vòng đời, tuân thủ nguyên tắc thử nghiệm thử nghiệm sớm.
Có hai mô hình phổ biến
- Sequential development models Mô hình phát triển tuần tự
- Iterative and incremental development models Mô hình phát triển lặp đi lặp lại và gia tăng
-
In the Waterfall model, the development activities (e.g., requirements analysis, design, coding, testing)
are completed one after another. In this model, test activities only occur after all other development
activities have been completed. Trong mô hình Thác nước, các hoạt động phát triển (ví dụ: phân tích yêu
cầu, thiết kế, mã hóa, thử nghiệm) được hoàn thành lần lượt. Trong mô hình này, các hoạt động thử
nghiệm chỉ xảy ra sau khi tất cả các hoạt động phát triển khác đã được hoàn thành.
Mô hình V tích hợp quá trình thử nghiệm trong suốt quá trình phát triển, thực hiện nguyên tắc thử
nghiệm sớm. Hơn nữa, mô hình V bao gồm các mức thử nghiệm liên quan đến từng giai đoạn phát triển
tương ứng, hỗ trợ thử nghiệm sớm hơn nữa. Trong mô hình này, việc thực hiện các thử nghiệm liên quan
đến từng cấp độ thử nghiệm tiến hành tuần tự, nhưng trong một số trường hợp chồng chéo xảy ra. Các
mô hình phát triển tuần tự cung cấp phần mềm chứa bộ tính năng hoàn chỉnh, nhưng thường yêu cầu
hàng tháng hoặc năm để phân phối cho các bên liên quan và người dùng.
- Kanban: Implemented with or without fixed-length iterations, which can deliver either a single
enhancement or feature upon completion, or can group features together to release at once
Kanban: Được thực hiện có hoặc không có lặp lại độ dài cố định, có thể cung cấp một cải tiến
hoặc tính năng duy nhất sau khi hoàn thành hoặc có thể nhóm các tính năng lại với nhau để phát
hành cùng một lúc
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 25
-
- Spiral (or prototyping): Involves creating experimental increments, some of which may be heavily
re-worked or even abandoned in subsequent development work
- Xoắn ốc (hoặc tạo mẫu): Liên quan đến việc tạo ra các gia tăng thử nghiệm, một số trong đó có
thể được làm lại nhiều hoặc thậm chí bị bỏ rơi trong công việc phát triển tiếp theo
Incremental development has some characteristics: Phát triển gia tăng có một số đặc điểm:
- Establishing requirements, designing, building, and testing a system in pieces, which means that
the software’s features grow incrementally. Thiết lập các yêu cầu, thiết kế, xây dựng và thử
nghiệm một hệ thống theo từng mảnh, có nghĩa là các tính năng của phần mềm phát triển dần dần.
-
- Groups of features are specified, designed, built, and tested together in a series of cycles, often of
a fixed duration. Các nhóm tính năng được chỉ định, thiết kế, xây dựng và thử nghiệm cùng nhau
trong một loạt các chu kỳ, thường có thời lượng cố định.
-
- Involve changes to features developed in earlier iterations, along with changes in project scope.
Liên quan đến những thay đổi đối với các tính năng được phát triển trong các lần lặp trước đó,
cùng với những thay đổi trong phạm vi dự án.
-
- Each feature is tested at several test levels as it moves towards delivery. Mỗi tính năng được thử
nghiệm ở một số cấp độ thử nghiệm khi nó di chuyển theo hướng phân phối
-
- In some cases, teams use continuous delivery or continuous deployment, both of which involve
significant automation of multiple test levels as part of their delivery pipelines. Trong một số
trường hợp, các nhóm sử dụng giao hàng liên tục hoặc triển khai liên tục, cả hai đều liên quan đến
tự động hóa đáng kể nhiều cấp độ thử nghiệm như một phần của đường ống phân phối của họ.
-
- Release to end-users on a feature-by-feature basis, on an iteration- by-iteration basis, or in a more
traditional major-release fashion. Phát hành cho người dùng cuối trên cơ sở tính năng theo tính
năng, trên cơ sở lặp lại hoặc theo cách phát hành lớn truyền thống hơn.
-
- Regression testing is increasingly important as the system grows. Kiểm tra hồi quy ngày càng
quan trọng khi hệ thống phát triển.
Depending on the context of the project, it may be necessary to combine or reorganize test levels and/or
test activities
Software development lifecycle models themselves may be combined. For example, a V-model may be
used for the development and testing of the backend systems and their integrations, while an Agile
development model may be used to develop and test the front-end user interface (UI) and functionality.
Prototyping may be used early in a project, with an incremental development model adopted once the
experimental phase is complete.
Test basis Detailed design Software and system design System and software
Code requirement specifications
Sequence diagrams (functional and nonfunctional)
Data model
Component specifications Interface and communication Risk analysis reports
Test objects protocol specifications
Use cases
Use cases
Epics and user stories
Architecture at component or
system level Models of system behavior
Workflows State diagrams
External interface definitions System and user manuals
Approach Test-first approach The greater the scope of The most appropriate t
integration, the more difficultechniques for the aspect(s) of
Test driven development becomes to isolate defects to the system to be tested
(TDD) specific component or
system
Big-bang integration
Incremental integration
Contractual acceptance testing is performed against a contract’s acceptance criteria for producing
customdeveloped software. Acceptance criteria should be defined when the parties agree to the contract.
Regulatory acceptance testing is performed against any regulations that must be adhered to, such as
government, legal, or safety regulations
Contractual acceptance testing and regulatory acceptance testing are often performed by users or by
independent testers
- System workflows do not meet business or user requirements - Business rules are not
implemented correctly
- System does not satisfy contractual or regulatory requirements
- Non-functional failures such as security vulnerabilities, inadequate performance efficiency under
high loads, or improper operation on a supported platform
Specific approaches and responsibilities
Acceptance testing may also occur at other times, for example:
In a sequential development lifecycle
- Acceptance testing of a COTS software product may occur when it is installed or integrated -
Acceptance testing of a new functional enhancement may occur before system testing
In iterative development
- Acceptance testing during and at the end of each iteration, it focused on verifying a new feature
against its acceptance criteria and those focused on validating that a new feature satisfies the
users’ needs
- Alpha tests and beta tests may occur, either at the end of each iteration, after the completion of
each iteration, or after a series of iterations
System How the Reliability tests are Exercise all possible Tests of the
integration system uses an designed to evaluate inquiry types sent to application
test external system robustness if the credit score interacting with the
microservice to the credit score microservice. credit scoring
check an microservice fails to microservice are
account respond reexecuted daily as
holder’s credit part of continuous
score. deployment of that
microservice.
Acceptance How the Usability tests are Cover all supported All previously-failed
test banker handles designed to evaluate financial data file tests are re-executed
approving or the accessibility of the structures and value after a defect found
declining a banker’s credit ranges for bank- in acceptance testing
credit processing interface tobank transfers. is fixed.
application. for people with
disabilities
individual preparation)
moderator)
- Ensures effective running of review meetings (when held) Mediates, if necessary, between
the various points of view
- Is often the person upon whom the success of the review depends? Review leader
- May be subject matter experts, persons working on the project, stakeholders with an
interest in the work product, and/or individuals with specific technical or business backgrounds
- Identify potential defects in the work product under review
- May represent different perspectives (e.g., tester, programmer, user, operator, business
analyst, usability expert, etc.) Scribe (or recorder)
- Collates potential defects found during the individual review activity
- Records new potential defects, open points, and decisions from the review meeting (when
held)
- Main purposes: find defects, improve the software product, consider alternative implementations,
evaluate conformance to standards and specifications
- Possible additional purposes: exchanging ideas about techniques or style variations, training of
participants, achieving consensus
Individual preparation before the review meeting is optional
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 38
-
-
Review meeting is typically led by the author of the work product
- Scribe is mandatory
- Use of checklists is optional
- May take the form of scenarios, dry runs, or simulations
- Potential defect logs and review reports may be produced
- May vary in practice from quite informal to very formal Technical review
- Main purposes: detecting potential defects, evaluating quality and building confidence in the work
product, preventing future similar defects through author learning and root cause analysis
- Possible further purposes: motivating and enabling authors to improve future work products and
the software development process, achieving consensus
- Follows a defined process with formal documented outputs, based on rules and checklists
- Uses clearly defined roles
- Individual preparation before the review meeting is required
- Reviewers are either peers of the author or experts in other disciplines that are relevant to the
work product
- Specified entry and exit criteria are used
- Scribe is mandatory
- Review meeting is led by a trained facilitator (not the author)
- Author cannot act as the review leader, reader, or scribe
- Potential defect logs and review report are produced
- Metrics are collected and used to improve the entire software development process, including the
inspection process
3.2.4 Applying Review Techniques
Ad hoc
Reviewers are provided with little or no guidance on how this task should be performed.
Reviewers often read the work product sequentially, identifying and documenting issues as they
encounter them.
Ad hoc reviewing is a commonly used technique needing little preparation.
A scenario-based approach supports reviewers in performing “dry runs” on the work product based on
expected usage of the work product (if the work product is documented in a suitable format such as use
cases).
These scenarios provide reviewers with better guidelines on how to identify specific defect types than
simple checklist entries.
As with checklist-based reviews, in order not to miss other defect types (e.g., missing features),
reviewers should not be constrained to the documented scenarios.
Role-based
A role-based review is a technique in which the reviewers evaluate the work product from the
perspective of individual stakeholder roles.
Typical roles include specific end user types (experienced, inexperienced, senior, child, etc.), and
specific roles in the organization (user administrator, system administrator, performance tester, etc.).
Perspective-based
In perspective-based reading, similar to a role-based review, reviewers take on different stakeholder
viewpoints in individual reviewing.
Typical stakeholder viewpoints include end user, marketing, designer, tester, or operations.
Using different stakeholder viewpoints leads to more depth in individual reviewing with less duplication
of issues across reviewers.
In addition, perspective-based reading also requires the reviewers to attempt to use the work product
under review to generate the product they would derive from it. For example, a tester would attempt to
generate draft acceptance tests if performing a perspective-based reading on a requirements
specification to see if all the necessary information was included.
Common characteristics of specification-based test design techniques include - Đặc điểm chung của kỹ
thuật thiết kế test hướng đặc tả:
- Test conditions, test cases, and test data are derived from a test basis that may include software
requirements, specifications, use cases, and user stories
- Test cases may be used to detect gaps between the requirements and the implementation of the
requirements, as well as deviations from the requirements
- Coverage is measured based on the items tested in the test basis and the technique applied to the test
basis
Common characteristics of structure-based test design techniques include - Đặc điểm chung của kỹ
thuật thiết kế test hướng cấu trúc:
- Test conditions, test cases, and test data are derived from a test basis that may include code, software
architecture, detailed design, or any other source of information regarding the structure of the software
- Coverage is measured based on the items tested within a selected structure (e.g., the code or interfaces)
Common characteristics of experience-based test design techniques include - Đặc điểm chung của kỹ
thuật thiết kế test hướng kinh nghiệm:
- Test conditions, test cases, and test data are derived from a test basis that may include knowledge and
experience of testers, developers, users and other stakeholders
- These techniques can be helpful in identifying tests that were not easily identified by other more
systematic techniques. Depending on the tester’s approach and experience, these techniques may
achieve widely varying degrees of coverage and effectiveness.
- Coverage can be difficult to assess and may not be measurable with these techniques
4.2.2 Boundary value analysis (BVA)- Phân tích giá trị biên (BVA)
- Behavior at the edge of each equivalence partition is more likely to be incorrect than behavior within
the partition, so boundaries are an area where testing is likely to yield defects
- Two-point boundary: The maximum and minimum values of a partition are its boundary values -
Three boundary values: the values before, at, and just over the boundary - Tests can be designed
to cover both valid and invalid boundary values.
- Boundary value analysis can be applied at all test levels. It is relatively easy to apply and its defect-
finding capability is high.
- Detailed specifications are helpful in determining the interesting boundaries.
Switch:
0- Switch: single transition
1- Switch: couple transitions
2- Switch: triple transitions
- Tester uses a test charter containing test objectives within a defined time-box to guide the testing.
- Tester may use test session sheets to document the steps followed and the discoveries made.
Exploratory testing is most useful when there are few or inadequate specifications or significant
time pressure on testing. Exploratory testing is also useful to complement other more formal testing
techniques.
Testers external
to the
Testers from organization
the business
Test team or organization
group
Developers or
testers within
None the
developers test development
their own code teams
Analysis and - Initiate the analysis, design, - Analyze, review, and assess requirements
design implementation, and execution of tests for testability (i.e., the test basis)
Implement and - Support the selection and - Identify and document test conditions,
execution implementation of tools to support the capture traceability
test process - Design, set up, and verify test
- Support setting up the defect environment(s)
management system
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 49
- Set up adequate configuration - Design and implement test cases and test
management of testware procedures
- Prepare and acquire test data
- Decide about the implementation of - Execute tests, evaluate the results
test environment(s) - Automate tests as needed
- Evaluate non-functional characteristics
- Review tests developed by others
Monitoring - Monitor test progress and results, and - Use appropriate tools to facilitate the test
and control check the status of exit criteria process
- Create test progress reports and test
summary reports
- Adapt planning based on test results
and progress
- Take any actions necessary for test
control
5.2.3 Entry Criteria and Exit Criteria (Definition of Ready and Definition of Done)
Product characteristics
The risks associated with the product
2. The expert-based technique: estimating the test effort based on the experience of the owners
of the testing tasks or by experts
- Re-prioritizing tests when an identified risk occurs (e.g., software delivered late)
- Changing the test schedule due to availability or unavailability of a test environment or other resources
- Re-evaluating whether a test item meets an entry or exit criterion due to rework
-
- Percentage of planned work done in each test activities
- Test case execution (e.g., number of test cases run/not run, test cases passed/failed, and/or test conditions
passed/failed)
-
- Defect information (e.g., defect density, defects found and fixed, failure rate, and confirmation test
results)
-
- Test coverage of requirements, user stories, acceptance criteria, risks, or code
- Task completion, resource allocation and usage, and effort
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 53
-
- Cost of testing, including the cost compared to the benefit of finding the next defect or the cost compared
to the benefit of running the next test
- The status of the test activities and progress against the test plan
- Factors impeding progress
- Testing planned for the next reporting period
- The quality of the test object
Typical test progress reports and test summary reports may include:
The purpose of configuration management is to establish and maintain the integrity of the component or
system, the testware, and their relationships to one another through the project and product lifecycle:
- All test items are uniquely identified, version controlled, tracked for changes, and related to each
other
- All items of testware are uniquely identified, version controlled, tracked for changes, related to
each other and related to versions of the test item(s) so that traceability can be maintained
throughout the test process
- All identified documents and software items are referenced unambiguously in test documentation
- Provide developers and other parties with feedback about the problem to enable identification, isolation
and correction as necessary
- Provide test leaders a means of tracking the quality of the system under test and the progress of the
testing
- Provide ideas for test process improvement
A defect report filed during dynamic testing typically includes:
- An identifier
- A title and a short summary of the defect being reported
- Date of the defect report, issuing organization, and author
- Identification of the test item (configuration item being tested) and environment
- The development lifecycle phase(s) in which the defect was observed
- A description of the defect to enable reproduction and resolution, including logs, database dumps
screenshots, or recordings
-
- Expected and actual results
- Scope or degree of impact (severity) of the defect on the interests of stakeholder(s) Urgency/priority to fix
- State of the defect report (e.g., open, deferred, duplicate, waiting to be fixed, awaiting confirmation
testing, re-opened, closed)
-
- Conclusions, recommendations and approvals
- Global issues, such as other areas that may be affected by a change resulting from the defect
- Change history, such as the sequence of actions taken by project team members with respect to the defect
to isolate, repair, and confirm it as fixed
-
- References, including the test case that revealed the problem
Refer: ISO standard (ISO/IEC/IEEE 29119-3)
- Reduction in repetitive manual work (e.g., running regression tests, environment set up/tear down tasks,
re-entering the same test data, and checking against coding standards), thus saving time
- Greater consistency and repeatability (e.g., test data is created in a coherent manner, tests are executed by
a tool in the same order with the same frequency, and tests are consistently derived from requirements)
Bản quyền thuộc về QRS-website: qr-solutions.com.vn
DC: tầng 3, số 1, ngõ 36/7 Duy Tân Trang 57
- More objective assessment (e.g., static measures, coverage)
- Easier access to information about testing (e.g., statistics and graphs about test progress, defect rates and
performance)
Potential risks of using tools to support testing include:
- Expectations for the tool may be unrealistic (including functionality and ease of use)
- The time, cost and effort for the initial introduction of a tool may be under-estimated (including training
and external expertise)
- The time and effort needed to achieve significant and continuing benefits from the tool may be under-
estimated (including the need for changes in the test process and continuous improvement in the way the
tool is used)
- The effort required to maintain the test assets generated by the tool may be under-estimated
- The tool may be relied on too much (seen as a replacement for test design or execution, or the use of
automated testing where manual testing would be better)
- Version control of test assets may be neglected
- Relationships and interoperability issues between critical tools may be neglected, such as requirements
management tools, configuration management tools, defect management tools and tools from multiple
vendors
- The tool vendor may go out of business, retire the tool, or sell the tool to a different vendor
- The vendor may provide a poor response for support, upgrades, and defect fixes
- An open source project may be suspended
- A new platform or technology may not be supported by the tool
- There may be no clear ownership of the tool (e.g., for mentoring, updates, etc.)
6.1.3 Special Considerations for Test Execution and Test Management Tools
Test execution tools
Data-driven scripting technique Keyword-driven scripting Model-Based testing (MBT)
technique
Data files store test input and data files store test input, a functional specification to be
expected results in table or expected results and keywords in captured in the form of a
spreadsheet table or spreadsheet model, such as an activity
diagram
support capture/playback tools writing script manually The MBT tool interprets the
model in order to create test
case specifications which can
then be saved in a test
management tool and/or
executed by a test execution
tool
Example keyword driven:
- To produce useful information in a format that fits the needs of the organization
- To maintain consistent traceability to requirements in a requirements management tool
- To link with test object version information in the configuration management tool