Software Testing Introduction -: After creating the software the next phase comes for using the software. So it is necessary to test the software that is working well or not. Software testing is a process to evaluate the functionality of a software application with an intent to find whether the developed software met the specified requirements or not. Its identify the defects to ensure that the product is defect free in order to produce the quality product.
In other words we can say that the software are ready or not ready for the user requirement. It is the process of checking the software is working well or not. Software testing comprise the verification and validation phase.
Software verification -: verification is the process of confirming if the software is meeting the business requirement and is the developed adhering to the proper specification and methodologies. There are some test target available here ..
- Error -: These are actual coding mistake made by developers.
- Fault -: when an error exists fault occurs. It is also known as a bug.
- Failure -: it is said to be the inability of the system to perform the desire task.
Types of software Testing -: There are two type testing. First is the manual and second is the automated testing.
1-: Manual Testing -: This testing is performed without taking help of automated testing tools. The software tester prepare test cases for different sections and level of the code, execute the tests and reports the result to the manager.
2-: Automated Testing -: This type testing is a procedure done with aid of automated testing tools. The limitation with manual testing can be overcome using automated test tools.
Testing Approaches -: There are two type testing approaches
- Functionality testing -: This is being tested taking the actual implementation in concern it is known as black box testing.
- Implementation Testing.-: The other side is know as white box testing where not only functionality but the way it is implemented is also analyzed
Level Of testing –: Testing itself may be defined at various of software development life cycle. This process runs parallel to software development. before jumping on the next stage, a stage is tested,validated and verified. Software are tested various level these are the
1-: Unit level testing -: while coding the programmer performs some tests on the unit of program to know if it is error free. Testing is performed under white box testing approach. unit testing helps developers decide that individual units of the program are working as per requirement and are error free.
2. Integration Level Testing-: If the unit of software are working fine individually there is a need to find out if the units if integrated together would also work without error. for example argument passing and data updation etc.
3. System Level Testing-: The software is compiled as product and then is is tested as a whole. This can be accomplished using one or more of the following tests..
- Functionality testing
- Performance testing
- security and portability
4. Acceptance level testing –: when the software is ready to hand over to the customer it has to go through last phase of testing where it is tested for user interaction and response. This is important because even if the software matches all user requirement and if user does not like the way it appears or works.
5. Regression Level testing –: whenever a software product is updated with new code feature or functionality.it is tested thoroughly to detect if there is any negative impact of the added code. This is know as regression testing.