0% found this document useful (0 votes)
13 views

Lect 3 Testing Process

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Lect 3 Testing Process

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

SOFTWARE TESTING

Instructor: Mehwish
OUTLINE
• Software Testing
• Fundamentals of Test Process
• Psychology of Testing
• General Principles of Testing
• Ethical Guidelines
Software Testing
• Institute of Electrical and Electronic Engineers (IEEE 83a)
standard defines testing as—
– “the process of exercising or evaluating a system or system component
by manual or automated means to verify that it satisfies specified
requirements.”
• Another definition of testing states that—
– “testing is the process of analyzing a system to detect the difference
between existing and required conditions and to evaluate the features
of the system.”
• To sum up, software testing is the act of
– “verifying if the software behavior is as expected.”
• It is important to note that while these phases are
sequential, they are also iterative in nature.
• For example,
– during test execution, there may be a need to go back to test
design to introduce more test cases or test data before the test
execution process is resumed.
• Alternatively,
– during exit criteria evaluation, it can be decided to execute some
more tests before the application is considered fit for release.
• Hence, all phases interact and might transition from one to
the other based on the needs of the project.
Fundamental Test Process
Fundamental Test Process
• Phases are:
1. Test Planning and Control
2. Test Analysis and Design
3. Test Implementation and Execution
4. Evaluating Exit Criteria and Reporting
5. Test Closure
1:Test Planning and Control
• Ensure the goals and objectives of the customers,
stakeholders, and project are understood.
• Evaluate the risks of the system to be addressed by
testing.
• Specify the objective of testing, and determine the
scope and risk.
• Identify the resource requirements, schedule test
analysis, and design tasks.
• Plan for test implementation, execution, and
evaluation, and also determine the exit criteria for
testing.
• Also need to plan for test controls,
– which will help in measuring the progress against the plan,
and in taking corrective actions as and when required.
• Identify the design of the test environment and
identify the required infrastructure and tools.
– This includes testing and support tools such as
spreadsheets, word processors, project planning tools, and
non-IT tools and equipment.
2. Test Analysis and Design
• The Test Analysis and Design phase involves a review
of the test basis and the identification of test
conditions.
• Review of the test basis includes a review of product
requirements, architecture, design specifications,
and interfaces between the products.
– It also includes examining the specifications for
the software being tested.
• All these artifacts are called “test basis” as these are
used as a basis for defining what and how you should
test.
• The designing of black-box tests can begin before the
code is developed.
• The test conditions provide a high-level list of area of
interest in testing.
• In testing, use the test techniques to define the test
conditions.
3. Test Implementation and
Execution
• The test conditions designed are taken and set up as
tests.
– The test environment is also set up before executing the
tests.
• Implementation includes
– prioritizing the test cases, using techniques and test
approach, and creating test suites from test cases for
efficient test execution.
• Execution is running the test suites and individual test
cases, following the pre-defined test procedures.
• At the end of the execution of each test case
– log the outcome and record the identities and versions of
the software under test, test tools, and test ware.
• Need to know
– what tests are used against which version of the
software, report defects against specific versions,
and maintain the test log to provide an audit trail.
• For differences between actual and expected results,
report discrepancies as incidents.
• Re-execute previously failed tests to confirm a fix is
working. This is also known as confirmation testing
or re-testing.
• Test that the fix did not introduce defects in
unchanged areas of the software and that fixing a
defect did not uncover other defects. This is called
regression testing.
4. Evaluating Exit Criteria and
Reporting
• After the end of test execution, the evaluate phase
begins.
• In this phase, measure the results of test execution
against the test objectives and broadcast the test
summary report to stakeholders.
• Return to test execution if the test objectives have
not been met and some more testing needs to be
conducted.
• Then, prepare the test summary report, which is a
document summarizing testing activities and results.
• The test summary report also contains an evaluation
of the corresponding test items against the exit
criteria.
5. Test Closure
• In this phase, perform a check that
– all deliverables have been accepted and signed off,
– archive the test ware,
– close the environment,
– analyze lessons learned,
– and use the information to improve the test maturity.
The Psychology Of Testing
The Psychology Of Testing
• The degree of independence is vital in performing
effective testing.
• The quality, and effectiveness of testing increase with
an increase in the degree of independence.
• What independence in the context of testing
means??
The mindset of Developer vs. Tester
• The Developer always thinks that there are no defects in
the code as it was carefully developed.
• Developers may misinterpret the business requirement,
hence assume that the code is functioning the way it is
supposed to.
• Testers have to think like a destroyer.
– They always think that there are defects in code, waiting to be
uncovered.
• Testers view requirements from the end-user’s point of
view and hence are able to identify user-related defects.
Linking the Gap
• To make any software testing successful, there should not
be any difference between the teams involved in building
the software.
• The following considerations can help bridge the gap
between Developers and Testers:
– Both teams share a common goal, which is the betterment of the
system under test.
– Testers should ensure they are raising the defect against the system and
not individuals.
– Both should try and reach a common understanding of defects.
– Any incorrect understanding of requirements should be discussed and
resolved. Business Analysts can be approached to assist in such
situations.
THE END
Thanks

You might also like