SlideShare a Scribd company logo
Software Testing
By Fazal Wahab
What is Software Testing?
 Several definitions:
“Testing is the process of establishing confidence that a program or
system does what it is supposed to.” by Hetzel 1973
“Testing is the process of executing a program or system with the
intent of finding errors.” by Myers 1979
“Testing is any activity aimed at evaluating an attribute or capability
of a program or system and determining that it meets its required
results.”
by Hetzel 1983
What is Software Testing?
What is IEEE’s definition?
 One of very important software development phases
 A software process based on well-defined software quality
control and testing standards, testing methods, strategy, test
criteria, and tools.
 Engineers perform all types of software testing activities to
perform a software test process.
 The last quality checking point for software on its production
line
Testing Objectives
 The Major Objectives of Software Testing:
 Uncover as many as errors (or bugs) as possible in a given timeline.
 Demonstrate a given software product matching its requirement
specifications.
 Validate the quality of a software testing using the minimum cost and efforts.
 Generate high quality test cases, perform effective tests, and issue correct
and helpful problem reports.
 Major goals:
 uncover the errors (defects) in the software, including errors in:
- requirements from requirement analysis
- design documented in design specifications
- coding (implementation)
- system resources and system environment
- hardware problems and their interfaces to software
Who does Software Testing?
- Test manager
- manage and control a software test project
- supervise test engineers
- define and specify a test plan
- Software Test Engineers and Testers
- define test cases, write test specifications, run tests
- Independent Test Group
- Development Engineers
- Only perform unit tests and integration tests
- Quality Assurance Group and Engineers
- Perform system testing
- Define software testing standards and quality control process
Software Testing Scope
Software Testing
Process
Software Testing
Management
Configuration
Management
Software Problem
Management
Software Testing
Methods
Software Test
Criteria
Software Testing
Tools
Software Test
Models
Software Testing
Strategies
Software Testing Activities
 Test Planning
Define a software test plan by specifying:
- a test schedule for a test process and its activities, as well as assignments
- test requirements and items
- test strategy and supporting tools
- Test Design and Specification
- Conduct software design based on well-defined test generation methods.
- Specify test cases to achieve a targeted test coverage.
- Test Set up:
- Testing Tools and Environment Set-up
- Test Suite Set-up
- Test Operation and Execution
- Run test cases manually or automatically
Software Testing Activities
 Test Result Analysis and Reporting
Report software testing results and conduct test result analysis
- Problem Reporting
Report program errors using a systematic solution.
- Test Management and Measurement
Manage software testing activities, control testing schedule, measure
testing complexity and cost
- Test Automation
- Define and develop software test tools
- Adopt and use software test tools
- Write software test scripts and facility
- Test Configuration Management
- Manage and maintain different versions of software test suites, test
environment and tools, and documents for various product versions.
Verification and Validation
Software testing is one element of a broader topic that is often referred to as
===> Verification and Validation (V&V)
Verification --> refers to the set of activities that ensure that software correctly
implements a specific function.
Validation -> refers to a different set of activities that ensure that the software
that has been built is traceable to customer requirements.
Boehm [BOE81]:
Verification: “Are we building the product right?”
Validation: “Are we building the right product?”
The definition of V&V encompasses many of SQA activities, including
formal technical reviews, quality and configuration audits
performance monitoring, different types of software testing
feasibility study and simulation
Software Quality Factors
Functionality (exterior quality)
- Correctness, reliability, usability, and integrity
Engineering (interior quality)
- Efficiency, testability, documentation, structure
Adaptability (future qualities)
- Flexibility, reusability, maintainability
Software Testing Principles
• Principle #1: Complete testing is impossible.
• Principle #2: Software testing is not simple.
• Reasons:
• Quality testing requires testers to understand a system/product completely
• Quality testing needs adequate test set, and efficient testing methods
• A very tight schedule and lack of test tools.
• Principle #3: Testing is risk-based.
• Principle #4: Testing must be planned.
• Principle #5: Testing requires independence.
• Principle #6: Quality software testing depends on:
• Good understanding of software products and related domain application
• Cost-effective testing methodology, coverage, test methods, and tools.
• Good engineers with creativity, and solid software testing experience

More Related Content

PPT
Preobrazba carstva
PDF
Lect-4: Software Development Life Cycle Model - SPM
PPTX
How a project is born. Intro to Discovery Phase
PPTX
An Overview of User Acceptance Testing (UAT)
PPT
Software Testing
PPT
Manual testing concepts course 1
PPTX
Software testing
PPTX
SOFTWARE TESTING unit 1 types of software testing.pptx
Preobrazba carstva
Lect-4: Software Development Life Cycle Model - SPM
How a project is born. Intro to Discovery Phase
An Overview of User Acceptance Testing (UAT)
Software Testing
Manual testing concepts course 1
Software testing
SOFTWARE TESTING unit 1 types of software testing.pptx

Similar to Software testing lecture 9 (20)

PPS
Mca se chapter_07_software_validation
PPTX
Object oriented testing
PDF
Objectorientedtesting 160320132146
PPTX
IT8076 – Software Testing Intro
PDF
Best software testing course
PPTX
Software testing & Quality Assurance
PDF
Validation & verification software engineering
PPTX
Software Quality Assurance
PPT
Software_Verification_and_Validation.ppt
PPTX
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
PPT
Software Quality
PPT
Testing strategies in Software Engineering
PPTX
verification and validation
PPT
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
PPTX
An introduction to Software Testing and Test Management
PPTX
Software engineering 20 software testing
PPTX
Object Oriented Testing(OOT) presentation slides
PPTX
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
PPSX
Manual testing
PPTX
software testing technique
Mca se chapter_07_software_validation
Object oriented testing
Objectorientedtesting 160320132146
IT8076 – Software Testing Intro
Best software testing course
Software testing & Quality Assurance
Validation & verification software engineering
Software Quality Assurance
Software_Verification_and_Validation.ppt
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
Software Quality
Testing strategies in Software Engineering
verification and validation
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
An introduction to Software Testing and Test Management
Software engineering 20 software testing
Object Oriented Testing(OOT) presentation slides
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Manual testing
software testing technique
Ad

More from Abdul Basit (20)

PDF
Atlassian git cheatsheet
PDF
Github git-cheat-sheet
PPT
White box testing
PPT
Web testing
PPT
Testing the documentation
PPT
Testing software security
PPT
Testing fundamentals
PPT
Test planning
PPT
Test cases planning
PPT
Software Compatibility testing
PPT
Black box testing
PPT
Software Automated testing and tools
PPT
Why test software
PDF
Git Developer Cheatsheet
PPT
Static white box testing lecture 12
PPT
Software testing lecture 10
PPT
Software quality assurance lecture 1
PPT
Software measurement lecture 7
PPT
Planning for software quality assurance lecture 6
PPT
Managing software quality in an organization lecture 3
Atlassian git cheatsheet
Github git-cheat-sheet
White box testing
Web testing
Testing the documentation
Testing software security
Testing fundamentals
Test planning
Test cases planning
Software Compatibility testing
Black box testing
Software Automated testing and tools
Why test software
Git Developer Cheatsheet
Static white box testing lecture 12
Software testing lecture 10
Software quality assurance lecture 1
Software measurement lecture 7
Planning for software quality assurance lecture 6
Managing software quality in an organization lecture 3
Ad

Recently uploaded (20)

PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Unlocking AI with Model Context Protocol (MCP)
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Empathic Computing: Creating Shared Understanding
PDF
cuic standard and advanced reporting.pdf
PDF
Modernizing your data center with Dell and AMD
PPTX
Big Data Technologies - Introduction.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Network Security Unit 5.pdf for BCA BBA.
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Unlocking AI with Model Context Protocol (MCP)
The AUB Centre for AI in Media Proposal.docx
Empathic Computing: Creating Shared Understanding
cuic standard and advanced reporting.pdf
Modernizing your data center with Dell and AMD
Big Data Technologies - Introduction.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
Dropbox Q2 2025 Financial Results & Investor Presentation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Electronic commerce courselecture one. Pdf
Encapsulation_ Review paper, used for researhc scholars
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
Network Security Unit 5.pdf for BCA BBA.

Software testing lecture 9

  • 2. What is Software Testing?  Several definitions: “Testing is the process of establishing confidence that a program or system does what it is supposed to.” by Hetzel 1973 “Testing is the process of executing a program or system with the intent of finding errors.” by Myers 1979 “Testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results.” by Hetzel 1983
  • 3. What is Software Testing? What is IEEE’s definition?  One of very important software development phases  A software process based on well-defined software quality control and testing standards, testing methods, strategy, test criteria, and tools.  Engineers perform all types of software testing activities to perform a software test process.  The last quality checking point for software on its production line
  • 4. Testing Objectives  The Major Objectives of Software Testing:  Uncover as many as errors (or bugs) as possible in a given timeline.  Demonstrate a given software product matching its requirement specifications.  Validate the quality of a software testing using the minimum cost and efforts.  Generate high quality test cases, perform effective tests, and issue correct and helpful problem reports.  Major goals:  uncover the errors (defects) in the software, including errors in: - requirements from requirement analysis - design documented in design specifications - coding (implementation) - system resources and system environment - hardware problems and their interfaces to software
  • 5. Who does Software Testing? - Test manager - manage and control a software test project - supervise test engineers - define and specify a test plan - Software Test Engineers and Testers - define test cases, write test specifications, run tests - Independent Test Group - Development Engineers - Only perform unit tests and integration tests - Quality Assurance Group and Engineers - Perform system testing - Define software testing standards and quality control process
  • 6. Software Testing Scope Software Testing Process Software Testing Management Configuration Management Software Problem Management Software Testing Methods Software Test Criteria Software Testing Tools Software Test Models Software Testing Strategies
  • 7. Software Testing Activities  Test Planning Define a software test plan by specifying: - a test schedule for a test process and its activities, as well as assignments - test requirements and items - test strategy and supporting tools - Test Design and Specification - Conduct software design based on well-defined test generation methods. - Specify test cases to achieve a targeted test coverage. - Test Set up: - Testing Tools and Environment Set-up - Test Suite Set-up - Test Operation and Execution - Run test cases manually or automatically
  • 8. Software Testing Activities  Test Result Analysis and Reporting Report software testing results and conduct test result analysis - Problem Reporting Report program errors using a systematic solution. - Test Management and Measurement Manage software testing activities, control testing schedule, measure testing complexity and cost - Test Automation - Define and develop software test tools - Adopt and use software test tools - Write software test scripts and facility - Test Configuration Management - Manage and maintain different versions of software test suites, test environment and tools, and documents for various product versions.
  • 9. Verification and Validation Software testing is one element of a broader topic that is often referred to as ===> Verification and Validation (V&V) Verification --> refers to the set of activities that ensure that software correctly implements a specific function. Validation -> refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements. Boehm [BOE81]: Verification: “Are we building the product right?” Validation: “Are we building the right product?” The definition of V&V encompasses many of SQA activities, including formal technical reviews, quality and configuration audits performance monitoring, different types of software testing feasibility study and simulation
  • 10. Software Quality Factors Functionality (exterior quality) - Correctness, reliability, usability, and integrity Engineering (interior quality) - Efficiency, testability, documentation, structure Adaptability (future qualities) - Flexibility, reusability, maintainability
  • 11. Software Testing Principles • Principle #1: Complete testing is impossible. • Principle #2: Software testing is not simple. • Reasons: • Quality testing requires testers to understand a system/product completely • Quality testing needs adequate test set, and efficient testing methods • A very tight schedule and lack of test tools. • Principle #3: Testing is risk-based. • Principle #4: Testing must be planned. • Principle #5: Testing requires independence. • Principle #6: Quality software testing depends on: • Good understanding of software products and related domain application • Cost-effective testing methodology, coverage, test methods, and tools. • Good engineers with creativity, and solid software testing experience