The University of Lahore
A “W4” Category University
CS-4349 Software Testing &
Implementation
The University of Lahore
A “W4” Category University
07/10/2020 2
The University of Lahore
A “W4” Category University
What is root-cause analysis?
To find real reason when we detect faults is called root
cause analysis.
When we detect failures, we might try to track them back to
their root cause, the real reason that they happened.
The University of Lahore
A “W4” Category University
07/10/2020 4
Exercise
Root Cause Analysis
The University of Lahore
A “W4” Category University
1.1.5 Testing and quality
Q 1- What can be the ways of carrying root cause analysis? Way1:
__________________________________________________________ Way2:
__________________________________________________________
Q 2- An organization has a problem with printing repeatedly failing. Suggest some possible causes of this failure.
The University of Lahore
A “W4” Category University
07/10/2020 6
1.1.5 Testing and quality
Q 3- These causes may happen because
__________________________________________________________ __________________________________________________________ __________________________________________________________
Q 4- What possible steps the software testers will take to design the software and resolve the printing failure and facilitate the users?
The University of Lahore
A “W4” Category University
Q-1 What are the ways of carrying root-cause
analysis?
1. Discussion
2. Involving group of people with brainstorming ideas
The University of Lahore
A “W4” Category University
07/10/2020 8
Q-2
Suppose an organization has a problem with printing repeatedly failing. Some IT maintenance will sit together to examine the problem and they start by brainstorming all the possible causes of the failure.
Some of the cause they discover might be:
1. Printer runs out of supplies (ink or paper) 2. Printer driver software fails.
3. Printer room is too hot for the printer.
The University of Lahore
A “W4” Category University
Q-3
If we look at one of the causes “ printer runs out of
supplies, it may happen because:
ROOT CAUSE:
1. No one is responsible for checking printer ink/paper before use. 2. Staff not trained in looking after the printer.
3. No process for stock control and ordering.
The University of Lahore
A “W4” Category University
07/10/2020 10
Summary
Root-cause analysis
is an important aspect of
quality assurance activities and testing
contributes by helping us to identify defect and
improve software quality as early as possible
before the software is in use.
The University of Lahore
A “W” Category University Ranked Amongst The Top 550 Universities of The WORLD!
Exhaustive Testing
A test approach in which the test suit comprises all combinations of input values and preconditions.
How much testing should we do?
Test everything Test nothing Test some of the software
Testing Principle-Exhaustive testing is impossible
The University of Lahore
A “W” Category University Ranked Amongst The Top 550 Universities of The WORLD!
07/10/2020 12
EXAMPLE 1
How many tests would you need to do to completely
test a one-digit numeric field?
1. 10 possible valid numeric values (10 tests)
2. We need to ensure that all invalid values are rejected.
e.g. 26 uppercase letters, 26 lowercase letters, special
characters and blank space. Total tests would be 68.
The University of Lahore
A “W” Category University Ranked Amongst The Top 550 Universities of The WORLD!
EXAMPLE 2
One screen has 15 input fields, each having 1
digit numeric field. How many test are required
to do?
The University of Lahore
A “W4” Category University
07/10/2020 14
Exhaustive Testing
A test approach in which the test suit comprises all combinations of input values and preconditions.
How much testing should we do?
Test everything Test nothing Test some of the software
Testing Principle-Exhaustive testing is impossible
Testing everything is not feasible/possible.
The University of Lahore
A “W4” Category University
EXAMPLE 1
How many tests would you need to do to completely
test a one-digit numeric field?
1. 10 possible valid numeric values (10 tests)
2. We need to ensure that all invalid values are rejected.
e.g. 26 uppercase letters, 26 lowercase letters, special
characters and blank space. Total tests would be 68.
The University of Lahore
A “W4” Category University
07/10/2020 16
EXAMPLE 2
One screen has 15 input fields, each having 1
digit numeric field. How many test are required
to do?
The University of Lahore
A “W4” Category University
TESTING
“Testing is a process rather than a single
activity-there are series of activities
involved.”
One of the activities is all life cycle activities. Testing
takes place throughout the software development life
cycle.
The University of Lahore
A “W4” Category University
07/10/2020 18
Software Development Life Cycle
The University of Lahore
A “W4” Category University
1.2 What is testing?
The University of Lahore
A “W4” Category University
07/10/2020 20
1.2 What is testing?
SYSTEM LIFE CYCLE
1. System life cycle is an organizational process of developing and maintaining systems.
2. It helps in establishing a system project plan.
3. System development life cycle means combination of various activities put together are referred as system development life cycle.
The University of Lahore
A “W4” Category University
1.2 What is testing?
Phases of software development cycle
1. Problem Recognition (System Study) 2. Feasibility Study
3. System Analysis 4. System Design
5. Coding /Implementation/Construction 6. Testing
The University of Lahore
A “W4” Category University
07/10/2020 22
1.2 What is testing?
System Study
1. System study is the first stage of system development life cycle.
2. It gives a clear picture of what actually the physical system is? 3. System study is done in two phases.
In the first phase, the preliminary survey of the system is done which helps in identifying the scope of the system.
The University of Lahore
A “W4” Category University
1.2 What is testing?
4. After completing the system study, a system
proposal is prepared by the System Analyst (who
studies the system) and placed before the user.
The University of Lahore
A “W4” Category University
07/10/2020 24
1.2 What is testing?
System Study (SUMMARY)
1. Problem identification and project initiation 2. Background analysis
3. Conclusion findings
The University of Lahore
A “W4” Category University
1.2 What is testing?
Feasibility Study
On the basis of result of the initial study, feasibility study takes place.
The feasibility study is basically the test of its
Workability
Meeting user’s requirements Effective use of resources
Cost effectiveness
Decide whether or not to continue with the project?
The University of Lahore
A “W4” Category University
07/10/2020 26
1.2 What is testing?
System Analysis
Study the existing system in detail is called analysis. During analysis, data are collected
Ways to study the existing system
1. Interview users of the current system
2. Read any manual or instructions which are in use 3. Observe the current system in operation
The University of Lahore
A “W4” Category University
1.2 What is testing?
System Design
Based on the user requirements and the detailed analysis of a new system, the new system must be designed. This is the phase of system designing.
It is a most difficult phase in the development of a system.
Normally, the design proceeds in two stages :
The University of Lahore
A “W4” Category University
07/10/2020 28
1.2 What is testing?
Preliminary or general design:
1. The features of the new system are specified.
2. The costs of implementing these features and the benefits to be derived are estimated.
Structure or detailed design:
1. At this stage, the design of the system becomes more structured.
2. Input, output and processing specifications are drawn up in detail.
The University of Lahore
A “W4” Category University
1.2 What is testing?
Designing
1. Data capture forms 2. Type of user interface
3. Validations methods-how is input data going to be test?
4. Programs-if some new programs has to be written then they have to be designed at this stage
The University of Lahore
A “W4” Category University
07/10/2020 30
Coding/Construction
1. After designing the new system, the whole system is required to be converted into computer understanding language.
2. This is also called the programming phase in which the programmer converts the program specifications into computer instructions, which we refer as programs. The programs coordinate the data movements and control the entire process in a system.
3. User documentation is prepared
The University of Lahore
A “W4” Category University
Testing
1. Before actually implementing the new system into operations, a test run of the system is done removing all the bugs, if any.
2. It is an important phase of a successful system.
3. After codifying the whole programs of the system, a test plan should be developed and run on a given set of test data.
The University of Lahore
A “W4” Category University
07/10/2020 32
Testing
1. Unit Testing
2. Integration Testing
3. System testing. Test data is designed and the results are forecast
The University of Lahore
A “W4” Category University
Component Testing
Searches for defects and verifies the functioning of software components (modules, programs, objects, classes etc) that are separately testable.
Integration Testing
Tests interfaces between components, interactions to different parts of a system such as OS, file system and hardware.
System Testing
Concerned with the behavior of the whole system/product.
Acceptance Testing
The University of Lahore
A “W4” Category University
07/10/2020 34
Implementation
1. After having the user acceptance of the new system developed, the implementation phase begins.
2. Implementation is the stage of a project during which theory is turned into practice.
3. During this phase, all the programs of the system are loaded onto the user's computer. After loading the system, training of the users starts.
4. File conversion
The University of Lahore
A “W4” Category University
Implementation
Main topics of such type of training are:
1. How to execute the package 2. How to enter the data
The University of Lahore
A “W4” Category University
07/10/2020 36
After the users are trained about the computerized system, manual working has to shift from manual to computerized working. The following two strategies are followed for running the system:
Direct Change Over:
The old/existing system is immediately removed and the new system come into placeParallel Run:
In such run for a certain defined period, both the systems i.e. computerized and manual are executed in parallel. This strategy is helpful because of the following:
1. Manual results can be compared with the results of the computerized system.
The University of Lahore
A “W4” Category University
Phased/Pilot Run:
The University of Lahore
A “W4” Category University
07/10/2020 38
Maintenance
1. Maintenance is necessary to eliminate errors in the
system during its working life and to tune the system
to any variations in its working environment.
The University of Lahore
A “W4” Category University
System Maintenance and Review
The review of the system is done for:
1. Knowing the full capabilities of the system
2. Knowing/upgrade the required changes or the
additional requirements
3. Studying the performance
4. Keep watching on the new system
The University of Lahore
A “W4” Category University
07/10/2020 40
What is Testing?
The University of Lahore
A “W4” Category University
What is Testing?
The process consisting of all life cycle activities, both static and dynamic, concerned with planning, preparation and evaluation of software products and related work products to determine that they satisfy specified requirements, to demonstrate that they are fit for purpose and to detect defects.
The process of detecting defects is called testing.
The University of Lahore
A “W4” Category University
07/10/2020 42
Software Testing
The process consisting of all life cycle activities, both
static
and
dynamic
, concerned with
planning
,
preparation
and
evaluation of software products and
related work products
to
determine that they satisfy
specified requirements
, to
demonstrate that they are fit
for purpose
and to
detect defects
.
The University of Lahore
A “W4” Category University
What is Testing?
Dynamic
Executing the software code to demonstrate the
results (Chapter 4)
Static
The University of Lahore
A “W4” Category University
07/10/2020 44
What is Testing?
Planning
What we want to do? Report on testing progress, status of the software under test, finalize and close testing when a phase completes. (Chapter 5)
Preparation
We need to choose what testing we’ll do? (Chapter 4)
Evaluation
Executing the test, we must check the results, evaluate the software and completion criteria
Software products and related work products
The University of Lahore
A “W4” Category University
What is Testing?
Determine that software products satisfy requirements
Checking products against the requirements.
Demonstrate software products fit for purpose
Software does enough to help the users to carry out their tasks. Software does what the user might expected.
Detect Defects
The University of Lahore
A “W4” Category University
07/10/2020 46
The University of Lahore
A “W4” Category University
Software Test and Driving Test Compared
Activities Driving Test Software Test
Planning and Preparation
Static and Dynamic
The University of Lahore
A “W4” Category University
07/10/2020 48
Software Test and Driving Test Compared
Activities Driving Test Software Test
Determine that they satisfy specified
The University of Lahore
A “W4” Category University
Software Test and Driving Test Compared
Activities Driving Test Software Test
Planning and Preparation
1-Which routes to be followed? 2-Time duration
3-Questions to be asked
1-Checking testing progress
2-Status of the software under test
3-Finalize testing when phase completes
4-What testing we will do?
Static and Dynamic
1-Questions to the driver 2-Driving the car
1-Review the software 2-Executing the software
Evaluation
1-Questions 2-Written test
3-Observation during driving
The University of Lahore
A “W4” Category University
07/10/2020 50
Software Test and Driving Test Compared
Activities Driving Test Software Test
Determine that they satisfy specified requiremen ts 1-Checking patience 2-Checking confidence 3-Checking following the rules
4-Checking staring, clutch, gears are properly used by the driver
1-Review the code to check design
2-Review the design to check specifications
Demonstrat e that they are fit for purpose
1-Driver is able to drive 1-Software is fit for purpose
Detect defects
1-Finding faults of driver 2-Suggest improvements
The University of Lahore
A “W4” Category University
When we can meet our test objectives?
Testing Principle-Early Testing
The University of Lahore
A “W4” Category University
07/10/2020 52
When we can meet our test objectives?
Testing Activities
1. Acceptance testing 2. Alpha testing
3. Beta testing or field testing 4. Component or unit or module 5. Integration testing
The University of Lahore
A “W4” Category University
Focusing on defects can help us plan our tests
Testing Principle- Defect Clustering
A small number of modules contain most of the defects discovered during testing.
Reasons of defect clustering
1-Code is complex 2-Code is tricky
The University of Lahore
A “W4” Category University
07/10/2020 54
Solution to minimize clustering
1. Reviewing every module to find defects and failures
2. Early testing should be implemented on time
The University of Lahore
A “W4” Category University
The defect clusters change over time
Find more defects as the testing
improves and then as the defect prevention kicks in, defects
The University of Lahore
A “W4” Category University
07/10/2020 56
Debugging removes defects
Debugging
The University of Lahore
A “W4” Category University
Debugging Removes Defects
Testing Principle-Pesticide Paradox
The University of Lahore
A “W4” Category University
07/10/2020 58
Is the software defects free?
Testing Principle- Testing shows presence of
defects
The University of Lahore
A “W4” Category University
If we don’t find defects does that mean the user
will accept the software?
Testing Principle- Absence of errors fallacy
The University of Lahore
A “W4” Category University
07/10/2020 60
Testing Principles-SUMMARY
1-
Testing shows presence of defects
2- Exhaustive testing is impossible
3- Early testing
4- Defect clustering
5- Pesticide Paradox
The University of Lahore
A “W4” Category University
The Psychology of Testing
Independent testing- Who is a tester?
Independence
Separation of responsibilities, which encourages the accomplishment of objective testing.
Level of Independence
Tests by the person who wrote the item under test Tests by another person within the same team such as
another programmer
The University of Lahore
A “W4” Category University
07/10/2020 62
The Psychology of Testing
Reviewing and testing Principles
1. Communicate findings on the product in a neutral, fact-focused way without criticizing the person who created it.
2. Don’t blame 3. Be constructive
4. Say what you liked and what worked, as well as what didn’t work
The University of Lahore
A “W4” Category University
The Psychology of Testing
Reviewing and testing Principles
6. Show what risks have been uncovered and the benefits
of review and test
7. Be polite and helpful, collaborate with your colleagues
8. Try to understand how the other person feels
9. Confirm that the other person has understood what
you have said and vice versa
The University of Lahore
A “W4” Category University
07/10/2020 64
QUIZ 1 Chapter 1
The University of Lahore
A “W4” Category University