文章目录
- Learning Objective
- Introduction
- Software Applications
- Before Software Testing
- What is testing?
- What is software testing?
- Type of Testing
- Define software testing
- Verification & Validation
- Why do we test?
- What do we test?
- Who’s involved in testing?
- Testing Important Concept
- Difference b/w Verification & Validation
- Software Quality
- Test case
Learning Objective
1.1 Introduction
1.2 What is Software Testing
1.3 Type of Testing
1.4 Validation & Verification
1.5 Why do we Test?
1.6 Where do we Test?
1.7 Who involved in Testing
1.8 Testing Important Concepts
1.9 Software Quality
1.10 SDLC
Abbreviations
SDLC
software development life cycle
STLC
software testing life cycle
QA
quality assurance
QC
quality control
New words
quality control
Requirement Need
Defects Error/Mistake
Quality - Grade of excellence
Introduction
Introduction
What is software?
A set of computer program with minimal data use to run a system called software.
Computer software, or simply software, is a collection of data or computer instructions that tell the computer how to work.
For example
Internet browser
Operating system
Microsoft Office Package
Software Applications
Software Applications
Software Applications is basically two categories
1. Projects 2. Products
1、Projects : If a software application is developed for a specific customer requirement then, it is called projects.
2、Products : If a software application is developed for multiple customers requirement then , it is called product
Before Software Testing
What is SDLC?
It is a process of developing various Information System.
(Projects/Products)
Requirement analysis Design Implementation
Testing Evolution
Do you know …?
What is Software Testing?
Why testing is necessary?
Who does the testing?
What has to be tested?
When is testing done?
How often to test?
What is testing?
Testing is a process for
Finding defects in a controlled manner
Detecting the quality of the software product
Find the gap between specifications and the actual product
Group of activities
What is software testing?
Software testing is the process of executing software in a controlled manner, in order to answer the question “Does the software behave as specified?”.
Type of Testing
Manual Testing 手动
Automation Testing
Manual Testing
Testing activities performed by the people (tester) without the help of any software testing tools
Automatic Testing
Testing activities performed by the people (tester) with the help of any software testing tools
Differences
Manual Testing
It is not accurate at all times due to human error, hence it is less reliable.
It is time-consuming, taking up human resources.
Investment is required for human resources.
People make mistakes
It is only practical when the test cases are run once or twice.
Automated Testing
It is more reliable, as it is performed by tools and/or scripts.
It is executed by software tools, so it is significantly faster
Investment is required for testing tools.
It is a practical option when the test cases are run repeatedly over a long time period.
Define software testing
Software Testing = Verification + Validation
Verification: are we developing the right product or not ?
Validation :Does the developed product is right or not ?
Verification & Validation
Verification :
It is a process of checking if the system ( Product /Project) is well engineered .
It is called Static Testing.
Static Testing.
Validation :
It is a process of checking the system meets customers actual requirements.
It called Dynamic Testing
Dynamic Testing
一静一动.
Why do we test?
Information for Stakeholders
Find bugs
Ensure Software is Fit for Purpose.
Give Confidence.
Mitigate Risk.
Measure Quality.
What do we test?
Application Software
Hardware
System Software
Procedures
Document
Functionality
Performance
Usability
Who’s involved in testing?
Developers – Code Inspection, Unit Testing
Developers Unit Testing
Testers – System & Integration Testing
Trainers – Training materials production
Users – User Acceptance Testing
Project Managers – Scheduling, Resourcing, Risks, Issues, Defect States
Everybody is responsible for quality
Everybody is responsible for quality
Testing Important Concept
error
A Mistake in coding is called Error
Example: Spelling Mistakes , Missing Brackets
Error found by the tester is called Defect or Fault.
Fault.
Example : Algorithmic Error, Syntax, Computation Error, etc)
Software does not meet the requirements then it is .
Failure.
The product does not meet the customer requirement,
It make business loss
Bug free software.
Difference b/w Verification & Validation
Verification
It is a Quality improvement process.
It is involve with the reviewing and evaluating the process.
It is conducted by QA team.
Verification is Correctness.
Are we producing the product right?
Validation
It is ensures the functionality.
It is conducted by development team with the help from QC team.
Validation is Truth.
Validation is the following process of verification.
Are we producing the right product?
Actual Result
Expected Result
Software Quality
Quality:
The degree to which a component/system or process to meets specified requirements or customer needs and expectations.
Support
Software quality:
The totality of functionality and features of a software product .
That bear on its ability to satisfy the implied needs.
Quality can be define in different manner.
Quality definition may differ from person to person.
But finally there should be some standards.
standards.
So Following factors are used to measure software development quality.
Reliability
Maintainability
Usability
Portability
Correctness
Efficiency
Reliability
Product reliability is measured in terms of working of project under different working environment and different conditions.
Maintainability
Different versions of the product should be easy to maintain.
Usability
This can be measured in terms of ease of use. Application should be user friendly.
Should be easy to learn.
Correctness
Application should be correct in terms of its functionality, calculations used internally and the navigation should be correct.
Efficiency
Measured in terms of time required to complete any task given to the system.
Test case
Test cases is a set of conditions under which a tester will determine whether an application is working correctly or not.
To Compare actual results with expected results.
Test Case ID :12345
Test Case Description: Add two Number
Input Data: 5 + 2
Expected Result:7
Actual Result: 5
Pass/Fail: Fail
Remarks:It’s have some bug.