Chapter1_ClassLecture_Session1_Session2
Chapter1_ClassLecture_Session1_Session2
riponalwasim@gmail.com
01712550093
Course Outline
Chapter 1: Fundamentals of Testing
Chapter 2: Testing Throughout the Software Development
Lifecycle
Chapter 3: Static Testing
Chapter 4: Test Techniques
Chapter 5: Test Management
Chapter 6: Tool Support for Testing
Course Outline
Chapter 1: Fundamentals of Testing
No. of Session: 02
Session 01: 1.1 - 1.3
Session 02: 1.4 - 1.5.2
Chapter 1: Fundamentals of Testing
Session 01
1.1 What is Testing?
1.1.1 Typical Objectives of Testing
1.1.2 Testing and Debugging
Session 1
Session 01 (continued)
1.2.2 Quality Assurance and Testing
1.2.3 Errors, Defects, and Failures
Session 1
Session 02
1.4 Test Process
1.4.1 Test Process in Context
Session 2
Session 02 (continued)
1.4.4 Traceability between the Test Basis and Test
Work Products
1.5 The Psychology of Testing
Session 2
What is Testing?
ISTQB Definition: The process consisting of all life cycle activities, both static
Session 1
To check whether the test object is complete and validate if it works as the
users and other stakeholders expect
To build confidence in the level of quality of the test object
Chapter 1: Fundamentals of Testing
Typical Objectives of Testing /2
To find defects and failures thus reduce the level of risk of inadequate software
quality
To provide sufficient information to stakeholders to allow them to make
Session 1
informed decisions, especially regarding the level of quality of the test object
To comply with contractual, legal, or regulatory requirements or standards,
and/or to verify the test object’s compliance with such requirements or
standards
Chapter 1: Fundamentals of Testing
Testing and Debugging
Correcting
Testing Debugging Retesting
defects
Testing & Retesting/Confirmation testing are testing role
Debugging & Correcting defects are development role
Session 1
things can always go wrong - humans make mistakes all the time - it is what we
do best!
Chapter 1: Fundamentals of Testing
Why is Testing Necessary? /2
Source:
https://www.toolsqa.com/software-testing/istqb/why-is-
testing-necessary/#:~:text=Let's%20start%20by
%20considering%20Why,make%20mistakes%20at
%20any%20time.
Chapter 1: Fundamentals of Testing
Quality Assurance and Testing /1
Purpose Prevent issues through establishing quality Detect and fix quality issues
standards
Focus Development processes Different aspects of the product: functionality,
Session 1
Error/Mistake leads to
Defect/Bug/Fault leads to
Session 1
ISTQB Definition:
Error (mistake) A human action that produces an incorrect result.
Session 1
Developer has written the code based on the description of user story - calculation
is wrong. So the failure here is the incorrect interest calculations for customers.
P-2 Exhaustive testing is Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial
cases. Instead of exhaustive testing, we use risks and priorities to focus testing efforts
impossible
Session 1
P-3 Early testing Testing activities should start as early as possible in the software or system development life
cycle and should be focused on defined objectives
P-4 Defect clustering A small number of modules contain most of the defects discovered during prerelease testing or
show the most operational failures
P-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. To overcome this 'pesticide paradox', the test cases need to be
regularly reviewed and revised, and new and different tests need to be written to exercise
different parts of the software or system to potentially find more defects
P-6 Testing is context Testing is done differently in different contexts. For example, safety-critical software is tested
differently from an e-commerce site
dependent
P-7 Absence-of-errors fallacy Finding and fixing defects does not help if the system built is unusable and does not fulfill the
users' needs and expectations
Chapter 1: Fundamentals of Testing
Seven Testing Principles /2
# Statement Relation to Testing Principle
Happy learning..
Learn more...
Chapter 1: Fundamentals of Testing
Software development life cycle (SDLC) model and project methodologies being
used. An Agile project developing mobile apps will have quite a different test
Session 2
T Test planning
e
s
t Test monitoring and control
A Test analysis
c
Session 2
t Test design
i
v Test implementation
i
t
i Test execution
e
s Test completion
Chapter 1: Fundamentals of Testing
Test Activities and Tasks /2
Test planning
Test planning:
Defining the objectives of testing and the approach for meeting Test monitoring
those objectives within project constraints and contexts. and control
deciding on suitable test techniques to use
deciding what tasks need to be done Test analysis
formulating a test schedule and other things
Session 2
Test design
Determining the scope and risk.
Determining the required test resources (e.g. people, test environment, Test
implementation
PCs)
Scheduling test analysis and design tasks, test implementation, Test execution
execution and evaluation.
Test completion
Determining the exit criteria of testing.
Chapter 1: Fundamentals of Testing
Test Activities and Tasks /3 Test planning
Test monitoring and control:
test monitoring Test
monitoring
Compare actual progress against the plan.
and control
Check on the progress of test activities.
Report the test status and any necessary deviations from the plan. Test analysis
Session 2
Test design
test control
Taking whatever actions are necessary to meet the mission and objectives Test
implementation
of the project, and/or adjust the plan.
Test execution
Test completion
Chapter 1: Fundamentals of Testing
Test Activities and Tasks /4
Test monitoring and control
One way we can monitor test progress is by using exit criteria, also known as
'definition of done' in Agile development.
Identify the necessary test data to support the test conditions and Test design
test cases as they are identified and designed Test
Design the test environment, including set-up, and identify any required implementation
infra- structure and tools
Test execution
Capture bi-directional traceability between the test basis, test conditions,
test cases and test procedures Test completion
Chapter 1: Fundamentals of Testing
Test Activities and Tasks /7 Test planning
Test implementation:
Test implementation includes the following major activities: Test monitoring
Develop and prioritize the test procedures and potentially create and control
automated test scripts.
Create test suites from the test procedures and automated test scripts (if any). Test analysis
Session 2
Arrange the test suites within a test execution schedule in a way that results Test design
in efficient test execution.
Test
Build the test environment and verify that everything needed has been
implementation
set up correctly.
Prepare test data and ensure that it is properly loaded in the test environment. Test execution
Verify and update the bi-directional traceability between the test basis, test
Test completion
conditions, test cases, test procedures and test suites.
Chapter 1: Fundamentals of Testing
Test Activities and Tasks /8
Test planning
Test execution:
Record the identities and versions of all of the test items, test objects,
Test monitoring
test tools and other testware. and control
Execute the tests either manually or by using an automated test execution tool,
according to the planned sequence. Test analysis
Compare actual results with expected results, observing where the actual
Session 2
Test design
and expected results differ.
Analyze the anomalies in order to establish their likely causes. Test
Report defects based on the failures observed. implementation
Log the outcome of test execution (e.g. pass, fail or blocked). Test execution
Test completion
Chapter 1: Fundamentals of Testing
Test monitoring
Test Activities and Tasks /10 and control
Test completion:
Test completion includes the following major activities: Test analysis
Check whether all defect reports are closed.
Test design
Create a test summary report to be communicated to stakeholders.
Finalize and archive the test environment, the test data, the test infrastructure Test
Session 2
Test monitoring and control work products Test monitoring and control
Test analysis work products Test analysis
Test design work products Test design
Test implementation work products Test implementation
Test execution work products Test execution
Test completion work products Test completion
Chapter 1: Fundamentals of Testing
Traceability between the Test Basis and Test Work Products /1
RTM Template
Session 2
Source: https://www.geeksforgeeks.org/requirement-traceability-matrix/
Chapter 1: Fundamentals of Testing
Traceability between the Test Basis and Test Work Products /2
Session 2
improving the coherence of test progress reports and test summary reports to
stakeholders, as described above
relating the technical aspects of testing to stakeholders in terms that they can
understand
providing information to assess product quality, process capability and project
progress against business goals
Chapter 1: Fundamentals of Testing
The Psychology of Testing
Human Psychology and Testing /1
Identifying defects may unfortunately be perceived in development as a criticism
Finding defects in testing should be constructive criticism
Some of the factors are:
Session 2
Confirmation Bias: Confirmation bias is the tendency to search for, interpret, favor, and recall
information in a way that confirms or supports one's prior beliefs or values. It is difficult for humans
to become aware of errors committed by themselves. For example, generally, developers have a
confirmation bias that makes it difficult to accept that their code is incorrect.
Chapter 1: Fundamentals of Testing
The Psychology of Testing
Human Psychology and Testing /2
Cognitive Bias: A cognitive bias is a systematic pattern of deviation from norm or
rationality in judgment. Individuals create their own "subjective reality" from their
perception of the input. This may make it difficult for people to understand or
Session 2
Develop good interpersonal skills: Testers and test managers must have good interpersonal
skills to communicate effectively about test results, test progress, risks, defects, and failure.
Interpersonal skills are required to build a positive relationship with different team members.
Chapter 1: Fundamentals of Testing
The Psychology of Testing
How to Communicate Well
Start with Collaboration: Start with collaboration rather than battles. Remind everyone of the
common goal of better quality systems.
Session 2
Happy learning..
Learn more...