Professional Documents
Culture Documents
Software Testing
Techniques
Software Quality
Software Quality is a process of meeting customer expectations and customer requirements. The
features of Software Quality are described below:
Technical Factors:
Meet customer requirement deals with the functionalities and the features of the
software that the customer uses.
Meet customer expectation by checking the performance, user friendliness, privacy,
reliability of the software
Non-Technical Factors:
Time to market deals with the delivery of the software to the customer within his
expected time.
Lastly the price of the product should also meet customer expected price value.
It is a mechanism to monitor and measure the strength of development process. Example of SQA is
Life Cycle Testing (LCT). Members of SQA team are often known as Test Engineers.
Information gathering specifies what and analysis specifies how. Once information is gathered from
the customer an analysis is performed on the collected information. Then using this information the
architecture is prepared which is commonly known as design. This design is passed onto
development team for coding purpose. Once the development team develops, it is passed through
single stage of testing. Finally after this testing it is delivered to the end user. Once the customer
starts using the software then maintenance of the software is concentrated by giving customer
support in case the customer faces any problems in using the software.
1. Initial Concept: They exactly are concluding with higher authorities and client.
2. Requirement Analysis: Here omitting the client. Requirement we need to develop the
application. Out put is SRS(Software Requirement Specification)
3. Functional Design: Overview of the design particular application. It is also known as High
Level Design.
4. Internal Design: Preparing of the flow charts and E- R diagrams. It is also know as Low
Level Design.
5. Documentation Plan: This done by a project Manager. Than give to every body who
are involving on a particular concept development and analysis.
6. Test Plan: Team leader will prepare a Test Plan.
7. Coding: The developer will develop the coding.
Test Inputs
Defect Analysis
10. Documentation Preparation: After completion of testing each and ever tester should want to
prepare the DP. And hand over to the Team Leader.
11. Maintenance: Authorized person can take of the data from server to client. That means
security.
12. Update: After completion of the maintenance adding the new Objects to that particular
application . This can also called as version IT.
13. Re – Test : Testing the application with new Test Case .
14. Phase – Out: Into the Market. This is of 2 types.
Sdlc Models
Stage o/p
Maintenance $
RS: During this phase the project team will work out in detail, the functional and likely limitation
of the s/w product to be developed. A document clearly indicating the
requirements. It is called the s/w RS document
S/W D and System D : This the requirements specification the system design is carried out.
System design implies hardware design and s/w design. The
functionality h/w and s/w are separated out and design of the s/w
modules is worked out in detail. A test plan is also prepared describing
the details of tests to be carried out on the system once development
is completed.
UnitsSystem BuildFunctionalityPerformance.
A test report containing the test result is prepared.
The attractive feature of waterfall model is that at the end of each stage a visible o/p is available.
Advantages:
1.Because of availability of well defined out put at each stage, the progress of the project will be
evident to the management.
2. Monitoring, both by the internal management team and the client, is easy because of the visible
out put at each stage.
Disadvantages:
Prototyping Model
It is very difficult to obtain the exact user requirements (user is non it literate). In such cases, a
prototype is built and demonstrated the user. Based on the user’s feedback the SRS document
is prepared. prototyping is used to prove ur design concepts. In s/w prototyping is used to
obtain then user requirements. The cost will be done by the developer not in the cost of client.
The system is built in stages. Initial user requirements are obtained and the product is developed.
The user validates the system and gives the feedback for enhancements. The product is refined
based on the new requirements. This process is repeated till a user acceptable product is built.
Advantages:
Disadvantages:
Useful for high – risk projects. Complicated model for projects with clear specifications.
For each round of the spiral, one form has to be filled containing the following information.
Commitment: what are the commitments to the client and whether they can be fulfilled based on
the results of this phase of development?
So, at the end of each spiral(phase), the management can review the status based on this form,
and decide the future course of action.
This is a flexible model, the phases can be determined by an organization depending on the
type and complexity for the project.
This model is suitable for high – risk projects.
Project monitoring is very effective as risk management is built into the model. Periodically, the
project can be assessed for its risks vis – a-vis the progress and a decision can be taken at the
end of each spiral regarding its continuation or otherwise.
This model is not suitable for low risk projects or projects without any risk.
It is a ‘complicated’ model for projects with clear SRS.
V Model Testing
Information Assessment of
gathering and development plan
analysis
Prepare Test plan
Requirement Phase
Testing
Program Phase
Testing (WBT)
This model defines mapping between multiple stages of development process and multiple stages
of testing process.
Refinement form of V Model
V Model is expensive process for small scale and medium scale organizations. Due to this reason
organizations are following refinement form of V Model with separate testing team for functional
and system-testing phase (Black Box Testing).
Review
Coding
BRS SRS
HLD LLDs
Programs
a) Execution Testing:
Basis paths coverage (All statements are participating in execution
without runtime errors)
Loops coverage (Termination of loops without going to infinite)
Program technique coverage (Less number of memory cycles and
CPU cycles during execution.
b) Operations Testing
Whether our program is running on customer expected platform or not?
Platform means different operating systems, compilers, browsers etc. This
testing technique is optional because customers are not expecting multiple
platforms to run for all applications. This testing is done at program level.
C) Mutation Testing
After completion of a program testing, white box tester applies this technique to estimate
completeness and correctness of that program testing. Mutation means a complex change in that
program code.
Tests Tests Tests
-----------
----------- -----------
-
- -
No
Change in Change in
Change in
program program
program
----------- -----------
-----------
------- -------
-----------
--- --- --- ---
-----------
---- ----
---
Eg:
Login Main
Module
Stub
From the above approach programmers are using temporary programs to send back controller to
main module instead of sub module. This temporary called program is called STUB.
b) Bottom-top approach
Conducts testing on sub modules without coming from main module is called Bottom-top
approach.
Eg:
Main
Module Main Module is under construction
Sub1
Sub2
From the above approach programmers are using a temporary program to call
corresponding sub module instead of main module. This type of calling program is called Driver.
C) Hybrid Approach
The combination of Top-down and Bottom-up approach is called Hybrid approach. It is also
known as sandwich approach.
Eg:
Main Module
Sub
1
UB
ST
Sub Sub
1 1
Bottom Layer