Name - Bharti Pallavi Arjun Roll No. - 18141112 Q.1) List Testing Objectives and Explain Testing Principles. Ans
Name - Bharti Pallavi Arjun Roll No. - 18141112 Q.1) List Testing Objectives and Explain Testing Principles. Ans
Name - Bharti Pallavi Arjun Roll No. - 18141112 Q.1) List Testing Objectives and Explain Testing Principles. Ans
09
Name – Bharti Pallavi Arjun
Ans :
• Tests should be planned long before testing begins : Test planning can begin as soon
as the requirements model is complete. Detailed definition of test cases can begin as soon
as the design model has been solidified. Therefore, all tests can be planned and designed
before any code has been generated.
• The Pareto principle applies to software testing : Stated simply, the Pareto principle
implies that 80 percent of all errors uncovered during testing will likely be traceable to 20
percent of all program components. The problem, of course, is to isolate these suspect
components and to thoroughly test them.
• Testing should begin “in the small” and progress toward testing “in the large.” :
The first tests planned and executed generally focus on individual components. As testing
progresses, focus shifts in an attempt to find errors in integrated clusters of components
and ultimately in the entire system.
• Exhaustive testing is not possible : The number of path permutations for even a
moderately sized program is exceptionally large. For this reason, it is impossible to
execute every combination of paths during testing. It is possible, however, to adequately
cover program logic and to ensure that all conditions in the component-level design have
been exercised.
Ans :
Software Testing is a type of investigation to find out if there is any default or error present in
the software so that the errors can be reduced or removed to increase the quality of the
software and to check whether it fulfils the specifies requirements or not.
The process of investigating and checking a program to find whether there is an error
or not and does it fulfill the requirements or not is called testing.
When the number of errors found during the testing is high, it indicates that the testing
was good and is a sign of good test case.
Finding an unknown error that’s wasn’t discovered yet is a sign of a successful and a
good test case.
The main objective of software testing is to design the tests in such a way that it
systematically finds different types of errors without taking much time and effort so that less
time is required for the development of the software.
For the software, identifying the user’s category and developing a profile for each
user.
Use cases describe the interactions and communication among different classes of users and
the system to achieve the target. So as to identify the actual requirement of the users and then
testing the actual use of the product.
Conduct formal technical reviews to evaluate the nature, quality or ability of the test
strategy and test cases.
The formal technical review helps in detecting any unfilled gap in the testing approach.
Hence, it is necessary to evaluate the ability and quality of the test strategy and test cases by
technical reviewers to improve the quality of software.
For the testing process, developing a approach for the continuous development.
As a part of a statistical process control approach, a test strategy that is already measured
should be used for software testing to measure and control the quality during the development
of software.
Ans :
i)Unit Testing :
Unit Testing is a software testing technique by means of which individual units of software
i.e. group of computer program modules, usage procedures and operating procedures are
tested to determine whether they are suitable for use or not. It is a testing method using which
every independent modules are tested to determine if there are any issue by the developer
himself. It is correlated with functional correctness of the independent modules.
In SDLC or V Model, Unit testing is first level of testing done before integration testing. Unit
testing is such type of testing technique that is usually performed by the developers. Although
due to reluctance of developers to tests, quality assurance engineers also do unit testing.
Unit Testing allows developers to learn what functionality is provided by a unit and
how to use it to gain a basic understanding of the unit API.
Unit testing allows the programmer to refine code and make sure the module works
properly.
Unit testing enables to test parts of the project without waiting for others to be
completed.
ii)Integration Testing :
Integration testing is the process of testing the interface between two software units or
module. It’s focus on determining the correctness of the interface. The purpose of the
integration testing is to expose faults in the interaction between integrated units. Once all the
modules have been unit tested, integration testing is performed.
Advantages:
Disadvantages:
There will be quite a lot of delay because you would have to wait for all the modules
to be integrated.
High risk critical modules are not isolated and tested on priority since all modules are
tested at once.
2. Bottom-Up Integration Testing –
In bottom-up testing, each module at lower levels is tested with higher modules until all
modules are tested. The primary purpose of this integration testing is, each subsystem is to
test the interfaces among various modules making up the subsystem. This integration testing
uses test drivers to drive and pass appropriate data to the lower level modules.
Advantages:
Disadvantages:
Advantages:
Disadvantages:
Mixed approach is useful for very large projects having several sub projects.
This Sandwich approach overcomes this shortcoming of the top-down and bottom-up
approaches.
Disadvantages:
For mixed integration testing, require very high cost because one part has Top-down
approach while another part has bottom-up approach.
This integration testing cannot be used for smaller system with huge interdependence
between different modules.