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

JBK7001 Manual Testing One

Uploaded by

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

JBK7001 Manual Testing One

Uploaded by

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

javabyKiran Manual Testing call : 8888809416

Introduction to Software Testing


Software Development Life Cycle (SDLC)
SDLC - Models
Software Testing Methodologies

Javabykiran.com 1
javabyKiran Manual Testing call : 8888809416

Introduction to Software Testing

• What is Software Testing


o “Software testing is a process of executing the application with the intent of finding the defects by comparing
the output behaviour of the application with expected behaviour (requirement).”
o In other words, it’s comparing the actual behaviour of an application with expected behaviour.
• Why Software Testing
o Software testing is really required to point out the defects and errors that were made during the development
phases.
o We humans can’t identify our mistakes in a work done by us. We should get someone else to check our work
because another person may identify the mistakes done by us. In the same way software developers may not
identify the mismatches in a program or application implemented by them which can be identify by another
department called Software Test Engineer or Quality analyst designation might vary as per company norms.
• Benefits of Software Testing
o Software testing helps in finalizing the software application against business requirements.
o Software testing makes sure that the testing is being done properly and hence the system is ready for
the customers to use.
o Below are few benefits of software testing.
▪ Finding the defects before delivery
▪ Gaines the confidence about quality
▪ To Prevent defects
▪ Ensure the requirements are delivered to client
• What is Quality
o Software quality is nothing but delivering a bug free application and delivered on time with all
requirements.
o ISO 8402-1986 standard defines quality as “the totality of features and characteristics of a product or
service that bears its ability to satisfy stated or implied needs.”
• What is defect
o “A defect is a deviation or mismatch from the requirements”.
o When actual result deviates from the expected result while testing a software application or product
then it results into a defect. Hence, any deviation from the specification mentioned in the functional
specification document is a defect. In different organizations it’s called differently like bug, issue,
incidents, or problem.
• Project Vs Product
o “Project is developed for a single customer on his own requirements by the software companies and
the project will be used by the customer only.”
o “Product is developed for multiple customers on their consolidated requirements by the software
companies and the product will be used by all customers.”

Javabykiran.com 2
javabyKiran Manual Testing call : 8888809416

Software Development Life Cycle (SDLC)

• What is Software Development Life Cycle?


o “SDLC is a process followed for a software project, within a software organization. It consists of a
detailed plan describing how to develop, maintain, replace and alter or enhance specific software”
• Why Software Development Life Cycle
o “SDLC ensure success in process of software development.”
• Phases of Software Development Life Cycle
o Requirement Gathering
o Analysis
o Design
o Coding
o Testing
o Delivery & Maintenance

▪ Requirement Gathering
• Business requirements are gathered in this phase.
• This phase is the focus of the project managers and stake holders. Meetings with managers,
stake holders and users are held to determine the requirements like.
▪ Who is going to use the system?
▪ How will they use the system?
▪ What data should be input into the system?
▪ What data should be output by the system?
• Roles Involved: Business Analyst (BA), System Architects
• Outcome: System Requirement Specification (SRS)

▪ Analysis

▪ After requirement gathering these requirements are analysed for their validity and the
possibility of developing the requirements in the system.
▪ Requirement analysis is the most important and fundamental stage in SDLC. It is performed
by both development team and testing team.
▪ Roles Involved: Dev & QA team, Architects, Project Managers
▪ Outcome: Final SRS approved by customer, Technology selection for both Dev & QA

▪ Design
▪ “During this part of the design phase, the consultants/architects break down the system into
pieces that can be programmed.”
▪ System Design helps in specifying hardware and system requirements and helps in defining
overall system architecture. The system design specifications serve as input for the next phase
of the model.
▪ Roles Involved: Architects & Team
▪ Outcome: Technical Design Document (TDD)

Javabykiran.com 3
javabyKiran Manual Testing call : 8888809416

▪ Coding
• The actual development starts, and the product is built in coding phase.
• The work is divided in modules/units and actual coding is started in this coding phase and it is
the focus for developer. Coding is one of the longest phases of SDLC.
• Roles involved: Developers and Architects
• Outcome: Programs or Application or Module

▪ Testing
• In Testing phase testers execute the test cases against the application, report the defects and
retested the fixed defects.
• During this phase unit testing, integration testing, system testing, acceptance testing is done.
• Roles Involved: Testers, Developers
• Outcome: Defects, Test Summary Report, Test Plan, Test Case document

▪ Delivery & Maintenance


• Delivery: After successful testing the product is delivered / deployed to the live server.
• During the Delivery phase, customer will perform user acceptance testing (UAT) in a real
time environment.
• Once when the customers start using the developed system then the actual problems come up
and needs to be solved from time to time. This process where the care is taken for the
developed product is known as maintenance.
• Roles Involved: Testers, Developers, Customer, Business team, Architects, Project Manager,
and Delivery Manager
• Outcome: Quality Product, Enhancements &Production Issues (Maintenance)

Javabykiran.com 4
javabyKiran Manual Testing call : 8888809416

Software Development Life Cycle (SDLC) Models

“There are many developments models developed to achieve different required objectives.”

The selection of model has very high impact on the testing that is carried out. It will define what, where and
when of our planned testing, influence regression testing and largely determines which test techniques to use.

• Water Fall Model


o “In a waterfall model, each phase must be completed fully before the next phase”.
o The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-
sequential life cycle model. It is very simple to understand and use.
o This type of model is basically used for the project which is small and there are no uncertain
requirements.

When to use the waterfall model:


This model is used only when the requirements are very well known, clear and fixed.

Advantages of waterfall model:

▪ This model is simple and easy to understand and use.


▪ It is easy to manage due to the rigidity of the model
▪ In this model phases are processed and completed one at a time.

Disadvantages of waterfall model:

▪ Once an application is in the testing stage, it is very difficult to go back and change
▪ No working software is produced until late during the life cycle.
▪ High amounts of risk

Javabykiran.com 5
javabyKiran Manual Testing call : 8888809416
▪ Not a good model for complex and object-oriented projects.
▪ Poor model for long and ongoing projects.
• V Model

o “The - V model is a SDLC model where execution of processes happens in a sequential manner in V-
shape. “
o V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed
before the next phase begins. Testing of the product is planned in parallel with a corresponding phase
of development.

Advantages of V-model:

▪ Simple and easy to use.


▪ Testing activities like planning, test designing happens well before coding. This saves a lot of
time.
▪ Proactive defect tracking – that is defects are found at early stage.

Disadvantages of V-model:

▪ Software is developed during the implementation phase, so no early prototypes of the


software are produced.
▪ If any changes happen in midway, then the test documents along with requirement documents
must be updated.

When to use the V-model:

▪ The V-shaped model should be used for small to medium sized projects where requirements
are clearly defined and fixed.
▪ The V-Shaped model should be chosen when ample technical resources are available with
needed technical expertise.

Javabykiran.com 6
javabyKiran Manual Testing call : 8888809416

• Agile Model

o “Software is developed in incremental, rapid small incremental releases.”

Advantages of Agile model:


▪ Customer satisfaction by continuous delivery of software.
▪ Customers, developers, and testers constantly interact with each other.
▪ Working software is delivered frequently
▪ Continuous attention to technical excellence and good design.
▪ Even late changes in requirements are welcomed

Disadvantages of Agile model:


▪ The project can easily get taken off track if the customer representative is not clear what
outcome that they want.
▪ Only senior programmers can take the kind of decisions required during the development
process.

When to use Agile model:


▪ New changes can be implemented at very little cost
▪ To implement a new feature the developers, need to lose only the work of a few days.
▪ Unlike the waterfall model in agile model very limited planning is required to get started with
the project.

Javabykiran.com 7
javabyKiran Manual Testing call : 8888809416

Software Testing Methodologies

• Black Box Testing

o What is Block box testing


▪ The technique of testing without having technical knowledge of an application is called as
black box testing.
▪ Specification-based testing technique is also known as black box testing.
▪ We view the software as a black box with inputs and outputs.

o How will perform black box testing


▪ Testing team will perform the black box testing
▪ The testers have no knowledge of how the system or component is structured inside the box.
In black box testing the tester is concentrating on what the software does, not how it does it.
o How to perform black box testing
▪ Black box testing covers both functional and non-functional testing. Functional testing is
concerned with what the system does its features or functions. Non-functional testing is
concerned with examining how well the system does. Non-functional testing like
performance, usability, portability, maintainability, etc.
o Advantages
▪ Well suited and efficient for large code segments.
▪ Code Access not required.
▪ Clearly separates user's perspective from the developer's perspective through visibly defined
roles.
▪ Large numbers of moderately skilled testers can test the application with no knowledge of
implementation, programming
▪ language or operating systems

o Disadvantages
▪ Limited Coverage since only a selected number of test scenarios are performed.
▪ Inefficient testing since the tester only has limited knowledge about an application.
▪ Blind Coverage, since the tester cannot target specific code segments or error prone areas.
▪ The test cases are difficult to design.

o Black box testing techniques


▪ Below are the black box testing techniques:
1. Equivalence partitioning
2. Boundary value analysis
3. Error Guessing

Javabykiran.com 8
javabyKiran Manual Testing call : 8888809416

• White box testing

o What is white box testing


▪ “The technique of testing without having technical knowledge of an application is called as
white box testing.
▪ In white box testing, code is visible to testers, so it is also called Clear box testing, Open box
testing, Transparent box testing, Code-based testing and Glass box testing.
▪ White box testing in software engineering is based on the inner workings of an application
and revolves around internal testing.

o Who will perform White box testing?


▪ Testers and developers as well.

o How to perform White box testing


▪ White box testing is the detailed investigation of internal logic and structure of the code.
White box testing is also called glass testing or Open box testing.

o Advantages of White box Testing


▪ As the tester has knowledge of the source code, it becomes very easy to find out which type
of data can help in testing the application effectively.
▪ It helps in optimizing the code.
▪ Extra lines of code can be removed which can bring in hidden defects
▪ Due to the tester's knowledge about the code, maximum coverage is attained during test
scenario writing.
o Disadvantages of White box Testing
▪ Since a skilled tester is needed to perform white box testing, the costs are increased
▪ Sometimes it is impossible to investigate every nook and corner to find out hidden errors that
may create problems as many paths will go untested.
▪ It is difficult to maintain white box testing as the use of specialized tools like code
analysers and debugging tools are required

Javabykiran.com 9
javabyKiran Manual Testing call : 8888809416

• Grey Box testing

o What is grey box testing


▪ Grey Box testing is a technique of testing with limited test knowledge of the internal working
of an application.
▪ Basically, it’s a white box testing + black box testing.

o Who will perform grey box testing?


▪ Unlike black testing , box where the tester only tests the application's user interface, in grey
box testing, the tester has access to design documents and the database.
▪ Having this knowledge, the tester can better prepare test data and test scenarios when making
the test plan.

o Advantages of Grey box Testing


▪ Offers combined benefits of black box and white box testing wherever possible.
▪ Grey box testers don't rely on the source code; instead, they rely on interface definition and
functional specifications.
▪ Based on the limited information available, a grey box tester can design excellent test
scenarios especially around communication protocols and data type handling.
▪ The test is done from the point of view of the user and not the designer.

o Disadvantages of Grey box Testing


▪ Since the access to source code is not available, the ability to go over the code and test
coverage is limited.

Javabykiran.com 10
javabyKiran Manual Testing call : 8888809416
▪ The tests can be redundant if the software designer has already run a test case.
▪ Testing every possible input stream is unrealistic because it would take an unreasonable
amount of time; therefore, many program paths will go untested.

Javabykiran.com 11

You might also like