Harsh Patel,14bce081
CSE Department, Institute of Technology,
Under Nirma University.
2)Bottom up approach
In the bottom up approach first the sub programs are
tested that one by one upper level component is tested. it can
be done even when the software is not fully completed by
providing the dummy modules at low levels.
3)Component testing
Component testing is done after the integration testing. In
integration testing we check for the interface between the
different units. while in the component testing we check for
the output produced by the component or by the sub module of
the software. integration testing only checks for the data flow 3. Regression Testing
between one unit to another while the component testing
checks for the output produced by the component. Regression testing is finding any bugs after there is a change
in the code .it checks for the changes in the backward position.
it will take backward on changes to the position where the
4)System testing code is working correctly. it is used to uncover the bugs that
are incurred during the latest changes in the code. The
System testing is carried out once the software is successfully advantage of the process is that tester doesnt have to check
completed and it is ready to deliver to the customer. in this for the whole software instead he can save upto the work till
testing not only the output but the performance and the quality where all the bugs are resolved and start from there and only
standards are also be checked. The system testing is purely the check for changes that can create the errors. Regression testing
black-box type testing. it just checked the requirement include severe methods which contains re running the
specifications. this testing is carried out based on the users previous sets of test cases to check whether previous error has
point of view. To understand the users point of view this re emerged. regression testing is faster in finding out the bugs
testing is done by the different stakeholders of the software. compared to previous methods.
system testing both validates and verifies both user
requirements and business requirements.
4. System testing
The System testing procedure is described above in the testing
levels. It is the top most level testing of the software input -
IV.TESTING TYPES output without taking the internal structure or the code into
There are different types of the testing the software which can consideration. it only checks for the different functionality of
be carried out during different phases of software the software. It is done by the developers view.
development. They are to test whether the product that is
manufactured is ready to launch to the market and it does not
have any bugs or error remained unfixed. 5. Acceptance Testing.
Here we will see the major types of software testing: The acceptance testing is just as same as the system testing. It
is also carried out after the whole software is developed. In
this the software is tested for the acceptability of the
1. Installation testing customers/users. It is carried out after the system testing. After
the system is verified to working correctly it is checked
It is the testing type that check whether the software will be whether the system satisfies the acceptance criteria and enable
installed and will work correctly on the customers hardware. the user to use the system efficiently. Usually black box
if it is a general purpose software which can be installed in testing method is used for acceptance testing as the user is
many platforms than this checks that it works correctly more concerned about the user interface or how system looks
indifferent to the platform specified. and which output it produce rather than how it functions
internally.
2. Compatibility Testing
6. Performance Testing
Compatibility with other application software or operating
system can cause failure to the system. So the software that Performance testing is used for evaluating the quality and
needs backward compatibility of other application must check capability of the product. It is more concentrated over the non-
with other applications availibility and compatibility with the functional requirements rather than functional requirements.
software. The compatibility issue can also occurs when the Performance testing checks for the robustness, security and
software is developed on latest version of the platform, so it speed of the execution. It will check for the all requirement
can be possible that some of the functionality may not be criteria are satisfied or not. Performance testing is more user
supported in the previous versions which can make the concentrated as the good performance will make it more user
software to fail. In such cases the situations must be handeled friendly. It also checks for the stability of the software on
with exceptions. It can also be solved by abstracting operating different platforms and under different functionality. And
system functionality into a separate program module. according to its stability it will check it will take out the
number of failures and time needed for system to recover
which are very important parameters in determining the
quality of product.
11.A/B testing
7. Load Testing A/B testing is basically a method for comparing the two
outputs of the program, when only one parameter is changed.
The software is executed two times with only one parameter is
Load testing is measuring the response under the both normal
changed and results are compared. This is very useful for the
and peak load conditions. load testing is more relevant to the
small scale situations. For more complex projects multivariant
multi user system usually created as client-server application testing can be done.
as it can be tested by stimulating multiple users accessing the
system concurrently. Load testing is also used for measuring
the performance of the software but it is specifically used for V.TESTING PROCESS
performance under the different load. For creating the extra
load load generator(which will replay the previous recorded Software testing is not a one time process in the software
scripts) or extra virtual users are created. It is essential testing development. It is the continuous process of testing from the
for a server-client system like web-services. starting as soon as the executable unit of the software is
developed.
Stress testing is also another method for the performance 1.Traditional waterfall development model
measuring. While load testing measures the performance of
the system by increasing the number of users to its peak stress A common method for software testing is the test the software
testing measures the performance of the system under multiple after the functionality is developed and before it is shipped to
tasks executing simultaneously. It is mostly useful for the the customer. It often creates the buffer for the project
multi-threaded program. It is useful for checking the development resulting in the delay of the project development.
recoverability of the program as system might fail during the another practice is to start testing as soon as the project starts
multiple executions at a time. It can be measure the time for and it is a continuous until the project finishes.
system to recover from the failure.
2.Agile or extreme Development model