Manual Testing- SDLC and its Model
Manual Testing- SDLC and its Model
What is Software?
• Collection of Programs Which is used to perform any task is a software.
• If the system fails to fulfill the requirement, then it is known as system failure.
➢ Software Development Life Cycle (SDLC) is a process used by the software industry to
design, develop and test high quality software.
➢ SDLC is a systematic process for building software that ensures the quality and
correctness of the software built. SDLC process aims to produce high-quality software
that meets customer expectations.
➢ SDLC consists of a detailed plan which explains how to plan, build, and maintain
specific software.
1) Planning
➢ Phases of SDLC are :
2) Defining
3) Designing
4) Building
5) Testing
6) Deployment
Planning
➢ The Planning is the first stage in the SDLC process. It is conducted by the senior
team members with inputs from all the stakeholders and domain experts in the
industry.
➢ This stage gives a clearer picture of the scope of the entire project and the
anticipated issues, opportunities, and directives which triggered the project.
➢ The next phase of SDLC is to define and document the software and project needs.
➢ This process conducted with the help of ‘Software Requirement Specification’ document also
known as ‘SRS’ document.
➢ It includes everything which should be designed and developed during the project life cycle
such as Economic, Legal, Operation feasibility, Technical, Schedule
➢ The testing team starts testing the functionality of the entire system. This is done to verify
that the entire application works according to the customer requirement.
➢ There are many reports get generated such as Test plan document , Test case Document ,
Bug reports etc.
Deployment
➢ Once the software testing phase is over and no bugs or errors left in the system then the
final deployment (installation) process starts.
➢ Based on the feedback given by the project manager, the final software is released and
checked for deployment issues if any.
➢ System designing - The requirement specifications from first phase are studied in this phase and
the system design is prepared. This system design helps in specifying hardware and system
requirements and helps in defining the overall system architecture.
➢ Implementation- With inputs from the system design, the system is first developed in small
programs called units, which are integrated in the next phase. Each unit is developed and
tested for its functionality, which is referred to as Unit Testing.
Software Developer
SCD – Source code document
➢ Testing - Once the software is complete, and it is deployed in the testing environment. The
testing team starts testing the functionality of the entire system. This is done to verify that
the entire application works according to the customer requirement.
➢ Deployment – After testing phase installation process of software gets executed in clients
environment.
➢ Maintenance – There are some issues which come up in the client environment. To fix those
issues, patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.
•Simple process
•Less Time Consuming
•Less expensive ( less coder and tester are involved)
•It applies or works on small projects
Disadvantages:
Verification involves the deep level analysis with coding execution, during development
process.
Validation involves dynamic analysis using both functional and non functional testing , the
testing is performed by code execution on each and every phase of the V model.
Types of testing involves in V model
Unit Testing
Unit tests designed in the module design phase are executed on the code during this validation
phase. Unit testing is the testing at code level and helps eliminate bugs at an early stage, though
all defects cannot be uncovered by unit testing. Unit Testing is performed by developer
Integration Testing
Once the unit testing is completed, the integration testing performs testing by integrated different
modules or component in the system. This testing is done in architect design phase.
Different Component comes all together to perform testing. The developer perform testing while
integrating all components in a single go .
System Testing
It is carried out after the Integration Testing has been finished. It is mostly a sort of Black-box
testing. With the use of a specification document, this testing assesses the system's functionality
from the perspective of the user. It does not need any internal system expertise, such as code
design or structure.
We check whether the system is working as per user/ client requirement specification or
not. Tester performs the system testing.
Acceptance Testing
Acceptance testing, a testing technique performed to determine whether or not the software
system has met the requirement specifications. The main purpose of this test is to evaluate the
system's compliance with the business requirements and verify if it is has met the required
criteria for delivery to end users.
1.Internal Testing –Company people will perform test check or testing on the system.
2.External Testing – Customer, End user.
Spiral Model
➢ The development process in Spiral model in SDLC, starts with a small set of requirement and
goes through each development phase for those set of requirements.
➢ The software engineering team adds functionality for the additional requirement in every-
increasing spirals until the application is ready for the production phase.
➢ The stages in spiral model is known as quadrant. The spiral quadrant are as follows
It includes estimating the cost, schedule and resources for the iteration. It also involves
understanding the system requirements for continuous communication between the system
analyst and the customer
BRS and SRS are prepared in planning quadrant.
Identification of potential risk is done in risk analysis quadrant. A risk is any adverse
situation that might affect the successful completion of a software project. The most
important feature of the spiral model is handling these unknown risks after the project has
started.
All possible solution are evaluated to select the best possible solution .
* Prototype – The part of the software or a trail version is developed and tested and send for
evaluation for customer feedback .
Development – 3rd Quadrant
Once the planning, risk analysis and prototype is made, using outcome from the above phase ,
development of software is started and then testing is performed in this phase .
Evaluation of software by the End user/ client . Also, includes identifying and monitoring risks such as
schedule slippage and cost overrun.
Once the development and testing is over then the client is asked to examine or evaluate the
software to check whether all the requirement is fulfilled.
Then Customer Provide feedback and approval to move to next phase or if not satisfied, the
same will be transfer in planning phase and again the process will start to work as pr
requirement.
Till the customer did not get satisfy with the product the spiral cycle will go on rotating until
the satisfied outcome arise.
Prototyping Model
Prototyping Model is a software development model in which prototype is built, tested, and
reworked until an acceptable prototype is achieved. It also creates base to produce the final
system or software. It works best in scenarios where the project’s requirements are not known in
detail. It is an iterative, trial and error method which takes place between developer and client.
A prototyping model starts with requirement analysis. In this phase, the requirements of the
system are defined in detail. During the process, the users of the system are interviewed to
know what is their expectation from the system.
Step 2: Quick design
The second phase is a preliminary design or a quick design. In this stage, a simple design of the
system is created. However, it is not a complete design. It gives a brief idea of the system to the
user. The quick design helps in developing the prototype.
In this phase, an actual prototype is designed based on the information gathered from quick
design. It is a small working model of the required system.
In this stage, the proposed system is presented to the client for an initial evaluation. It helps to
find out the strength and weakness of the working model. Comment and suggestion are
collected from the customer and provided to the developer.
Step 5: Refining prototype
If the user is not happy with the current prototype, you need to refine the prototype
according to the user’s feedback and suggestions.
Once the final system is developed based on the final prototype, it is thoroughly tested and
deployed to production. The system undergoes routine maintenance for minimizing
downtime and prevent large-scale failures.