Documente Academic
Documente Profesional
Documente Cultură
testing
Hossam Abd Elhady
Contents
What is software testing
Introduction to software
testing
What is software testing
It is the process used to identify
Correctness
Completeness
Introduction to software
testing
What is software testing
Introduction to software
testing
What is software testing
Technical Personal
Introduction to software
testing
What is software testing
Validation and Verification.
- Validationis the process of checking whether the
specification captures the customer's needs.
- Verificationis the process of checking that the software
meets the specification.
Test condition.
- An item or event of a component or system that could be
verified by one or moretestcases, e.g., a function, transaction,
feature, quality attribute or structural element.
Test case.
- Describes an input, action, or event and an expected
response, to determine if a feature of a software
application is working correctly. Atest casemay contain
particulars such astest caseidentifier,test casename,
objective,test conditions/setup, input data requirements, steps,
and expected results. Introduction to software
testing
Why we need software testing
Extensive tested software contains 0.5-3 errors per 1000 lines of source
code.
Customer satisfaction?
Introduction to software
testing
Why we need software testing
Pepsi - $42 Billion Error In May 1992
Pepsi ran a promotion in the Philippines. It told customers they could win
a million pesos (approx. $40,000) if they bought a bottle of Pepsi and
found the number 349 stamped on the underside of the bottle cap.
Introduction to software
testing
Software Testing Life Cycle
Test
Planning
and
Strategy
Retrospectiv Test
es Analysis
Test
Test Design
Reporting
Test
Execution
Introduction to software
testing
Test Planning and Strategy
- Designing the test cases based on the Test Scenarios or Test Conditions
Test implementation and execution is the activity where test procedures or scripts are
specified by combining the test cases in a particular order and including any other
information needed for test execution, the environment is set up and the test are run.
- Developing and prioritizing test procedures, creating test data and, optionally, preparing test harness and writing
automated test scripts.
- Creating test suits from the test procedures for efficient test execution.
- Executing test procedures, either manually or by using test execution tools, according to the plane sequence.
- Logging the outcome of test execution and recording the identities and versions of the software under test, test
tools and test ware.
- Reporting discrepancies as included and analyzing them in order to establish their cause.
Test Report, Exit criteria evaluation
- Checking test logs against the exit criteria specified in test planning.
- Finalizing and archiving test ware, the test environment and the test
infrastructure for later reuse.
Non-
Structur
Function
al
al
Testing
Function related
al Softwa to
re changes
Testing
Types
Introduction to software
testing
Functional Testing
Moreover, functional testing also checks the software for usability, such
as by ensuring that the navigational functions are working as required.
Non-Functional Testing
Structural testing, also known as glass box testing or white box testing is
an approach where the tests are derived from the knowledge of the
software's structure or internal implementation.
The other names of structural testing includes clear box testing, open box
testing, logic driven testing or path driven testing.
- Spots the Dead Code or other issues with respect to best programming
practices.
Testing Related to Changes
During software testing we get failures. In most cases the underlying defects are
corrected and the corrected test object is handed over to the testers for
confirmation. This is the situation where we iterate in the test process and go back
to the test execution process. We go back to perform confirmation testing and
regression testing.
These two types of change-related software testing activities have one thing in
common: they are executed after defect correction. Apart from that, they have
very different goals.
Software Testing Levels
Acceptan
ce
System
Integration
Unit
Introduction to software
testing
Unit Testing
The smallest independent and testable part of the source code is referred
to as a unit. It is the first step in software testing environment and is
generally conducted by the developers or their team mates.
If unit testing is carried out properly then it would also result in a lot of
cost saving as the cost of fixing a defect in the final stages of software
development are much higher than fixing them in the initial stages.
Introduction to software
testing
Integration Testing
- Big bang
This form of testing is carried out by the actual user before the software is
accepted. It can be performed at the users site or in the software
organization where the software was developed.
Introduction to software
testing
Thank You!