1) Software Testing
2) Testing an important Evil task
1. Software Testing
The process of evaluating the quality of any software
Questions answered by QA.
Does it meet the requirements?
Is it build according to the design?
Is it usable?
Are we building the product RIGHT? Making sure are we on the right path.
A process of finding out if the product being built is right. It is done after the
development process is fully or partially complete.
2) Testing an important Evil task!
Why do we test?
Gain confidence in the system we are building
Checking against the requirements set for the system
Identify the weak areas of the system
Proving that the software is usable and operable
Making the deployment decision easy
Software Development Life Cycle:
A process of creating and maintaining a software system/product/[project.
Broadly Classified in 5 steps
Planning and communication
• Setting requirements
• Worthiness of the system
• Modularizing system
• Setting measurable goals to be achieved
• Input: Approved SRS, Output: Small Modules
• All details of the system provided in form of Process flow diagrams, UI screen
• Detailed design is converted into software code
• Unit and Integration testing also done
• Functional, Non functional testing
• Bug fixes and releases with bug fixes
• QA certified
• User acceptance testing
Deployment and Maintenance
• QA certified release is made Live
• Alpha and beta testing
• Upgrades and maintenance activities
A process which tells which test activity is to be performed and at what point of time.
• Preparation of a high-level test plan
• Test plan specifies: Scope, approach, resources and schedule
• An on going process
• What type of testing will be done at various stages in SDLC
• Need and use of automation
• Creating Test case templates and test cases
• Revision of Test plan and test cases
• Automation(if any) begins
• Test environment is created
Construction and verification
• Completion of all Test plans, test cases including the automation
• Unit and integration testing and bug reporting.
• Test execution—Bug reporting—Bug fixing—Re-test and Regression—Update
• Above process continues until Approved from QA
Final Testing and Implementation
• All testing including acceptance, Performance and stress will be completed
• Testing in production environment is done
• Post mortem of the complete test process
• Cleaning of the test environment and other systems
• Enhancing the complete cycle