0% found this document useful (0 votes)
4 views

Manual Testing- SDLC and its Model

Uploaded by

vivek
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Manual Testing- SDLC and its Model

Uploaded by

vivek
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Manual Testing

What is Software?
• Collection of Programs Which is used to perform any task is a software.

What are the different types of software?


• System Software
• Application Software
• Programming Software

Programming software is a software which helps the programmer in developing other


software. (Using languages such as JAVA, C++, Python)
Compilers, debuggers, interpreters etc. are examples of programming software.
• Compliers – It is a type of a Programming Software which helps to convert the language
into machine code . It converts the language in a single run
• Debuggers – It is a Software tool which help in locating error or bugs in development.
• Interpreters - An interpreter reads a program line by line, reading every expression and
gives output if the program is correct.

What is Software testing?


Technical Definition – Software testing is a process of verifying and validating whether the
software or application is bug free, meets the technical requirement as guided by its design and
development team and meet the user requirement.
Software testing is the process of finding errors in the developed product.
Testing is the important step before the launch of the product to the market. It includes
examination, analysis, observation, and evaluation of different aspects of a product.
What is Error, defects, bugs and failure ?

• Defects is a variation between expected results and actual results

• If there is some mistake in Programming then it is known as Error.

• If developer accepts the error in coding, then it is known as Bugs.

• If the system fails to fulfill the requirement, then it is known as system failure.

What are the possible reasons for error and bugs?


• Miscommunication
• Mistakes in coding
• Fails to understand requirement
• System/ Software is complicated
Software Development Life Cycle(SDLC)

➢ 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.

➢ Business Analyst leads the planning phase.

➢ The requirement are collected in document form,

1 Business Requirement Specification (BRS)


2 Customer Requirement Specification (CRS)
3 User Requirement Specification (URS)
Defining

➢ 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

➢ Business Analyst is involved in defining phase .


Designing

➢ Overview of development software or structure is made by Business Architect or System


Architect.

➢ There are two kinds of design documents developed in this phase


1 High Level Design (HLD)
2 Low Level Design (LLD)

➢ High Level Design


It describes the brief description or architecture of the application such as data base design,
brief description on systems, services, platforms.
It is Created by Business Analyst.

➢ Low Level Design


It includes actual logic for every system component and it goes deep into each modules
specification.
It converts the High Level Design into Detailed Design.
The Developer or Designer involves in detailed level designing.
Building
➢ In this phase, developers start build the entire system by writing code using
the chosen programming language.

➢ It is the longest phase of the Software Development Life Cycle process.

➢ Developers start working to build the software on the basis of documents


received.

➢ SCD Source Code Document is generated in coding phase.


Testing

➢ 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.

➢ The QA Engineers are involved in testing the software.

➢ 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.

➢ Service Level Agreement (SLA ) is prepared in deployment and maintenance phase.


Water Fall Model
➢ Requirement Analysis – All possible requirements of the system to be developed are
captured in this phase and documented in a requirement specification document.

Business Analyst/ high level management


BRS (Business Requirement Specification)

➢ 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.

Business Architect / Designer


HLD – High Level Designing
LLD – Low Level Designing

➢ 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.

Automation tester/ tester profile /Quality Assurance

➢ Deployment – After testing phase installation process of software gets executed in clients
environment.

Software Developer, Tester and Technical Support team required if any

➢ 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.

SLA – Service Level Agreement


Water fall model : Advantages

•Simple process
•Less Time Consuming
•Less expensive ( less coder and tester are involved)
•It applies or works on small projects

Disadvantages:

•Testing involves in only one phase.


•Until the whole cycle is completed we cannot perform any operations on system.
V Model/ VV model
The V-model is an SDLC model where execution of processes happens in a sequential manner
in a V-shape. It is also known as Verification and Validation model.

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

• Planning – 1st Quadrant

• Risk Analysis – 2nd Quadrant

• Development – 3rd Quadrant

• Evaluation – 4th Quadrant


Planning – 1st Quadrant

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.

Risk Analysis – 2nd 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 – 4th Quadrant

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.

Step 1: Requirements gathering and analysis

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.

Step 3: Build a 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.

Step 4: Initial user evaluation

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.

Step 6: Implement Product and Maintain

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.

You might also like