You are on page 1of 11

Chapter 1

1. Glossary of terms: Error / Mistake, Defect/ Bug/ Fault , Failure, Risk,


2. Testing can have the following objectives:
a. Finding Defects
b. Gaining confidence about the level of quality
c. Providing information for decision-making
d. Preventing defects
3. Testing principles
a. Principle 1: Testing shows presence of defects but cannot prove that there are no
defects.
b. Principle 2: Exhaustive testing everything (all combinations of is impossible inputs and
preconditions) is impossible.
c. Principle 3: Early testing:- Testing activities should start as early as possible in the
software or system development life cycle
d. Principle 4: Defect clustering: A small number of modules contain most of the defects
e. Principle 5: Pesticide paradox: If the same tests are repeated over and over again,
eventually the same set of test cases will no longer find any new bugs.
f. Principle 6: Testing is context dependent
g. Principle 7: Absence-of-errors fallacy
4. Testing is a process consisting of all life cycle activities both static and dynamic which is
concerned with planning, preparation and evaluation of both software and related work
products, to “Determine of it satisfies the specified requirements” , “To Demonstrate that it is
fit for purpose” and “to detect defects”

5. Fundamental Testing Process


The fundamental test process consists of the following main activities:

1. Test planning and control


2. Test analysis and design
3. Test implementation and execution
4. Evaluating exit criteria and reporting
5. Test closure activities

1. Test planning and control

Refer IEEE 829 Test Plan Template

2. Test analysis and design

 Review the test basis.


 Evaluate testability of test basis.
 Identify and prioritize test condition.
 Design and prioritize the tests
 Identify test data
 Design the test environment set-up and identify any required infrastructure and
tools.

3. Test Implementation and Execution

 Implementation
o Develop and prioritize our test cases
o Create test suites from the test cases for efficient test execution.
o Write Test Procedure Specifications
o Implement and Verify proper environment setup.
 Execution
o Execute the test suites and individual test cases
o Log the outcome of test execution
o Compare actual results (what happened when we ran the tests) with
expected results (what we anticipated would happen).
o Where there are differences between actual and expected results, report
discrepancies as incidents or defects.
o Retesting and Regression testing

4. Evaluating exit criteria and reporting

Evaluating exit criteria is the activity where test execution is assessed against the defined
objectives. This should be done for each test level.
 Check test logs against the exit criteria specified in test planning
 Assess if more tests are needed or if the exit criteria specified should be changed
 Write a test summary report for stakeholders

5. Test Closure

 Check which planned deliverables we actually delivered and ensure all incident
reports have been resolved through defect repair or deferral.
 Finalize and archive testware, such as scripts, the test environment, and any other
test infrastructure, for later reuse.
 Hand over testware to the maintenance organization
 Evaluate how the testing went and analyze lessons learned for future releases and
projects.

Chapter 2
Sequential Models
Characteristics :
1. Until one phase is completed you cannot go to the next
phase
2. We cannot revisit a phase until once phase is completed
Advantages
Less time consuming, Less Complex
Disadvantages
1. 100 % Requirements at the beginning of the project and
no changes entertained later.
2. Schedule compression during testing at the end of the
project.
3. Late Validation by Client.

V Model

Disadvantages
1. 100 % Requirements at the beginning of the project and
no changes entertained later
2. Late Validation by Client.
Characteristic of a good life cycle model
1. Testing should begin as early as possible
2. For every development activity there should be
corresponding test activity
3. Each test has a specific objective defined at that level
Test Levels.
Unit Testing / Component testing/ Program testing/
Module testing / Isolation testing.
a. Aim: searches for defects in and verifies the functioning of software
components (e.g. modules, programs, objects, classes etc.) that are
separately testable;
b. Component testing includes testing of
i. Functionality
ii. Specific nonfunctional (such as resource behavior (e.g.
memory leaks, performance , fault tolerance)
iii. Structural testing (e.g. decision coverage).
c. One approach in Component testing is test driven development
(TDD)
Test First Approach (TDD, BDD, ATDD)

6. Integration testing.
a. Aim : test interfaces between components.
b. Approaches to integration.
i. Top-down
ii. Bottom –up
iii. Functional incremental
iv. Big bang integration
Test Harness – an environment comprising of stubs and drivers needed to
conduct a test.
c. Test types:
i. functional
ii. structural approaches may be used
iii. Specific non-functional characteristics (e.g. performance ) may
also be included in integration testing.
The best choice is to start integration with those interfaces that are
expected to cause most problems.

7. System testing .
a. Aim : concerned with the behavior of the whole system/product as
defined by the scope of a development project or product.
b. The main focus of system testing is verification against specified
requirements;
c. System testing investigate
i. functional
ii. non-functional (Typical non-functional tests include
performance and reliability, also may included
iii. Structural
iv. Change related (Re and Regression testing)
d. System testing requires a controlled test environment.

8. System Integration testing:


a. system integration testing tests the interactions between different
systems and may be done after system testing.

9. Acceptance Testing.
Objective:
a. The acceptance test should answer questions such as: 'Can the
system be released?'
b. Acceptance testing is Compliance to Requirements or fitness to user
c. Acceptance testing is testing from a business Perspective
d. Acceptance testing is most often the responsibility of the user or
customer and application managers
e. The goal of acceptance testing is to establish confidence in the
system.
f. In most organizations, system administration will perform the
operational acceptance test shortly before the system is released.
g. Other types of acceptance testing that exist are contract acceptance
testing and compliance acceptance testing.
h. The operational acceptance test may include testing of
backup/restore, disaster recovery, maintenance tasks and periodic
check of security vulnerabilities.
Performance testing tool are used in all phases of testing life
cycle..true/false

10. Test Types


a. Described in ISO 9126 – Software Quality Characteristic Model

11. black-box testing also includes non-functional testing (see Section 2.3.2).
12. Testing functionality can be done from two perspectives: requirements-based or business-
process-based.
13. Requirements-based testing uses a specification of the functional requirements for the system
as the basis for designing tests.
14. Business-process-based testing uses knowledge of the business processes.

You might also like