0% found this document useful (0 votes)
41 views192 pages

MSBTE STE Chapter 1 PPTs I Scheme

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
41 views192 pages

MSBTE STE Chapter 1 PPTs I Scheme

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 192

WELCOME TO THIRD

YEAR

By: Mrs. Shubhra Tonge


Computer Engineering Program
SOFTWARE TESTING
22518
By: Mrs. Shubhra Tonge
Computer Engineering Program
Rationale:

In today's software environment writing bug-free code is challenging


task, which make software testing important tool to get the quality
software. Testing techniques include the process of executing a
program or application with the intent of finding software bugs and
verifying that the software product is fit for use.Students will learn
the way to find bugs by applying types, levels and methods of
software testing on applications with effective test planning
approach. It also covers manual testing.
COMPETENCY

The aim of this course is to help the student to attain the following
industry identified competency through various teaching learning
experiences:
Apply types, levels and methods of software testing on
applications.
COURSE OUTCOMES (COs)
1. Apply various software testing methods.
2..Prepare test cases for different types and levels of testing.
3. Prepare test plan for an application.
4. Identify bugs to create defect report of given application.
5. Test software for performance measures using automated testing tools.
TEACHING AND EXAMINATION SCHEME
Unit 1: Basics of software Testing and testing methods
(14 Marks)
1.1 Software Testing, Objectives of Testing

1.2 Failure, Error, Fault, Defect, Bug Terminology

1.3 Test Case, When to Start and Stop Testing of Software (Entry and Exit Criteria)

1.4 Verification and Validation (V Model), Quality Assurance, Quality Control.

1.5 Methods of Testing:Static and Dynamic Testing

1.6 The box approach: White Box Testing: Inspections, Walkthroughs, Technical Reviews,
Functional Testing, Code Coverage Testing, Code Complexity Testing.

1.7 Black Box Testing: Requirement Based Testing, Boundary Value Analysis, Equivalence
Partitioning,
Unit 2 Types and levels of Testing (18 Marks)

2.1 Levels of testing

2.1 Unit Testing: Driver, Stub


2.2 Integration Testing: Top-Down Integration, Bottom-Up
Integration, Bi-Directional Integration
2.3 Testing on Web Application: Performance Testing:Load
Testing, Stress Testing, Security Testing. Client-Server Testing
2.4 Acceptance Testing: Alpha Testing and Beta Testing, Special
Tests: Regression Testing, GUI Testing,
Unit 3 Test Management (14 Marks)

3.1 Test Planning: Preparing a Test Plan,Deciding Test Approach,


Setting Up Criteria for Testing, Identifying Responsibilities, Staffing,
Resource Requirements, Test Deliverables, Testing Tasks

3.2 Test Management: Test Infrastructure Management, Test People


Management.
3.3 Test Process: Base Lining a Test Plan,Test Case Specification.
3.4 Test Reporting: Executing Test Cases, Preparing Test Summary
Report.
Unit 4 Defect Management (12 Marks)

4.1. Defect Classification, Defect Management Process.


4.2. Defect Life Cycle, Defect Template
4.3. Estimate Expected Impact of a Defect,
Techniques for Finding Defects, Reporting a Defect.
Unit 5 Testing Tools and measurements (12 Marks)

5.1 Manual Testing and Need for Automated Testing Tools


5.2 Advantages and Disadvantages of Using Tools
5.3 Selecting a Testing Tool
5.4 When to Use Automated Test Tools, Testing Using Automated
Tools.
5.5 5.6 Metrics and Measurement: Types of Metrics, Product Metrics
and Process Metrics, Object oriented metrics in testing.
SUGGESTED SPECIFICATION TABLE FOR QUESTION
PAPER DESIGN
Practical Assessment Parameters
List of Practicals:
List of Practicals:
Unit 1: Basics of software Testing and testing methods
(14 Marks)
1.1 Software Testing, Objectives of Testing

1.2 Failure, Error, Fault, Defect, Bug Terminology

1.3 Test Case, When to Start and Stop Testing of Software (Entry and Exit Criteria)

1.4 Verification and Validation (V Model), Quality Assurance, Quality Control.

1.5 Methods of Testing:Static and Dynamic Testing

1.6 The box approach: White Box Testing: Inspections, Walkthroughs, Technical Reviews,
Functional Testing, Code Coverage Testing, Code Complexity Testing.

1.7 Black Box Testing: Requirement Based Testing, Boundary Value Analysis, Equivalence
Partitioning,
Software Testing background
Unit 1: Basics of software Testing and testing methods ( 14 marks)

● Infamous Software Errors Case Studies


1. Disney’s Lion King , 1994-1995
2. Intel pentium Floating Point Division Bug, 1994
3. NASA Mars polar Lander, 1999
4. Patriot Missile Defence System, 1991
5. The Y2K (Year 2000 ) Bug, circa 1974
6. Dangerous Viewing Ahead, 2004
1. Disney’s Lion King , 1994-1995
2. Intel pentium Floating Point Division Bug, 1994

4195835/ 3145727 * 3145727- 4195835 Answer should be 0


3. NASA Mars polar Lander, 1999
4. Patriot Missile Defence System, 1991
5. The Y2K (Year 2000 ) Bug, circa 1974
6. Dangerous Viewing Ahead, 2004
Unit 1: Basics of software Testing and testing methods ( 14 marks)

What Is a Bug?

1. The software doesn’t do something that the product specification says it


should do.

2. The software does something that the product specification says it


shouldn’t do.

3. The software does something that the product specification doesn’t


mention.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

What Is a Bug?

4. The software doesn’t do something that the product specification doesn’t


mention but should.

5. The software is difficult to understand, hard to use or—in the software


tester’s eyes—will be viewed by the end user as just plain not right.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
● Terms for software failure / Bug Terminology
1. Defect
2. Fault
3. Problem
4. Error
5. Incident
6. Anomaly
7. Variance
8. Failure
9. Inconsistency
10. Bugs
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Bug, Fault & Failure
•A person makes an Error
•That creates a fault in software
•That can cause a failure in operation
•Error : An error is a human action that produces the incorrect result that results in a
fault.
•Bug : The presence of error at the time of execution of the software.
•Fault : State of software caused by an error.
•Failure : Deviation of the software from its expected result. It is an event.
•Defect :A defect is an error or a bug, in the application which is created. A programmer
while designing and building the software can make mistakes or error. These mistakes or
errors mean that there are flaws in the software. These are called defects.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

I. Problem, error, and bug are probably the most generic terms used.
ii. Anomaly, incident, and variance don’t sound quite so negative and infer
more unintended operation than an all-out failure.
iii. Fault, failure, and defect tend to imply a condition that’s really severe,
maybe even dangerous. It doesn’t sound right to call an incorrectly colored
icon a fault. These words also tend to imply blame: “It’s his fault that the
software failed.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

v. As all the words sound the same they are distinguished based on the

severity and the area in which the software failure has occurred.

v. When we run a program the error that we get during execution is termed

on the basis of runtime error, compile time error, computational error, and

assignment error.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

vi. The error can be removed by debugging, if not resolved leads to a problem

and if the problem becomes large leads to software failure.

vii. A bug can be defined as the initiation of error or a problem due to which fault,
failure, incident or an anomaly occurs.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Nature of errors
Categories of Software Errors:

● User interface errors such as output errors or incorrect user messages.


● Function errors
● Hardware defects
● Incorrect program version
● Requirements errors
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Nature of errors
Categories of Software Errors:

● Design errors
● Documentation errors
● Architecture errors
● Module interface errors
● Performance error
● Logic errors such as calculation errors
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Why do defects occur in software?
Software is written by human beings
􀂾 Who know something, but not everything
􀂾 Who have skills, but aren’t perfect
􀂾 Who don’t usually use rigorous methods
􀂾 Who do make mistakes (errors)
Under increasing pressure to deliver to strict deadlines
􀂾 No time to check, assumptions may be wrong
􀂾 Systems may be incomplete
Software is complex, abstract and invisible
􀂾 Hard to understand
􀂾 Hard to see if it is complete or working correctly
􀂾 No one person can fully understand large systems
􀂾 Numerous external interfaces and dependencies
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Sources of defects
Education
􀂾 Developers does not understand well enough what he or she is doing
􀂾 Lack of proper education leads to errors in specification,design, coding, and testing
Communication
􀂾 Developers do not know enough
􀂾 Information does not reach all stakeholders
􀂾 Information is lost
Oversight
􀂾 Omitting to do necessary things
Transcription
􀂾 Developer knows what to do but simply makes a mistake
Process
􀂾Process is not applicable for the actual situation􀂾 Process places restrictions that cause errors
Unit 1: Basics of software Testing and testing methods ( 14 marks)
● Why do Bugs occur?
Unit 1: Basics of software Testing and testing methods ( 14 marks)

The cost of Bugs


Unit 1: Basics of software Testing and testing methods ( 14 marks)

What exactly does a Software tester do?


● The goal of the software tester is to find bugs.
● The goal of the software tester is to find out bugs and find
them as early as possible.
● The goal of the software tester is to find out bugs and find
them as early as possible, and make sure they get fixed.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

● What makes a Good Software Tester?

1.Explorer 2.Troubleshooters 3.Relentless 4.Creative


5.Perfectionists 6.Good Judgement 7.Tactful and Diplomatic
8. Persuasive
Skills Required for Tester
•Communication skills
•Domain knowledge
•Desire to learn
•Technical skills
•Analytical skills
•Planning
•Integrity
•Curiosity
•Think from users perspective
•Be a good judge of your product
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Software Quality
Quality : Quality means consistently meeting customer needs in terms of requirement,
Cost and delivery schedule.
Quality of s/w is reasonably bug free, delivered on time and within budget, meets
requirements and exceptions and is maintainable
Software Quality:Software quality is the degree of conformance to explicit or implicit
requirements and expectations.
i. Explicit: clearly defined and documented
ii. Implicit: not clearly defined and documented but indirectly suggested
iii. Requirements: business/product/software requirements
iv. Expectations: mainly end-user expectations
Unit 1: Basics of software Testing and testing methods (14marks)
What is Software Testing
•Finding defects
•Trying to break the system
•Find String and reporting defects
•Demoating correct functionality
•Demonstrating incorrect functionality
•Demonstrating robustness, reliability, security,maintainability, …
•Measuring performance, reliability, …
•Evaluating and measuring quality
•Proving the software correct
•Executing pre-defined test cases
•Automatic error detection
Unit 1: Basics of software Testing and testing methods(14)

Definition Of Software Testing

•Testing is the execution of programs with the intent of finding defects.


•Testing is a the process of exercising a software component
Ø using a selected set of test cases,
Ø with the intent of revealing defects and evaluating quality.
•Software testing is a technical investigation of a product,
i.e.
an empirical search for quality-related information of value to a
project’s stakeholders
Unit 1: Basics of software Testing and testing methods (14 marks)
Definition of Testing

Testing can be defined in simple words as “Performing Verification and Validation of the
Software Product” for its correctness and accuracy of working.

i. Software testing is as old as the hills in the history of digital computers.

ii. The testing of software is an important means of assessing the software to determine its
quality.

iii. Since testing typically consumes 40% to 50% of development efforts, and consumes more
effort for systems that require higher levels of reliability, it is a significant part of the software
engineering.
Unit 1: Basics of software Testing and testing methods (14 marks)
Definition of Testing
iv. With the development of fourth generation languages (4GL), which speeds up the
implementation process, the proportion of time devoted to testing increased.
v. As the amount of maintenance and upgrade of existing systems grow, significant amount of
testing will also be needed to verify systems after changes are made.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Objectives of testing:
The objectives of testing can vary depending on the context and goals of the testing process, but
generally, they include:
1. Finding defects or bugs: One of the primary objectives of testing is to identify defects or bugs
in the software. This helps in ensuring that the software behaves as expected and meets the
specified requirements.
2. Ensuring quality: Testing aims to verify that the software meets the quality standards defined
for it. This includes reliability, usability, performance, security, and other aspects of quality.
3. Validation and verification: Testing helps to validate that the software meets the business
requirements and verify that the software is built according to the design specifications.
4. Improving reliability: By testing the software thoroughly, developers can ensure that it
functions reliably under different conditions and scenarios.
5. Risk mitigation: Testing helps in identifying and mitigating risks associated with the software,
such as potential failures or issues that could impact users or the organization.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Objectives of testing:
6. Confirmation of requirements: Testing ensures that the software meets the specified
requirements and that the implemented features work as intended.
7. Customer satisfaction: Testing contributes to customer satisfaction by ensuring that the
software meets their expectations and functions correctly.
8. Cost-effectiveness: Finding and fixing defects earlier in the development process is
generally less costly than addressing them later, making testing a cost-effective practice.
9 .Compliance: Testing ensures that the software complies with relevant standards, regulations,
and guidelines applicable to its domain.
10. Continuous improvement: Testing provides feedback to the development team, enabling
continuous improvement of the software and the development process itself.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

When to Start Testing


i. An early start to testing reduces the cost, time to rework and error free software that is
delivered to the client.
ii. Software Development Life Cycle (SDLC) testing can be started from the Requirements
Gathering phase and lasts till the deployment of the software.
iii. It also depends on the development model that is being used. For example ,in Water fall
model formal testing is conducted in the Testing phase, but in incremental model, testing is
performed at the end of every increment/iteration and at the end the whole application is tested.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

When to Start Testing


iv. Testing is done in different forms at every phase of SDLC like during Requirement gathering
phase, the analysis and verification of requirements are also considered testing.
v. Reviewing the design in the design phase with intent to improve the design is also considered
as testing.
vi. Testing performed by a developer on completion of the code is also categorized as Unit type
of testing.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
When to Stop Testing
i. Unlike when to start testing it is difficult to determine when to stop testing, as testing is a never
ending process and no one can say that any software is 100% tested.

ii. Following are the aspects which should be considered to stop the testing:

● Testing Deadlines.
● Completion of test case execution.
● Completion of Functional and code coverage to a certain point.
● Bug rate falls below a certain level and no high priority bugs are identified.
● Management decision.

iv. Completion criteria should be based on Risks.

v. Testing should be stopped when :

Test cases completed with certain percentage passed and test coverage is achieved.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

When to Stop Testing


vi. The risk can be measured by Risk analysis but for small duration / low budget / low
resources project, risk can be deduced by simply: -

● Measuring Test Coverage.


● Number of test cycles.
● Number of high priority bugs.
● There are no known critical bugs.
● Coverage of code, functionality, or requirements reaches a specified point.
● Bug rate falls below a certain level, now testers are not getting any priority 1, 2, or 3
bugs.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Quality Assurance (It is Process oriented activities)


(Question: Explain the concept of Quality Assurance and Quality control in software
testing)

i. Quality Assurance: A part of quality management focused on providing confidence that


quality requirements will be fulfilled.

ii. All the planned and systematic activities implemented within the quality system that can
be demonstrated to provide confidence that a product or service will fulfill requirements
for quality.

iii. Quality Assurance is fundamentally focused on planning and documenting those


processes to assure quality including things such as quality plans and inspection and test
plans.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Quality Assurance
iv. Quality Assurance is a system for evaluating performance, service of the quality of a
product against a system standard or specified requirement for customers.

v. Quality Assurance is a complete system to assure the quality of products or services.


It is not only a process, but a complete system including also control. It is a way of
management.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Standards: Standards are the criteria’s to which the s/w product is compared.

● Documentations Standards: Specify form and Contents for planning, analysis


and product documentation and consistency throughout a project.

● Design Standards: Specify forms and contents of design product. They provide
rules and methods for translating the s/w requirements into the s/w design.

● Code Standards: Specify the language in which code is to written and define any
restrictions on use of language features.

● They define legal language structures, style conversions, rules for data structure
and interface.

● Procedure: Expected steps to be followed in carrying out a process.


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Quality Control (It is Product oriented activities )


i. A part of quality management focused on fulfilling quality requirements.

ii. The operational techniques and activities used to fulfill requirements for quality.

iii. Quality Control on the other hand is the physical verification that the product conforms to
these planned arrangements by inspection, measurement etc.

iv. Quality Control is the process involved within the system to ensure job management,
competence and performance during the manufacturing of the product or service to ensure
it meets the quality plan as designed.

v. Quality Control just measures and determines the quality level of products or services.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Verification and Validation


(Question: Explain the concept of verification and validation in software testing. )

Verification

i. It makes sure that the product is designed to deliver all functionality to the customer.
Verification is done at the starting of the development process. It includes reviews and
meetings, walkthroughs, inspection, etc. to evaluate documents, plans, code, requirements
and specifications.

iii. It answers the questions like: Am I building the product right?

iv. Am I accessing the data right (in the right place; in the right way).
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Verification
V. It is a Low level activity

vi. Performed during development on key art facts, like walkthroughs, reviews

and inspections, mentor feedback, training, checklists and standards.

vii. Demonstration of consistency, completeness, and correctness of the software

at each stage and between each stage of the development life cycle.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Validation
1. Determining if the system complies with the requirements and performs functions for
which it is intended and meets the organization’s goals and user needs.

2. Validation is done at the end of the development process and takes place after
verifications are completed.

3. It answers the question like: Am I building the right product?

4. Am I accessing the right data (in terms of the data required to satisfy the requirement).
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Validation
5. It is a High level activity.

6. Performed after a work product is produced against established criteria ensuring that the
product integrates correctly into the environment.

7. Determination of correctness of the final software product by a development project with


respect to the user needs and requirements.
Verification Validation

1. Verification is a static practice of verifying 1. Validation is a dynamic mechanism of


documents, design, code and program. validating and testing the actual product.

2. It does not involve executing the code. 2. It always involves executing the code.

3. It is human based checking of documents 3. It is computer based execution of program.


and files.

4. Verification uses methods like inspections, 4. Validation uses methods like black box
reviews, walkthroughs, and Desk-checking etc. (functional) testing, gray box testing, and white
box (structural) testing etc.

5. Verification is to check whether the 5. Validation is to check whether software


software conforms to specifications. meets the customer expectations and
requirements.
6. It can catch errors that validation cannot 6. It can catch errors that verification cannot
catch. It is low level exercise. catch. It is High Level Exercise.

7. Target is requirements specification, 7. Target is actual product-a unit, a module, a


application and software architecture, high bent of integrated modules, and effective final
level, complete design, and database design product.
etc.
8. Verification is done by QA team to ensure 8. Validation is carried out with the
that the software is as per the specifications in involvement of testing team.
the SRS document.
9. It generally comes first-done before 9. It generally follows after verification.
validation.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

In the V-Model software development life cycle different steps are followed however here
we will taking a most common type of V-model example. The V-model typically consist of
the following phases:
Unit Testing: Preparation of Unit Test Cases

2. Integration Testing: Preparation of Integration Test Cases

3. System Testing: Preparation of System test cases

4. Acceptance Testing: Preparation of Acceptance Test Cases


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Verification and validation model makes the V-model.

It is sequential path of execution of processes.

Each phase must be completed before the next phase begins.

Under V-model, the corresponding testing phase of the development phase is planned in
parallel. So there is verification on one side of V & validation phase on the other side of V
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Verification Phase:
1. Overall Business Requirement: In this first phase of the development cycle, the product
requirements are understood from customer perspective. This phase involves detailed
communication with the customer to understand his expectations and exact requirements. The
acceptance test design planning is done at this stage as business requirements can be used as
an input for acceptance testing.

2. Software Requirement: Once the product requirements are clearly known, the system can
be designed. The system design comprises of understanding & detailing the complete
hardware, software & communication set up for the product under development. System test
plan is designed based on system design. Doing this at earlier stage leaves more time for
actual test execution later
Unit 1: Basics of software Testing and testing methods ( 14 marks)
3. High level design: High level specification are understood & designed in this phase.
Usually more than one technical approach is proposed & based on the technical &
financial feasibility, the final decision is taken. System design is broken down further
into modules taking up different functionality.

4. Low level design: In this phase the detailed integral design for all the system modules
is specified. It is important that the design is compatible with the other modules in the
system & other external system. Components tests can be designed at this stage based on
the internal module design.

5. Coding: The actual coding of the system modules designed in the design phase is
taken up in the coding phase. The base suitable programming language is decided base
on requirements. Coding is done based on the coding guidelines & standards.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Validation phase :

1. Unit Testing: Unit testing designed in coding are executed on the code during this
validation phase. This helps to eliminate bugs at an early stage.

2. Components testing: This is associated with module design helps to eliminate defects in
individual modules.

3. Integration Testing: It is associated with high level design phase & it is performed to test
the coexistence & communication of the internal modules within the system

4. System Testing: It is associated with system design phase. It checks the entire system
functionality & the communication of the system under development with external systems.
Most of the software & hardware compatibility issues can be uncovered using system test
execution.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

5. Acceptance Testing: It is associated with overall & involves testing the product in
user environment. These tests uncover the compatibility issues with the other systems
available in the user environment. It also uncovers the non-functional issues such as
load & performance defects in the actual user environment.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

The advantages of the V-Model


1. This is a highly-disciplined model and Phases are completed one at a time.
2. Testing activities like planning, test designing happens well before coding. This
saves a lot of time. Hence higher chance of success over the waterfall model.
3. Works well for smaller projects where requirements are very well understood.
4. Simple and easy to understand and use.
5. Avoids the downward flow of the defects
Unit 1: Basics of software Testing and testing methods ( 14 marks)

The disadvantages of the V-Model

1. Not suitable for the projects where requirements are at a moderate to high risk of
changing.
2. If any changes happen in midway, then the test documents along with
requirement documents has to be updated.
3. Software is developed during the implementation phase, so no early
prototypes of the software are produced.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Methods of testing:

1. Static Testing :

● Static testing is the testing of the software work products manually, or with a set of
tools, but they are not executed.
● It starts early in the Life cycle and so it is done during the verification process. It
does not need computer as the testing of program is done without executing the
program.
● For example: reviewing, walk through, inspection, etc. Static testing consists of
following methods 1) Walkthrough 2) Inspection 3) Technical Review.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Advantages of Static Testing :

● Since static testing can start early in the life cycle, early feedback on quality issues
can be established.
● By detecting defects at an early stage, rework costs are most often relatively low.
Since rework effort is substantially reduced, development productivity figures are
likely to increase.
● The evaluation by a team has the additional advantage that there is an exchange of
information between the participants.
● Static tests contribute to an increased awareness of quality issues.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Disadvantages of Static Testing :


● Demand great amount of time when done manually
● Automated tools works with only few programming languages
● Automated tools may provide false positives and false negatives
● Automated tools only scan the code
● Automated tools cannot pinpoint weak points that may create troubles in run-time
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Dynamic testing

1. Dynamic testing is testing that is performed when the system is running.


2. The basic requirement is to review test plans.
3. Recommend tests based on the hazard analysis, safety standards and checklists, previous
accident and incidents, operator task analysis etc.
4. Specify the conditions under which the test will be conducted.
5. Review the test results for any safety-related problems that were missed in the analysis
or in any other testing.
6. Ensure that the testing feedback is integrated into the safety reviews and analyses that
will be used in design modifications
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Key Points
● Presenter- isn’t programmer.
● Potentially giving different view to inspection meeting
● Highly structured
● Trained participant
● Review the code from different perspective
● One inspector review the code from end to start
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Walkthrough
Key Points
● Programmer (presenter)
● In small group (5)
● Programmer, tester and reviewers
● Receive copies in advanced
● Can examine , write comment and questions
● At least one senior programmer
● Presenter write report
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Formal Review

● A formal review is the process under which static white-box testing


is performed.
● A formal review can range from a simple meeting between two
programmers to a detailed, rigorous inspection of the software's
design or its code.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

There are four essential elements to a formal review:

● Identify Problems: The goal of the review is to find problems with the
software—not just items that are wrong, but missing items as well.
● Follow Rules. A fixed set of rules should be followed. They may set the amount of
code to be reviewed (usually a couple hundred lines), how much time will be
spent (a couple hours), what can be commented on, and so on.
● Prepare. Each participant is expected to prepare for and contribute to the review.
Depending on the type of review, participants may have different roles.
● Write a Report. The review group must produce a written report summarizing
the results of the review and make that report available to the rest of the
product development team.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

White box Testing


● This testing is based on knowledge of the internal logic of an application’s code.
● Also known as Glass box, clear box, open box Testing.
● Internal software and code working should be known for this type of testing.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

White box Testing


● Needs to have knowledge of the internal working of the code.
● Detailed investigation of internal logic and structure of the code.
● Look inside the source code and find out which unit of the code is behaving
inappropriately..
● Aspects missed out in black box testing are tested
Unit 1: Basics of software Testing and testing methods ( 14 marks)

White box Testing


Unit 1: Basics of software Testing and testing methods ( 14 marks)

White box Testing

Advantages
● 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.
● Extra lines of code can be removed which can bring in hidden defects.
● It helps in optimizing the code.
● Due to the tester's knowledge about the code, maximum coverage is attained during
writing test cases.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

White box Testing

Disadvantages
● Due to the fact that a skilled tester is needed to perform.
● Necessity to create full range of inputs to test each path and condition make the white
box testing method time-consuming.
● Some conditions might be untested as it is not realistic to test every single one.
● Specialized tools like code analysers and debugging tools are required.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

BLACK BOX TESTING

● It is defined as a testing technique in which functionality of the Application Under Test


(AUT).
● It is tested without looking at the internal code structure, implementation details and
knowledge of internal paths of the software.
● This type of testing is based entirely on software requirements and specifications.
● In Black Box Testing we just focus on inputs and output of the software system without
bothering about internal knowledge of the software program.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

BLACK BOX TESTING

● The tester is unaware to the system architecture and does not have access to the
source code.
● Tester interact with the system's user interface by providing inputs .
● Examining outputs without knowing how and where the inputs are worked upon.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

BLACK BOX TESTING

Advantages
● Well suited and efficient for large code segments.
● Code Access not required.
● Test is performed from a user’s point-of-view and not of the designer’s.
● Tester is free from any pressure of knowledge of specific programming languages to
test the functionality of an application.
● Test cases can be designed as soon as the specifications are complete.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

BLACK BOX TESTING

Disadvantages
● Blind Coverage, since the tester cannot target specific code segments or error prone
areas.
● Testing every possible input stream is not possible because it is time-consuming.
● Inefficient testing, due to the fact that the tester only has limited knowledge about an
application.
● The test cases are difficult to design.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Peer Reviews
● The least formal method.
● The programmer and one or two other programmers or testers acting as
reviewers.
● Small group simply reviews the code together
● The review is highly effective
● The four key elements of a formal review are in place:
○Look for problems,
○follow rules,
○prepare for the review, and

○write a report.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
A test plan is a systematic approach to testing a system i.e. software. The plan typically
contains a detailed understanding of what the eventual testing workflow will be.

A test case is a specific procedure of testing a particular requirement.

It will include:

• Identification of specific requirement tested

• Test case success/failure criteria

• Specific steps to execute test

• Test Data
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Dynamic White Box Testing


Unit 1: Basics of software Testing and testing methods ( 14 marks)
Data Flow (Code functional testing )
● Data flow coverage -involves tracking a piece of data completely through the
software.

● With black-box testing, tester only know the value of the variable is at the
beginning and at the end.

● With dynamic white-box testing - check intermediate values during program


execution
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Data Flow
void main()
{
int a,b,c;
printf(“Enter values of a and b”); scanf(“%d%d”,&a,&b);
C=a+b; C=c/2;

print(“Average=%d”,c);
}
o/p:- Enter values of a and b 2 4 Average=3
a=2
b=4
C=6
C=3
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Data coverage

Coverage is a measure of the completeness of the set of test cases.

Consider the data first.

Data includes all the variables, constants, arrays, data structures, keyboard
and mouse input, files and screen input and output, and I/O to other devices
such as modems, networks, and so on.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
The declaration of data is complete with the assignment statement and the
variable declaration statements. All the variable declared are properly
utilized.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Program Statement and Line Coverage (Code Coverage Testing)

● The most straightforward form of code coverage is called statement


coverage or line coverage.

● Monitoring statement coverage while you test your software,


- make sure that you execute every statement in the program at least
once.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Program Statement and Line Coverage (Code Coverage Testing)

With line coverage the tester tests the code line by line.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
example of the Visual Basic debugger in operation.

For very small programs or individual modules, using a


debugger is often sufficient. However, performing code
coverage on most software requires a specialized tool known
as a code coverage analyzer
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Branch Coverage (code coverage testing)
Attempting to cover all the paths in the software is called path testing. The
simplest form of path testing is called branch coverage testing

If you test this program with the goal of 100% statement coverage, need to run only a single
test case with the Date$ variable set to January 1, 2000.
The program would then execute the following path: Lines 1, 2, 3, 4, 5, 6, 7
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Branch Coverage

Need to try a test case for a date that’s not January 1,2000.
If you did, the program would execute the other path through the program: Lines
1, 2, 5, 6, 7
Most code coverage analyzers report both statement coverage and branch
coverage results separately
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Branch Coverage
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Condition Coverage (Code Coverage Testing)

An extra condition is added to the IF statement in line 2 that checks the time as well
as the date.
Condition coverage testing takes the extra conditions on the branch statements into
account.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Condition Coverage

● For example, if source code contains no control flow statement then its cyclomatic
complexity will be 1 and source code contains a single path in it.
● Similarly, if the source code contains one if condition then cyclomatic complexity
will be 2 because there will be two paths one for true and the other for false.
● M= P + 1
Where P = Number of predicate nodes (node that contains condition)
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Cyclomatic complexity (Code Complexity Testing)

● Cyclomatic complexity of a code section is the quantitative measure of the


number of linearly independent paths in it.
● It is a software metric used to indicate the complexity of a program.
● It is computed using the Control Flow Graph of the program.
● The nodes in the graph indicate the smallest group of commands of a
program, and a directed edge in it connects the two nodes i.e. if the second
command might immediately follow the first command.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Cyclomatic complexity

● Mathematically, for a structured program, the directed graph inside control


flow is the edge joining two basic blocks of the program as control may pass
from first to second.

So, cyclomatic complexity M would be defined as,


● M=E–N+2
where,
● E = the number of edges in the control flow graph
● N = the number of nodes in the control flow graph
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Cyclomatic complexity

Steps that should be followed in calculating cyclomatic complexity and test


cases design are:

1. Construction of graph with nodes and edges from code.


2. Identification of independent paths.
3. Cyclomatic Complexity Calculation
4. Design of Test Cases
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Cyclomatic complexity

The cyclomatic complexity calculated for above code will be from the control flow graph.
The graph shows seven shapes(nodes), seven lines(edges), hence cyclomatic complexity is
7-7+2 = 2.Or M= P + 1, Where P = Number of predicate nodes (node that contains condition)
M=1+1= 2.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Cyclomatic complexity
Use of Cyclomatic Complexity:
1. Determining the independent path executions thus proven to be very helpful for
Developers and Testers.
2. It can make sure that every path has been tested at least once.
3. Thus help to focus more on uncovered paths.
4. Code coverage (condition coverage testing) can be improved.
5. Risk associated with the program can be evaluated.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Find Cyclomatic complexity

if(a>b)
if(a>c)
print a;
else
print c;
else
print b;
Unit 1: Basics of software Testing and testing methods ( 14 marks)

M= E-N+2 M= 8-7+2=3

M=P+1 M=2+1=3
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Find Cyclomatic complexity
if(a>b)
print a;
else
if(c>b)
if(c>a)
print c;
else
print b;
else
print a;
Unit 1: Basics of software Testing and testing methods ( 14 marks)
M= E-N+2

M= 11-9+2

M=4

M=P+1

M=3+1

M=4
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Black Box Testing


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Black Box Testing


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Requirement Based Testing


Requirements-based testing is a testing approach in which test cases, conditions
and data are derived from requirements.

It includes functional tests and also nonfunctional attributes such as


performance, reliability or usability.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Stages in Requirements based Testing


Defining Test Completion Criteria Testing is completed only when all the
functional and non-functional testing is complete.
Design Test Cases
A Test case has parameters namely the Test ID, inputs, expected and actual
outcomes.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Stages in Requirements based Testing

Execute Tests:Execute the test cases against the system under


test and document the results.

Verify Test Results:Verify if the expected and actual results match


each other.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Stages in Requirements based Testing

Verify Test Coverage


Verify tests cover both functional and nonfunctional requirement.
Track and Manage Defects
Defect life cycle and Defect Statistics
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Requirements testing process

● Testing must be carried out in a timely manner.


● Testing process should add value to the software life cycle,
hence it needs to be effective.
● Testing the system thoroughly is impossible hence the testing process
needs to be efficient as well.
● Testing must provide the overall status of the project, hence it
should be manageable.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Positive Testing
● Positive Testing is testing process where the system validated against the valid
input data.
● In this testing tester always check for only valid set of values and check if
an application behaves as expected with its expected inputs.
● The main intention - to check whether software application not showing
error when not supposed to & showing error when supposed to.
● Keeping positive point of view & only execute the positive scenario.
● Positive Testing always tries to prove that a given product and project
always meets the requirements and specifications.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Positive Testing
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Negative Testing
● Negative Testing is testing process where the system validated against
the invalid input data.

● A negative test checks if an application behaves as expected with its


negative inputs.

● Such testing is to be carried out keeping negative point of view & only
execute the test cases for only invalid set of input data.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Negative Testing
● The main reason behind Negative testing is to check the stability
of the software application against the different variety of incorrect
data.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Boundary Value Analysis


● Boundary conditions are special because programming Software is liable to
problems at its edges.
● The boundary conditions are defined as the initial and the final data ranges of
the variables declared.
● The edges are the minimum and the maximum values for that identifier,
Techniques allow you to design better test cases.
● Boundary value analysis is testing at the boundaries between partitions.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Boundary Value Analysis


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Boundary Value Analysis


Let's consider the behavior of Order Books Text Box Below
Book values 1 to 10 is considered valid and A success message is shown.
While value 11 to 99 are considered invalid for order and an error message
will appear, "Only 10 Books can be ordered“.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Boundary Value Analysis

Under this technique, boundary values 0, 1,2,9,10,11 can be tested.


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Boundary Value Analysis


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Boundary Value Analysis


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Sub-Boundary Conditions

● Sub-boundaries are internal to the software


● Not noticeable by an end user but still need to be checked by the software tester.
● These are known as sub-boundary conditions or internal boundary
conditions.
● Enter Character to find its ASCII value
(0-9 a-z, A-Z, Symbols )
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Equivalence Partitioning

● Equivalence partitioning is the process of methodically reducing the huge


(infinite) set of possible test cases into a much smaller, but still equally effective, set.

● Divides the input domain of the program into classes of data from which the test
cases can be divided.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Equivalence Partitioning
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Test condition:-

● Any Number greater than 10 entered in the Order Book field is considered
invalid.
● Any Number less than 1 , then it is considered invalid.
● Numbers 1 to 10 are considered valid.
● Accept only two digit number.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

● We cannot test all the possible values


● The number of test cases will be more than 100.
● To address this problem, we use equivalence partitioning
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

● Consider the possibility for entering the filename in standard Save As dialog box
● A Windows filename can contain any characters except \ / : * ? “ < > and |.
● Filenames can have from 1 to 255 characters. If you’re creating test cases for filenames,
you will have equivalence partitions for valid characters, invalid characters, valid length
names, names that are too short, and names that are too long.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example 1: Equivalence and Boundary


Value
Let's consider the behavior of Order Pizza, Text Box Below Pizza values 1 to 10 is
considered valid.

A success message is shown.


While value 11 to 99 are considered invalid for order and an error message will appear,
"Only 10 Pizza can be ordered"
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example 1: Equivalence and Boundary Value


Here is the test condition
Any Number greater than 10 entered in the Order Pizza field(let say 11)
is considered invalid.
Any Number less than 1 that is 0 or below, then it is considered
invalid.

Numbers 1 to 10 are considered valid Any 3Digit Number say

-100 is invalid.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example 1: Equivalence and Boundary


Value
We cannot test all the possible values because if done, the
number of test cases will be more than 100.

To address this problem, we use equivalence partitioning


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example 1: Equivalence and Boundary Value


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example 1: Equivalence and Boundary Value


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example 1: Equivalence and Boundary Value


Unit 1: Basics of software Testing and testing methods ( 14 marks)

State Testing

The other side of software testing is to verify


the program's logic flow through its various states.

A software state is a condition or mode that


the software is currently in.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Windows Paint program in the pencil drawing state.This is the initial state in
which the software starts. Notice that the pencil tool is selected, the cursor looks
like a pencil, and a fine line is used to draw on screen.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

The same program in the airbrush state. In this state, the airbrush tool
is selected, airbrush sizes are provided, the cursor looks like a
spray-paint can, and drawing results in a spray-paint look.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Testing the Software Logic Flow

It’s often impossible to traverse all paths to all states.


The solution for software testing is to apply equivalence partition
techniques to the selection of the states and paths, assuming some
risk because you will choose not to test all of them, but
reducing that risk by making intelligent choices.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Creating a State Transition Map

The state transition diagram should be easily understandable and should be able to explain
clearly about the various stages the software passes through.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

A state transition map should show the following items:

● Each unique state that the software can be in.

● The input or condition that takes it from one state to the next.

● Set conditions and produced output when a state is entered or exited.


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Reducing the Number of States and Transitions to Test

● Visit each state at least once.


● Test the state-to-state transitions that look like the most common or
popular.
● Test the least common paths between states.
● Test all the error states and returning from the error states.
● Test random state transitions.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Example

Shopping website
● Searching items without login
● Searching items with login
● Payment
● Logout
● Order details
Unit 1: Basics of software Testing and testing methods ( 14 marks)

User documentation testing

As a software tester - testing the software is not sufficient .

Responsibility is to cover all the parts that makeup the entire software
product.

Assuring that the documentation is also correct.


Unit 1: Basics of software Testing and testing methods ( 14 marks)

Types of Software Documentation


1. Packaging text and graphics
2. copyright information
3. Marketing material
4. service contracts
5. Warranty/registration card that the customer fills out and sends in to register
the software.
6. End User License Agreement
7. Installation and setup instructions
8. User’s manual
9. Online help
10. Samples, examples, and templates
11. Error messages
Unit 1: Basics of software Testing and testing methods ( 14 marks)

The Importance of Documentation Testing

It improves usability. Much of that usability is related to the software documentation.


It improves reliability. Reliability is how stable and consistent the software is.
It lowers support costs. The reason is that users who are confused or run into
unexpected problems will call the company for help, which is expensive.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

The Realities of Documentation Testing

Documentation often gets the least attention, budget, and resources

It’s possible that the people writing the documentation aren’t experts in what
the software does.

Printed documentation takes time to produce, sometimes weeks or even


months.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Decision table technique is one of the widely used case design techniques for
black box testing.
Decision table testing is a software testing technique used to test system
behavior for different input combinations.
This is a systematic approach where the different input combinations and
their corresponding system behavior (Output) are captured in a tabular
form.
It is also called as a Cause-Effect table where Cause and effects are captured
for better test coverage.
It helps the developers to do a better job can also lead to better relationships
with them.
Testing combinations can be a challenge, as the number of combinations can
often be huge.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables

The four parts of the decision table are given as:


1. Condition Stubs: All the conditions are represented in this upper left section of
the decision table. These conditions are used to determine a particular action or
set of actions.
2. Action Stubs: All possible actions are listed in this lower left portion of the
decision table.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables

3. Condition Entries: In the condition entries portion of the decision table, we have
a number of columns and each column represents a rule. Values entered in this
upper right portion of the table are known as inputs.

4. Action Entries: Each entry in the action entries portion has some associated
action or set of actions in this lower right portion of the table. These values
are known as outputs and are dependent upon the functionality of the program.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables

Now, let's see how a decision table is created for the login function in which we
can log in by using email and password. Both the email and the password are the
conditions, and the expected result is action.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Example:
Three types of customers are defined:

Regular customer,
Silver customer,
Gold customer

(these types are assigned by the amount of business the customer


does with the print shop over a 12-month period).
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
● A regular customer receives normal print rates and delivery.
● A silver customer gets an 8 percent discount on all quotes and is
placed ahead of all regular customers in the job queue.
● A gold customer gets a 15 percent reduction in quoted prices and is placed
ahead of both regular and silver customers in the job queue.
● A special discount of x percent in addition to other discounts can be
applied to any customer’s quote at the discretion of management
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Decision Tables
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Graph based testing

Graph based testing is a method to test a software or an application by


representing it as a graph.
The graph consists of nodes that represent different components or
states and edges that represent the transitions or interactions between
these nodes.
The goal of this approach is to test different scenarios by traversing
through this graph created for the software
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Graph based testing

● Graph Based Testing is also called as State Based Testing


● It provides a framework for model based testing.
● Each and every application is building of some objects.All such
objects are identified and graph is prepared.
● Black-box methods based on the nature of the relationships (links)
among the program objects (nodes), test cases are designed to traverse
the entire graph.
Unit 1: Basics of software Testing and testing methods ( 14 marks)
Graph based testing

Finite state modeling – Nodes represent user observable states of the


software and links represent transitions between states.

Transaction flow testing – Nodes represent steps in some transaction


and links represent logical connections between steps that need to
be validated.

Data flow modeling – nodes are data objects and links are
transformations from one data object to another.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Graph based testing

Steps in graph testing:


i. Build a graph model.
ii. Identify the test requirements.
iii. Select test paths to cover those requirements.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Graph based testing


In order to design test design cases following steps are used:
i. Understanding the system
ii. Identifying states andinputs.
iii. Create a state graph model of the application.
iv. Verify whether State graph that we modeled is correct in all
details.
v. Generate sequence of test actions.Derive test data so that those
test paths can be executed.
Unit 1: Basics of software Testing and testing methods ( 14 marks)

Graph based testing

You might also like