SlideShare a Scribd company logo
Fundamentals of Testing
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 1
Neeraj Kumar Singh
Fundamentals of Testing
Contents
1.1 What is Testing?
1.2 Why is Testing Necessary?
1.3 Seven Testing Principles
1.4 Test Process
1.5 The Psychology of Testing
Neeraj Kumar Singh
What is Testing?(K2)
 Common perception is testing is limited to test execution
 Test activities exist before and after test execution as well
 Other activities through out the development lifecycle
 Contributing to reviews
Neeraj Kumar Singh
What is Testing?
Objectives of testing
 Testing is all about
 Finding defects
 Gaining confidence about quality
 Providing information
 Preventing defects
 To evaluate work products
 To verify if all the requirements have been met
 To reduce the level of risk
 To comply with contractual, legal or regulatory requirements and Standards.
Neeraj Kumar Singh
What is Testing?
Classification of testing
Testing
Dynamic
Testing
Static
Testing
Performed as
Reviews & Static
Analysis
Performed as
Levels of Testing
Types of reviews are
Informal Review,
Walkthrough, Technical
Review, Inspection
Levels of testing are
Unit, Integration,
System, UAT and other
Non-functional testing
Neeraj Kumar Singh
What is Testing?
Debugging and Testing
 Testing
Testing deal with finding the defects by conducting failure on the application or
product. This activity is performed by Testers.
 Debugging
Debugging is a development activity which deals with analyzing these defects,
finding the root cause and removes the cause of defects. This activity is
commonly performed by developers.
Neeraj Kumar Singh
Fundamentals of Testing
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 1
Neeraj Kumar Singh
Fundamentals of Testing
Contents
1.1 What is Testing?
1.2 Why is Testing Necessary?
1.3 Seven Testing Principles
1.4 Test Process
1.5 The Psychology of Testing
Neeraj Kumar Singh
Why is Testing Necessary?
Testing’s Contribution to Success
 Using appropriate test techniques are applied with the appropriate level of
test expertise, in the appropriate test levels, and at the appropriate points in
the software development lifecycle.
 Having testers involved in requirements reviews or user story refinement
could detect defects in these work products.
 Having testers work closely with system designers while the system is being
designed can increase each party’s understanding of the design and how to
test it.
 Having testers work closely with developers while the code is under
development can increase each party’s understanding of the code and how to
test it.
 Having testers verify and validate the software prior to release can detect
failures that might otherwise have been missed, and support the process of
removing the defects that caused the failures (i.e., debugging).
Neeraj Kumar Singh
Why is Testing Necessary?
Quality Assurance and Testing
 While people often use the phrase quality assurance (or just QA) to refer to
testing, quality assurance and testing are not the same, but they are related.
 Quality assurance is typically focused on adherence to proper processes, in
order to provide confidence that the appropriate levels of quality will be
achieved. When processes are carried out properly, the work products created
by those processes are generally of higher quality, which contributes to defect
prevention.
 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.
Neeraj Kumar Singh
Why is Testing Necessary?
Error, Defect & Failures
 Error(Mistake)
A human action that produces an incorrect result
 Fault(Defect, Bug)
A manifestation of an error in software
 also known as a defect or bug
 if executed, a fault may cause a failure
 Failure
Deviation of the software from its expected delivery or service
Neeraj Kumar Singh
Why is Testing Necessary?
Causes of Software Defects
 Errors may occur for many reasons, such as:
 Time pressure
 Human is Error prone
 Inexperienced or insufficiently skilled project participants
 Miscommunication between project participants, including miscommunication about
requirements and design
 Complexity of the code, design, architecture, the underlying problem to be solved,
and/or the technologies used
 Misunderstandings about intra-system and inter-system interfaces, especially when
such intrasystem and inter-system interactions are large in number
 New, unfamiliar technologies
Neeraj Kumar Singh
Why is Testing Necessary?
Defects, Root Causes and Effects
 The root causes of defects are the earliest actions or conditions that
contributed to creating the defects.
 Defects can be analyzed to identify their root causes, so as to reduce the
occurrence of similar defects in the future.
 By focusing on the most significant root causes, root cause analysis can lead to
process improvements that prevent a significant number of future defects from
being introduced.
Neeraj Kumar Singh
Fundamentals of Testing
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 1
Neeraj Kumar Singh
Fundamentals of Testing
Contents
1.1 What is Testing?
1.2 Why is Testing Necessary?
1.3 Seven Testing Principles
1.4 Fundamental Test Process
1.5 The Psychology of Testing
Neeraj Kumar Singh
Seven Testing Principles
• Testing shows presence of defects.Principle 1
• Exhaustive testing is impossible.Principle 2
• Early testingPrinciple 3
• Defect clusteringPrinciple 4
• Pesticide paradoxPrinciple 5
• Testing context dependentPrinciple 6
• Absence-of-error fallacyPrinciple 7
Neeraj Kumar Singh
Seven Testing Principles
Testing can show that defects are present in a system software, but no matter
whatever count of defects we find, at any point of time we can’t say there no
more defects.
Also to add to it, in case no defects are found, it’s not a proof of correctness.
Testing shows presence of defects, not there absence
Neeraj Kumar Singh
Seven Testing Principles
Testing everything, which means all possible combination of inputs and
preconditions is generally not feasible to be conducted.
As an alternate to exhaustive testing, risk analysis and priorities should be used
to focus on testing efforts .
Exhaustive Testing is impossible
Neeraj Kumar Singh
Seven Testing Principles
To find defects earlier or to prevents defects being introduced, testers must be
involved as early as possible in developments life cycle. Testing activities must
be coordinated with corresponding development activities.
Testers are good contributor in reviews and must participate. This helps them
understand the requirements earlier and prepare test cases earlier in life cycle.
Early Testing saves time and money
Neeraj Kumar Singh
Seven Testing Principles
It is possible that the more defects are clustered in smaller modules compared to
being distributed among bigger and other modules.
In this regards, a tester must consider and prepare proportional test cases to test
such system.
Defects Cluster Together
Neeraj Kumar Singh
Seven Testing Principles
If the same tests are repeated over and over again, eventually the same set of
test cases will no longer help find new defects.
To overcome this “pesticide paradox” test cases need to be regularly reviewed
and revised.
Beware of Pesticide Paradox
Neeraj Kumar Singh
Seven Testing Principles
Testing is done differently in different context.
Two different software are testing with different strategy.
Testing is Context Dependent
Neeraj Kumar Singh
Seven Testing Principles
Meeting the requirement is equally important.
Finding and fixing defect doesn’t help if the system built doesn’t fulfill the users’
need and expectations
Absence-of-Error is a Fallacy
Neeraj Kumar Singh
Fundamentals of Testing
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 1
Neeraj Kumar Singh
Fundamentals of Testing
Contents
1.1 Why is Testing Necessary?
1.2 What is Testing?
1.3 Seven Testing Principles
1.4 Test Process
1.5 The Psychology of Testing
Neeraj Kumar Singh
Test Process in Context
 Contextual factors that influence the test process for an organization,
include, but are not limited to:
 Software development lifecycle model and project methodologies being used
 Test levels and test types being considered
 Product and project risks
 Business domain
 Operational constraints, (Budgets and resources, Timescales, Complexity,
Contractual and regulatory requirements)
 Organizational policies and practices
 Required internal and external standards
Neeraj Kumar Singh
Test Process
 A test process consists of the following main activities
 Test planning
 Test monitoring and control
 Test analysis
 Test design
 Test implementation
 Test execution
 Test completion
Neeraj Kumar Singh
Test Process
 Test Planning consists of following activaties :
 Determining the scope and risks and identifying the objective of testing.
 Defining the overall approach of testing.
 Scheduling test activities, Assigning resources for the activities.
 Defining the amount, detail, template for documentation.
 Selecting metrics for monitoring and controlling.
 Defining entry and exit criteria.
 Deciding about automation.
Test Planning
Neeraj Kumar Singh
Test Process
 Test Monitoring
 It is process of measuring the progress on the project.
 Test Metrics
 These certain set of formulae which calculates any dimensions(test, defects,
coverage, etc) of testing.
Test Execution Rate :
𝑁𝑜 𝑜𝑓 𝑇𝑒𝑠𝑡 𝐶𝑎𝑠𝑒𝑠 𝐸𝑥𝑒𝑐𝑢𝑡𝑒𝑑
𝑁𝑜 𝑜𝑓 𝑇𝑒𝑠𝑡 𝐶𝑎𝑠𝑒𝑠 𝑃𝑙𝑎𝑛𝑛𝑒𝑑 𝑓𝑜𝑟 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛
x 100
 Test Control
 Test control involves taking actions necessary to meet the objectives of the test
plan .
Test Monitoring & Control
Neeraj Kumar Singh
Test Process
 Test Analysis includes following major activities:
 Analyzing the Test Basis.
 Evaluating the test basis and test items to identify defects of various types, such as
Ambiguities, Omissions, Inconsistencies, Inaccuracies, etc.
 Identifying features and sets of features to be tested.
 Defining and prioritizing test conditions for each feature based on analysis of the
test basis.
 considering functional, non-functional, and structural characteristics, other
business and technical factors, and levels of risks
Test Analysis
Neeraj Kumar Singh
Test Process
 Test Design includes the following major activities
 Designing and prioritizing Test Cases.
 Identifying necessary Test Data to support the Test Conditions and test cases.
 Designing the test environment and identifying required infrastructure & tools.
 Creating bi-directional traceability between test basis and test cases
Test Design
Neeraj Kumar Singh
Test Process
 Test Implementation includes the following activities
 Developing and prioritizing test procedures, and, potentially, creating automated
test scripts
 Creating test suites from the test procedures and (if any) automated test scripts
 Arranging the test suites within a test execution schedule in a way that results in
efficient test execution
 Building the test environment (including, potentially, test harnesses, service
virtualization, simulators, and other infrastructure items) and verifying that
everything needed has been set up correctly
 Preparing test data and ensuring it is properly loaded in the test environment
Verifying and updating bi-directional traceability between the test basis, test
conditions, test cases, test procedures, and test suites.
Test Implementation
Neeraj Kumar Singh
Test Process
 Test execution includes the following major activities:
 Recording the IDs and versions of the test item(s) or test object, test tool(s), and
testware.
 Executing tests either manually or by using test execution tools
 Comparing actual results with expected results
 Analyzing anomalies to establish their likely causes (e.g., failures may occur due to
defects in the code, but false positives also may occur
 Reporting defects based on the failures observed
 Logging the outcome of test execution (e.g., pass, fail, blocked)
 Repeating test activities either as a result of action taken for an anomaly, or as
part of the planned testing (e.g., execution of a corrected test, confirmation
testing, and/or regression testing)
Test Execution
Neeraj Kumar Singh
Test Process
 Test completion includes the following major activities:
 Checking whether all defect reports are closed, entering change requests or
product backlog items for any defects that remain unresolved at the end of test
execution
 Creating a test summary report to be communicated to stakeholders
 Finalizing and archiving the test environment, the test data, the test
infrastructure, and other testware for later reuse
 Handing over the testware to the maintenance teams, other project teams, and/or
other stakeholders who could benefit from its use
 Analyzing lessons learned from the completed test activities to determine changes
needed for future iterations, releases, and projects
 Using the information gathered to improve test process maturity
Test Completion
Neeraj Kumar Singh
Fundamentals of Testing
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 1
Neeraj Kumar Singh
Fundamentals of Testing
Contents
1.1 What is Testing
1.2 Why is Testing Necessary?
1.3 Seven Testing Principles
1.4 Test Process
1.5 The Psychology of Testing
Neeraj Kumar Singh
Test Work Products
 Test Planning work products
 Test planning work products typically include one or more test plans. The test
plan includes information about the test basis, to which the other test work
products will be related via traceability information
Neeraj Kumar Singh
Test Work Products
 Test Monitoring and Control work products
 Test monitoring and control work products typically include various types of
test reports, including test progress reports and test summary
 Test monitoring and control work products should also address project
management concerns, such as task completion, resource allocation and
usage, and effort.
Neeraj Kumar Singh
Test Work Products
 Test Analysis work products
 Test analysis work products include defined and prioritized test conditions,
each of which is ideally bidirectionally traceable to the specific element(s) of
the test basis it covers.
 For exploratory testing, test analysis may involve the creation of test
charters.
Neeraj Kumar Singh
Test Work Products
 Test Design work products
 Test design results in test cases and sets of test cases to exercise the test
conditions defined in test analysis.
 Test design also results in the design and/or identification of the necessary
test data, the design of the test environment, and the identification of
infrastructure and tools, though the extent to which these results are
documented varies significantly.
Neeraj Kumar Singh
Test Work Products
 Test Implementation work products
 Test implementation work products include:
 Test procedures and the sequencing of those test procedures
 Test suites
 A test execution schedule
 Test implementation also may result in the creation and verification of test
data and the test environment.
Neeraj Kumar Singh
Test Work Products
 Test Execution work products
 Test execution work products include:
 Documentation of the status of individual test cases or test procedures (e.g., ready
to run, pass, fail, blocked, deliberately skipped, etc.)
 Defect reports
 Documentation about which test item(s), test object(s), test tools, and testware
were involved in the testing
Neeraj Kumar Singh
Test Work Products
 Test Completion work products
 Test completion work products include test summary reports, action items for
improvement of subsequent projects or iterations (e.g., following a project
Agile retrospective), change requests or product backlog items, and finalized
testware.
Neeraj Kumar Singh
Traceability between the Test Basis and
Test Work Products
 In addition to the evaluation of test coverage, good traceability supports:
 Analyzing the impact of changes
 Making testing auditable
 Meeting IT governance criteria
 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)
 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.
Neeraj Kumar Singh
Fundamentals of Testing
1 Fundamentals 2 Lifecycle
4 Dynamic test
techniques
3 Static testing
5 Management 6 Tools
Software Testing
ISTQB Foundation Exam Preparation
Chapter 1
Neeraj Kumar Singh
Fundamentals of Testing
Contents
1.1 What is Testing?
1.2 Why is Testing Necessary?
1.3 Seven Testing Principles
1.4 Fundamental Test Process
1.5 The Psychology of Testing
Neeraj Kumar Singh
Psychology of Testing
Human Psychology and Testing
 An element of human psychology called confirmation bias can make it
difficult to accept information that disagrees with currently held beliefs. For
example, since developers expect their code to be correct, they have a
confirmation bias that makes it difficult to accept that the code is incorrect.
 Further, it is a common human trait to blame the bearer of bad news, and
information produced by testing often contains bad news.
 As a result of these psychological factors, some people may perceive testing
as a destructive activity, even though it contributes greatly to project
progress and product quality
 This way, tensions between the testers and the analysts, product owners,
designers, and developers can be reduced. This applies during both static and
dynamic testing.
Neeraj Kumar Singh
Psychology of Testing
Testers and test managers need to have 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. Ways
to communicate well include the following examples:
 Start with collaboration rather than battles
 Remind everyone of the common goal of better quality systems.
 Communicate findings on the product in a neutral, fact-focused way without
criticizing the person who created it.
 Try to understand how the other person feels and why they react as they do.
 Confirm that the other person has understood what you have said and vice versa.
Neeraj Kumar Singh
Psychology of Testing
Tester’s and Developer’s Mindset
 Developers and testers often think differently. There are different sets of
objectives for them which require different mindsets.
 A mindset reflects an individual’s assumptions and preferred methods for decision
making and problem solving. A tester’s mindset should include curiosity,
professional pessimism, a critical eye, attention to detail, and a motivation for
good and positive communications and relationships.
 A developer’s mindset may include some of the elements of a tester’s mindset, but
successful developers are often more interested in designing and building solutions
than in contemplating what might be wrong with those solutions. In addition,
confirmation bias makes it difficult to find mistakes in their own work.
 With the right mindset, developers are able to test their own code.
 Having some of the test activities done by independent testers increases defect
detection effectiveness, which is particularly important for large, complex, or
safety-critical systems.
Neeraj Kumar Singh

More Related Content

What's hot (20)

PDF
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
PPT
Manual testing concepts course 1
Raghu Kiran
 
PPTX
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
PPTX
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
PDF
Chapter 5 - Improving the Testing Process
Neeraj Kumar Singh
 
PPTX
ISTQB Test Process
HoangThiHien1
 
PPTX
Regression testing
Mohua Amin
 
PDF
Chapter 5 - Tools
Neeraj Kumar Singh
 
PDF
Chapter 2 - Test Management
Neeraj Kumar Singh
 
PPTX
Chapter 4 - Testing Quality Characteristics
Neeraj Kumar Singh
 
PPTX
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
PPT
Manual testing ppt
Santosh Maranabasari
 
PPTX
Chapter 2 - Fundamental Agile Testing Principle, Practices & Process
Neeraj Kumar Singh
 
PPTX
Software testing
Madhumita Chatterjee
 
PPTX
Chapter 2 - White Box Test Techniques
Neeraj Kumar Singh
 
PPTX
Software Quality Assurance
ShashankBajpai24
 
PDF
Chapter 1 - Basic Concepts
Neeraj Kumar Singh
 
PDF
Chapter 4 - Defect Management
Neeraj Kumar Singh
 
PPTX
Chapter 2 - Test Management
Neeraj Kumar Singh
 
PPTX
Istqb foundation level day 1
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
Chapter 6 - Test Tools and Automation
Neeraj Kumar Singh
 
Manual testing concepts course 1
Raghu Kiran
 
ISTQB foundation level - day 2
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Chapter 5 - Improving the Testing Process
Neeraj Kumar Singh
 
ISTQB Test Process
HoangThiHien1
 
Regression testing
Mohua Amin
 
Chapter 5 - Tools
Neeraj Kumar Singh
 
Chapter 2 - Test Management
Neeraj Kumar Singh
 
Chapter 4 - Testing Quality Characteristics
Neeraj Kumar Singh
 
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
Manual testing ppt
Santosh Maranabasari
 
Chapter 2 - Fundamental Agile Testing Principle, Practices & Process
Neeraj Kumar Singh
 
Software testing
Madhumita Chatterjee
 
Chapter 2 - White Box Test Techniques
Neeraj Kumar Singh
 
Software Quality Assurance
ShashankBajpai24
 
Chapter 1 - Basic Concepts
Neeraj Kumar Singh
 
Chapter 4 - Defect Management
Neeraj Kumar Singh
 
Chapter 2 - Test Management
Neeraj Kumar Singh
 
Istqb foundation level day 1
Shuchi Singla AKT,SPC4,PMI-ACP,ITIL(F),CP-AAT
 

Similar to Chapter 1 - Fundamentals of Testing (20)

PPTX
Chapter 3 - Agile Testing Methods, Techniques and Tools
Neeraj Kumar Singh
 
PDF
Complete Manual Testing Notes which tells about the process of testing
amargvn
 
PDF
Chapter 1
Ankit Dubey
 
PDF
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
PPTX
ISTQB - What's testing
HoangThiHien1
 
PPT
01. foundamentals of testing
Tricia Karina
 
PPT
ISTQB / ISEB Foundation Exam Practice - 5
Yogindernath Gupta
 
PPTX
What is the Objective of Software Testing?
seojayeshts
 
PPTX
Fundamentals of testing
BugRaptors
 
POTX
Static Techniques
mentary fransiska
 
ODP
Testing Software
Sibel Kuzgun AKIN
 
PDF
EFFECTIVE TEST CASE DESING: A REVIEW
Journal For Research
 
PPTX
Software testing & Quality Assurance
Webtech Learning
 
PDF
What is the Software Testing Life Cycle.pdf
qatraininghub1
 
PPTX
Chapter 1 - Agile Methodology
Neeraj Kumar Singh
 
PPTX
Testing Methodologies and Types (MCQ 12)
dhanushitha
 
PPTX
Learn sqa from expert class 2reviewed
Sharmin Khan Urmi
 
PDF
Principles and Goals of Software Testing
INFOGAIN PUBLICATION
 
Chapter 3 - Agile Testing Methods, Techniques and Tools
Neeraj Kumar Singh
 
Complete Manual Testing Notes which tells about the process of testing
amargvn
 
Chapter 1
Ankit Dubey
 
Chapter 1 - Testing Process
Neeraj Kumar Singh
 
ISTQB - What's testing
HoangThiHien1
 
01. foundamentals of testing
Tricia Karina
 
ISTQB / ISEB Foundation Exam Practice - 5
Yogindernath Gupta
 
What is the Objective of Software Testing?
seojayeshts
 
Fundamentals of testing
BugRaptors
 
Static Techniques
mentary fransiska
 
Testing Software
Sibel Kuzgun AKIN
 
EFFECTIVE TEST CASE DESING: A REVIEW
Journal For Research
 
Software testing & Quality Assurance
Webtech Learning
 
What is the Software Testing Life Cycle.pdf
qatraininghub1
 
Chapter 1 - Agile Methodology
Neeraj Kumar Singh
 
Testing Methodologies and Types (MCQ 12)
dhanushitha
 
Learn sqa from expert class 2reviewed
Sharmin Khan Urmi
 
Principles and Goals of Software Testing
INFOGAIN PUBLICATION
 
Ad

More from Neeraj Kumar Singh (20)

PDF
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
PDF
Chapter 4 - Test Analysis & Design Techniques V4.0
Neeraj Kumar Singh
 
PDF
Chapter 3 - Static Testing (Review) V4.0
Neeraj Kumar Singh
 
PDF
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
PDF
Chapter 5 - Automating the Test Execution
Neeraj Kumar Singh
 
PDF
Chapter 4 - Mobile Application Platforms, Tools and Environment
Neeraj Kumar Singh
 
PDF
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Neeraj Kumar Singh
 
PDF
Chapter 2 - Mobile Application Test Types
Neeraj Kumar Singh
 
PDF
Chapter 1 - Mobile World - Business and Technology Drivers
Neeraj Kumar Singh
 
PDF
ISTQB Performance Tester Sample Questions
Neeraj Kumar Singh
 
PDF
ISTQB Performance Tester Sample Questions' Answers
Neeraj Kumar Singh
 
PDF
ISTQB Performance Tester Certification Syllabus and Study Material
Neeraj Kumar Singh
 
PDF
Chapter 4 - Performance Testing Tasks
Neeraj Kumar Singh
 
PDF
Chapter 3 - Performance Testing in the Software Lifecycle
Neeraj Kumar Singh
 
PDF
Chapter 2 - Performance Measurement Fundamentals
Neeraj Kumar Singh
 
PDF
Chapter 7 - People Skills and Team Composition
Neeraj Kumar Singh
 
PDF
Chapter 3 - Reviews
Neeraj Kumar Singh
 
PDF
ISTQB Technical Test Analyst Answers to Sample Question Paper
Neeraj Kumar Singh
 
PDF
ISTQB Technical Test Analyst Sample Question Paper
Neeraj Kumar Singh
 
PDF
ISTQB Advance level syllabus 2019 Technical Test Analyst
Neeraj Kumar Singh
 
Chapter 6 - Test Tools Considerations V4.0
Neeraj Kumar Singh
 
Chapter 4 - Test Analysis & Design Techniques V4.0
Neeraj Kumar Singh
 
Chapter 3 - Static Testing (Review) V4.0
Neeraj Kumar Singh
 
Chapter 2 - Testing Throughout SDLC V4.0
Neeraj Kumar Singh
 
Chapter 5 - Automating the Test Execution
Neeraj Kumar Singh
 
Chapter 4 - Mobile Application Platforms, Tools and Environment
Neeraj Kumar Singh
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Neeraj Kumar Singh
 
Chapter 2 - Mobile Application Test Types
Neeraj Kumar Singh
 
Chapter 1 - Mobile World - Business and Technology Drivers
Neeraj Kumar Singh
 
ISTQB Performance Tester Sample Questions
Neeraj Kumar Singh
 
ISTQB Performance Tester Sample Questions' Answers
Neeraj Kumar Singh
 
ISTQB Performance Tester Certification Syllabus and Study Material
Neeraj Kumar Singh
 
Chapter 4 - Performance Testing Tasks
Neeraj Kumar Singh
 
Chapter 3 - Performance Testing in the Software Lifecycle
Neeraj Kumar Singh
 
Chapter 2 - Performance Measurement Fundamentals
Neeraj Kumar Singh
 
Chapter 7 - People Skills and Team Composition
Neeraj Kumar Singh
 
Chapter 3 - Reviews
Neeraj Kumar Singh
 
ISTQB Technical Test Analyst Answers to Sample Question Paper
Neeraj Kumar Singh
 
ISTQB Technical Test Analyst Sample Question Paper
Neeraj Kumar Singh
 
ISTQB Advance level syllabus 2019 Technical Test Analyst
Neeraj Kumar Singh
 
Ad

Recently uploaded (20)

PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
The Future of Artificial Intelligence (AI)
Mukul
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 

Chapter 1 - Fundamentals of Testing

  • 1. Fundamentals of Testing 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 1 Neeraj Kumar Singh
  • 2. Fundamentals of Testing Contents 1.1 What is Testing? 1.2 Why is Testing Necessary? 1.3 Seven Testing Principles 1.4 Test Process 1.5 The Psychology of Testing Neeraj Kumar Singh
  • 3. What is Testing?(K2)  Common perception is testing is limited to test execution  Test activities exist before and after test execution as well  Other activities through out the development lifecycle  Contributing to reviews Neeraj Kumar Singh
  • 4. What is Testing? Objectives of testing  Testing is all about  Finding defects  Gaining confidence about quality  Providing information  Preventing defects  To evaluate work products  To verify if all the requirements have been met  To reduce the level of risk  To comply with contractual, legal or regulatory requirements and Standards. Neeraj Kumar Singh
  • 5. What is Testing? Classification of testing Testing Dynamic Testing Static Testing Performed as Reviews & Static Analysis Performed as Levels of Testing Types of reviews are Informal Review, Walkthrough, Technical Review, Inspection Levels of testing are Unit, Integration, System, UAT and other Non-functional testing Neeraj Kumar Singh
  • 6. What is Testing? Debugging and Testing  Testing Testing deal with finding the defects by conducting failure on the application or product. This activity is performed by Testers.  Debugging Debugging is a development activity which deals with analyzing these defects, finding the root cause and removes the cause of defects. This activity is commonly performed by developers. Neeraj Kumar Singh
  • 7. Fundamentals of Testing 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 1 Neeraj Kumar Singh
  • 8. Fundamentals of Testing Contents 1.1 What is Testing? 1.2 Why is Testing Necessary? 1.3 Seven Testing Principles 1.4 Test Process 1.5 The Psychology of Testing Neeraj Kumar Singh
  • 9. Why is Testing Necessary? Testing’s Contribution to Success  Using appropriate test techniques are applied with the appropriate level of test expertise, in the appropriate test levels, and at the appropriate points in the software development lifecycle.  Having testers involved in requirements reviews or user story refinement could detect defects in these work products.  Having testers work closely with system designers while the system is being designed can increase each party’s understanding of the design and how to test it.  Having testers work closely with developers while the code is under development can increase each party’s understanding of the code and how to test it.  Having testers verify and validate the software prior to release can detect failures that might otherwise have been missed, and support the process of removing the defects that caused the failures (i.e., debugging). Neeraj Kumar Singh
  • 10. Why is Testing Necessary? Quality Assurance and Testing  While people often use the phrase quality assurance (or just QA) to refer to testing, quality assurance and testing are not the same, but they are related.  Quality assurance is typically focused on adherence to proper processes, in order to provide confidence that the appropriate levels of quality will be achieved. When processes are carried out properly, the work products created by those processes are generally of higher quality, which contributes to defect prevention.  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. Neeraj Kumar Singh
  • 11. Why is Testing Necessary? Error, Defect & Failures  Error(Mistake) A human action that produces an incorrect result  Fault(Defect, Bug) A manifestation of an error in software  also known as a defect or bug  if executed, a fault may cause a failure  Failure Deviation of the software from its expected delivery or service Neeraj Kumar Singh
  • 12. Why is Testing Necessary? Causes of Software Defects  Errors may occur for many reasons, such as:  Time pressure  Human is Error prone  Inexperienced or insufficiently skilled project participants  Miscommunication between project participants, including miscommunication about requirements and design  Complexity of the code, design, architecture, the underlying problem to be solved, and/or the technologies used  Misunderstandings about intra-system and inter-system interfaces, especially when such intrasystem and inter-system interactions are large in number  New, unfamiliar technologies Neeraj Kumar Singh
  • 13. Why is Testing Necessary? Defects, Root Causes and Effects  The root causes of defects are the earliest actions or conditions that contributed to creating the defects.  Defects can be analyzed to identify their root causes, so as to reduce the occurrence of similar defects in the future.  By focusing on the most significant root causes, root cause analysis can lead to process improvements that prevent a significant number of future defects from being introduced. Neeraj Kumar Singh
  • 14. Fundamentals of Testing 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 1 Neeraj Kumar Singh
  • 15. Fundamentals of Testing Contents 1.1 What is Testing? 1.2 Why is Testing Necessary? 1.3 Seven Testing Principles 1.4 Fundamental Test Process 1.5 The Psychology of Testing Neeraj Kumar Singh
  • 16. Seven Testing Principles • Testing shows presence of defects.Principle 1 • Exhaustive testing is impossible.Principle 2 • Early testingPrinciple 3 • Defect clusteringPrinciple 4 • Pesticide paradoxPrinciple 5 • Testing context dependentPrinciple 6 • Absence-of-error fallacyPrinciple 7 Neeraj Kumar Singh
  • 17. Seven Testing Principles Testing can show that defects are present in a system software, but no matter whatever count of defects we find, at any point of time we can’t say there no more defects. Also to add to it, in case no defects are found, it’s not a proof of correctness. Testing shows presence of defects, not there absence Neeraj Kumar Singh
  • 18. Seven Testing Principles Testing everything, which means all possible combination of inputs and preconditions is generally not feasible to be conducted. As an alternate to exhaustive testing, risk analysis and priorities should be used to focus on testing efforts . Exhaustive Testing is impossible Neeraj Kumar Singh
  • 19. Seven Testing Principles To find defects earlier or to prevents defects being introduced, testers must be involved as early as possible in developments life cycle. Testing activities must be coordinated with corresponding development activities. Testers are good contributor in reviews and must participate. This helps them understand the requirements earlier and prepare test cases earlier in life cycle. Early Testing saves time and money Neeraj Kumar Singh
  • 20. Seven Testing Principles It is possible that the more defects are clustered in smaller modules compared to being distributed among bigger and other modules. In this regards, a tester must consider and prepare proportional test cases to test such system. Defects Cluster Together Neeraj Kumar Singh
  • 21. Seven Testing Principles If the same tests are repeated over and over again, eventually the same set of test cases will no longer help find new defects. To overcome this “pesticide paradox” test cases need to be regularly reviewed and revised. Beware of Pesticide Paradox Neeraj Kumar Singh
  • 22. Seven Testing Principles Testing is done differently in different context. Two different software are testing with different strategy. Testing is Context Dependent Neeraj Kumar Singh
  • 23. Seven Testing Principles Meeting the requirement is equally important. Finding and fixing defect doesn’t help if the system built doesn’t fulfill the users’ need and expectations Absence-of-Error is a Fallacy Neeraj Kumar Singh
  • 24. Fundamentals of Testing 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 1 Neeraj Kumar Singh
  • 25. Fundamentals of Testing Contents 1.1 Why is Testing Necessary? 1.2 What is Testing? 1.3 Seven Testing Principles 1.4 Test Process 1.5 The Psychology of Testing Neeraj Kumar Singh
  • 26. Test Process in Context  Contextual factors that influence the test process for an organization, include, but are not limited to:  Software development lifecycle model and project methodologies being used  Test levels and test types being considered  Product and project risks  Business domain  Operational constraints, (Budgets and resources, Timescales, Complexity, Contractual and regulatory requirements)  Organizational policies and practices  Required internal and external standards Neeraj Kumar Singh
  • 27. Test Process  A test process consists of the following main activities  Test planning  Test monitoring and control  Test analysis  Test design  Test implementation  Test execution  Test completion Neeraj Kumar Singh
  • 28. Test Process  Test Planning consists of following activaties :  Determining the scope and risks and identifying the objective of testing.  Defining the overall approach of testing.  Scheduling test activities, Assigning resources for the activities.  Defining the amount, detail, template for documentation.  Selecting metrics for monitoring and controlling.  Defining entry and exit criteria.  Deciding about automation. Test Planning Neeraj Kumar Singh
  • 29. Test Process  Test Monitoring  It is process of measuring the progress on the project.  Test Metrics  These certain set of formulae which calculates any dimensions(test, defects, coverage, etc) of testing. Test Execution Rate : 𝑁𝑜 𝑜𝑓 𝑇𝑒𝑠𝑡 𝐶𝑎𝑠𝑒𝑠 𝐸𝑥𝑒𝑐𝑢𝑡𝑒𝑑 𝑁𝑜 𝑜𝑓 𝑇𝑒𝑠𝑡 𝐶𝑎𝑠𝑒𝑠 𝑃𝑙𝑎𝑛𝑛𝑒𝑑 𝑓𝑜𝑟 𝐸𝑥𝑒𝑐𝑢𝑡𝑖𝑜𝑛 x 100  Test Control  Test control involves taking actions necessary to meet the objectives of the test plan . Test Monitoring & Control Neeraj Kumar Singh
  • 30. Test Process  Test Analysis includes following major activities:  Analyzing the Test Basis.  Evaluating the test basis and test items to identify defects of various types, such as Ambiguities, Omissions, Inconsistencies, Inaccuracies, etc.  Identifying features and sets of features to be tested.  Defining and prioritizing test conditions for each feature based on analysis of the test basis.  considering functional, non-functional, and structural characteristics, other business and technical factors, and levels of risks Test Analysis Neeraj Kumar Singh
  • 31. Test Process  Test Design includes the following major activities  Designing and prioritizing Test Cases.  Identifying necessary Test Data to support the Test Conditions and test cases.  Designing the test environment and identifying required infrastructure & tools.  Creating bi-directional traceability between test basis and test cases Test Design Neeraj Kumar Singh
  • 32. Test Process  Test Implementation includes the following activities  Developing and prioritizing test procedures, and, potentially, creating automated test scripts  Creating test suites from the test procedures and (if any) automated test scripts  Arranging the test suites within a test execution schedule in a way that results in efficient test execution  Building the test environment (including, potentially, test harnesses, service virtualization, simulators, and other infrastructure items) and verifying that everything needed has been set up correctly  Preparing test data and ensuring it is properly loaded in the test environment Verifying and updating bi-directional traceability between the test basis, test conditions, test cases, test procedures, and test suites. Test Implementation Neeraj Kumar Singh
  • 33. Test Process  Test execution includes the following major activities:  Recording the IDs and versions of the test item(s) or test object, test tool(s), and testware.  Executing tests either manually or by using test execution tools  Comparing actual results with expected results  Analyzing anomalies to establish their likely causes (e.g., failures may occur due to defects in the code, but false positives also may occur  Reporting defects based on the failures observed  Logging the outcome of test execution (e.g., pass, fail, blocked)  Repeating test activities either as a result of action taken for an anomaly, or as part of the planned testing (e.g., execution of a corrected test, confirmation testing, and/or regression testing) Test Execution Neeraj Kumar Singh
  • 34. Test Process  Test completion includes the following major activities:  Checking whether all defect reports are closed, entering change requests or product backlog items for any defects that remain unresolved at the end of test execution  Creating a test summary report to be communicated to stakeholders  Finalizing and archiving the test environment, the test data, the test infrastructure, and other testware for later reuse  Handing over the testware to the maintenance teams, other project teams, and/or other stakeholders who could benefit from its use  Analyzing lessons learned from the completed test activities to determine changes needed for future iterations, releases, and projects  Using the information gathered to improve test process maturity Test Completion Neeraj Kumar Singh
  • 35. Fundamentals of Testing 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 1 Neeraj Kumar Singh
  • 36. Fundamentals of Testing Contents 1.1 What is Testing 1.2 Why is Testing Necessary? 1.3 Seven Testing Principles 1.4 Test Process 1.5 The Psychology of Testing Neeraj Kumar Singh
  • 37. Test Work Products  Test Planning work products  Test planning work products typically include one or more test plans. The test plan includes information about the test basis, to which the other test work products will be related via traceability information Neeraj Kumar Singh
  • 38. Test Work Products  Test Monitoring and Control work products  Test monitoring and control work products typically include various types of test reports, including test progress reports and test summary  Test monitoring and control work products should also address project management concerns, such as task completion, resource allocation and usage, and effort. Neeraj Kumar Singh
  • 39. Test Work Products  Test Analysis work products  Test analysis work products include defined and prioritized test conditions, each of which is ideally bidirectionally traceable to the specific element(s) of the test basis it covers.  For exploratory testing, test analysis may involve the creation of test charters. Neeraj Kumar Singh
  • 40. Test Work Products  Test Design work products  Test design results in test cases and sets of test cases to exercise the test conditions defined in test analysis.  Test design also results in the design and/or identification of the necessary test data, the design of the test environment, and the identification of infrastructure and tools, though the extent to which these results are documented varies significantly. Neeraj Kumar Singh
  • 41. Test Work Products  Test Implementation work products  Test implementation work products include:  Test procedures and the sequencing of those test procedures  Test suites  A test execution schedule  Test implementation also may result in the creation and verification of test data and the test environment. Neeraj Kumar Singh
  • 42. Test Work Products  Test Execution work products  Test execution work products include:  Documentation of the status of individual test cases or test procedures (e.g., ready to run, pass, fail, blocked, deliberately skipped, etc.)  Defect reports  Documentation about which test item(s), test object(s), test tools, and testware were involved in the testing Neeraj Kumar Singh
  • 43. Test Work Products  Test Completion work products  Test completion work products include test summary reports, action items for improvement of subsequent projects or iterations (e.g., following a project Agile retrospective), change requests or product backlog items, and finalized testware. Neeraj Kumar Singh
  • 44. Traceability between the Test Basis and Test Work Products  In addition to the evaluation of test coverage, good traceability supports:  Analyzing the impact of changes  Making testing auditable  Meeting IT governance criteria  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)  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. Neeraj Kumar Singh
  • 45. Fundamentals of Testing 1 Fundamentals 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB Foundation Exam Preparation Chapter 1 Neeraj Kumar Singh
  • 46. Fundamentals of Testing Contents 1.1 What is Testing? 1.2 Why is Testing Necessary? 1.3 Seven Testing Principles 1.4 Fundamental Test Process 1.5 The Psychology of Testing Neeraj Kumar Singh
  • 47. Psychology of Testing Human Psychology and Testing  An element of human psychology called confirmation bias can make it difficult to accept information that disagrees with currently held beliefs. For example, since developers expect their code to be correct, they have a confirmation bias that makes it difficult to accept that the code is incorrect.  Further, it is a common human trait to blame the bearer of bad news, and information produced by testing often contains bad news.  As a result of these psychological factors, some people may perceive testing as a destructive activity, even though it contributes greatly to project progress and product quality  This way, tensions between the testers and the analysts, product owners, designers, and developers can be reduced. This applies during both static and dynamic testing. Neeraj Kumar Singh
  • 48. Psychology of Testing Testers and test managers need to have 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. Ways to communicate well include the following examples:  Start with collaboration rather than battles  Remind everyone of the common goal of better quality systems.  Communicate findings on the product in a neutral, fact-focused way without criticizing the person who created it.  Try to understand how the other person feels and why they react as they do.  Confirm that the other person has understood what you have said and vice versa. Neeraj Kumar Singh
  • 49. Psychology of Testing Tester’s and Developer’s Mindset  Developers and testers often think differently. There are different sets of objectives for them which require different mindsets.  A mindset reflects an individual’s assumptions and preferred methods for decision making and problem solving. A tester’s mindset should include curiosity, professional pessimism, a critical eye, attention to detail, and a motivation for good and positive communications and relationships.  A developer’s mindset may include some of the elements of a tester’s mindset, but successful developers are often more interested in designing and building solutions than in contemplating what might be wrong with those solutions. In addition, confirmation bias makes it difficult to find mistakes in their own work.  With the right mindset, developers are able to test their own code.  Having some of the test activities done by independent testers increases defect detection effectiveness, which is particularly important for large, complex, or safety-critical systems. Neeraj Kumar Singh