The software developed is tested for matching with the user requirements and specifications. When software development life cycle is considered, testing is undertaken at the phase level and when program code is considered, testing is undertaken at the module level. Two different components constitute together as Software Testing. They are Software Validation and Software Verification.
The software is validated against the requirements of the user to verify that the requirements of the user are being satisfied by the software. The software is always validated at the end of SDLC. The software is considered for validation, only when it matches with the user requirements.
A particular software need to be ensured that it matches with the requirements of the business. The software developed must strictly follow the methods and specification described. This process of ensuring is known as verification.
Testing is mainly done to ensure -
Software testing can be of two types – Manual testing or automated testing.
According to the sections and levels of the code, the test cases are generated by the software tester. On the basis of these test cases the tests are carried out and the manager is informed about the results.
It is a known fact that anything done manually takes more time and so the testing that is done manually also takes more time and thus most of the resources are consumed.
Some of the specific automated testing tools are used for software testing. These are developed to overcome the disadvantages and to reduce the consumption of time, effort and the resources.
For instance, manual testing can take up and test the opening of the web page on any web browser. But it cannot take up and test for checking load of i million users by a web-server.
Testing related to load, stress and regression are conducted and checked by using some of the hardware and software tools provided thus simplifying the work of the tester.
Two different approaches are used for conducting software testing. They are -
Testing on the functionality aspects of a software program is known as black-box testing. Testing on the functionality as well as implementation aspects of a software program is referred as white-box testing.
A testing is considered as perfect when it uses exhaustive methods of testing. Exhaustive tests include all the input and output values for testing. But for the cases of large range of values it is not possible to undertake exhaustive methods of testing.
The program functions are testes by black-box testing. The input values along with the desired results are made available to the tester. For a specific input, if the output is in accordance with the expected result, then the program is considered to pass the tests. If not the program is considered to fail the test.
This test is conducted by the test engineers and users and hence they are not known with the code and the structure of the program.
Different techniques of Black-box testing are as follows:
The implementation of the program is tested in order to improve the structure efficiency. As it is meant for improving the structure efficiency, it is also termed as Structural testing.
Here, the tester is made available with the code and the design. This test is conducted directly on the code by the programmer.
Some of the techniques of White-box testing are as follows -
The process of testing the software is done in parallel to the development of the software at each level of SDLC. Each stage of SDLC is tested, validated and verified.
To identify the errors or issues and to remove the hidden errors, testing is performed at each level. The different levels of software testing are as follows -
When the program is coded, that particular part of the program for which is coding is done, is tested by the programmer. For unit testing, white-box testing approach is followed as testing is done on the coding. The main aim of the unit testing is to ensure that the program is error free and is being developed in accordance with the requirements of the user.
Sometimes, even after the unit testing is performed for different units and all the units pass the test, the combination of all the units also need to be testes. As the process of combination of the units may invite some errors. The example of such combination of units might be data updation, passing of the argument.
After complete development of the software product, the software as a whole is tested. Testing at this level may be one by one or more of the following tests.
Just before the release of the software, the final testing is done to the software, for measuring the effectiveness of the software with respect to the interaction with the users and response. Even after matching all the requirements of the user by the software, if the user is not sati fifed with the appearance of the software, the software may be rejected and hence acceptance testing needs to be performed.
Regression testing is done at each time the software is being updated with a new code, added with a new feature or function. Regression testing is done to identify if there is any negative impact of the software by the addition of the code.
Testing documents are prepared at different stages -
After the test cases are prepared, the process of testing is done. The test cases are prepared on the basis of following documents.
The process of testing is done based on the following documents -
The documents that are prepared after the process of testing are -
There is a significant difference between software testing and software quality assurance, software auditing and software quality control.
The software quality assurance is concerned with the aspect that the measures taken by the process of software development are in accordance with the set standards. The methods adopted for software development are ensured to be the best by this quality assurance.
The software product quality is maintained by the software quality control measure. By improving the software product quality, the goodwill of the organization can be developed. The main aim of the software quality control is to ensure that the best quality product is developed for the customer.
The organization methods that are implemented for developing the software are being reviewed by the software audit. The process of the software, the software procedures and all other components of SDLC are reviewed by a team of auditors who are no way related to the development team. Software audit is done to ensure that the process of the software development is in accordance with the set standards, rules and regulations.
Software Engineering Related Interview Questions
|Java Script Interview Questions||ASP.NET Interview Questions|
|MySQL Interview Questions||Manual Testing Interview Questions|
|Artificial Intelligence Interview Questions||Java Interview Questions|
|Software testing Interview Questions||Test Cases Interview Questions|
|Software Development Lifecycle (SDLC) Interview Questions||Software Process Engineer Interview Questions|
|Software Architecture and Design Interview Questions|
Software Engineering Tutorial
All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.