introduction to testing
TRANSCRIPT
TESTING ‘Not the least important activity’
Jithin Chakkalakkal
ContentsQuestions ?System Testing Life Cycle.Testing TeamTest Plan PreparationTest Case PreparationTest Case ExecutionTesting Techniques
Pen
QuestionsDoes the software behave as specified?
Are we building the product right ?Are we building the right product ?Are we meet the business objectives?
SYSTEMS TESTING LIFE CYCLETest Planning
Test Preparation
Unit Testing
Integration Testing
System Testing
Acceptance Testing
Start
Finish
The Overall Testing Lifecycle
Testing activity is involved right from the beginning of the project
Testing TeamAn effective testing team contains mixture of members who has
---Testing Expertise ---Tools Expertise ---Database Expertise ---Domain/Technology expertise.
Testing TeamThe testing must be properly structured with defined roles and responsibilities.
There should not be any uncertainty regarding which team member perform which duties.
The Test Manager will be facilitating any resource required for the testing team.
Test Plan
Road map for the entire Testing Activity
Test Plan - ContentsWhat will be covered in the test?” And
“what will not be covered in the test?” Tester/QA must be involve in technical discussion.
Clarity must be there in each and every work before starting.
Regression testing plan must be implemented.
If any assumptions are there, it needs to be documented to avoid any confusions.
How to solve the Reopens?Clarity must be there in the each work.Proper discussion must be carryout before starting the test case preparation.
Maximum Cases must be included in the test case.
Related modules should be known Existing Features will not effect if we made any changes in the code.
Unit test cases must be carry out properly for the new features.
How to solve the Reopens?Proper care must be given while doing the printer settings work.
We must ensure whether the DB is upgraded or not.
We must consider all branches while solving the problem in existing branch.
Desktop and web must be considered while doing the work.
Confirm the requirement properly from the customer.
How to solve the Reopens?After merging the work to other branch, then it must be ensure that work is Ok or not.
Patch execution must be properly check before given to the testing.
Calculation must be checked properly.Developer must be test along with the coding using test cases.
Give some extra time to the developer for this testing.
Test case Preparation
Set of procedures executed in a system to identify defect
TEST CASECharacteristics of a Good Test Case
A test case is a set of tests performed in a sequence and related to a test objective.
A test case must be able to produce results that are predictable and verifiable
A test script is the data and or instructions with a formal syntax used by a test execution automation tool, typically held in a file.
A test condition is an item or event that a tester can verify. Test conditions are descriptions of the circumstances that could be examined. They may be documented in brief sentences, entries in tables or in diagrams such as flow graphs.
Test case ExecutionTest execution procedures should be well documented and clearly covered to each member of the test team prior to any scheduled test run.
TEST CASE EXECUTION ACTIVITIES
Setup test environmentExecute test casesDocument test resultsAnalyze test resultsEstablish the course of action Issue problem report and update test case log Planning the rerunsUpdate the test execution logUpdate the test planning/execution status formUpdate the testing status reports
Testing Levels
Unit Testing
Integration Testing
System Testing
User Acceptance Testing (UAT)
Unit TestingTest each module individually.Follows a white box testing (Logic of the program)
Integration testingIntegrate two or more module.i.e. communicate between the modules.
Follow a white box testing (Testing the code)
Also follows a Black box testing (functionality testing)
System Testingconfirms that the system as a whole delivers the functionality originally required.
Follows the black box testing.(functionality and Non-functionality testing)
User Acceptance Testing (UAT)
Building the confidence of the client and users is the role of the acceptance test phase.
It depends on the business scenario.Alpha testing at developer’s place and Beta testing at client’s place.
Equivalence PartitioningA subset of data that is representative of a larger class
For example, a program which edits credit limits within a given range ($10,000 - $15,000 would have 3 equivalence classes: Less than $10,000 (invalid)Between $10,000 and $15,000 (valid)Greater than $15,000 (invalid)
Boundary Analysis
A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function
Boundary Analysis continued...
In the same credit limit example, boundary analysis would test: Low boundary plus or minus one ($9,999 and $10,001)
On the boundary ($10,000 and $15,000)Upper boundary plus or minus one ($14,999 and $15,001)
Error GuessingBased on the theory that test cases can be developed based on experience of the Test Engineer
After all the formal Techniques are carried , then the error guessing technique/procedure is implemented.
Incremental Testing Technique at Integrated levelA disciplined method of testing the
interfaces between unit-tested programs as well as between system components
Incremental Testing Typeso Top-downo Bottom-upo Hybrid o Big Bang
Top-DownBegins testing from the top of the module hierarchy and works down to the bottom using interim stubs to simulate lower interfacing modules or programs
Bottom-UpBegins testing from the bottom of the hierarchy and works up to the top
Bottom-up testing requires the development of driver modules which provide the test input, call the module or program being testing, and display test output
Hybrid/Sandwich approach
Mixing up of Top-down and Bottom-up approaches.
Big Bang ApproachOnce all the modules are ready, integrating them at a time and doing the testing on those integrated modules.
A technique, often used during early integration testing
Demonstrates key functional capabilities by testing a string of units that accomplish a specific function in the application
Thread Testing Technique at Integrated Level