SlideShare a Scribd company logo
Software Verification & Validation
By Muhammad Anees Iqbal
Introduction
In software project management, software testing, and software
engineering, verification and validation (V&V) is the process of
checking that a software system meets specifications and that it
fulfills its intended purpose. It may also be referred to
as software quality control. It is normally the responsibility
of software testers as part of the software development lifecycle.
Software Verification & Validation
Software Verification
Verification makes sure that the product is designed to deliver all
functionality to the customer.
The process of evaluating software to determine whether the
products of a given development phase satisfy the conditions
imposed at the start of that phase.

Recommended for you

Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing

In this session you will learn: Overview of Testing Life Cycle Testing Methodologies Black Box Testing White Box Testing Gray Box Testing Integration Testing System Testing Regression Testing User Acceptance Testing (UAT) For more information: https://www.mindsmapped.com/courses/quality-assurance/qa-software-testing-training-for-beginners/

qa trainingquality assurance trainingonline qa training
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING

Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. I hope this ppt will help u to learn about software testing.

Software Testing
Software TestingSoftware Testing
Software Testing

The document discusses software testing and provides details on various aspects of software testing such as: 1) The objectives of software testing including uncovering errors, demonstrating software matches requirements, and validating quality with minimum cost. 2) Different levels of software testing from unit to integration to system testing. 3) Key aspects of software testing like test plans, test cases, test types (black box vs white box), and testing methodologies.

software testingshujaahmad
Software Verification
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.
Software Verification
Suppose you are building a table. Here the verification is about
checking all the parts of the table, whether all the four legs are of
correct size or not. If one leg of table is not of the right size it will
imbalance the end product. Similar behavior is also noticed in case of
the software product or application. If any feature of software product
or application is not up to the mark or if any defect is found then it
will result into the failure of the end product. Hence, verification is
very important. It takes place at the starting of the development
process.
Software Verification
It answers the questions like: Am I building the product right?
Am I accessing the data right (in the right place; in the right way).
It is a Low level activity
Performed during development on key artifacts, like walkthroughs,
reviews and inspections, mentor feedback, training, checklists and
standards.
Demonstration of consistency, completeness, and correctness of the
software at each stage and between each stage of the development
life cycle.
Software Verification
According to the Capability Maturity Model (CMM) we
can also define verification as the process of evaluating
software to determine whether the products of a given
development phase satisfy the conditions imposed at
the start of that phase. [IEEE-STD-610].

Recommended for you

Functional Testing
Functional TestingFunctional Testing
Functional Testing

Functional testing verifies that a software application performs according to its design specifications by checking functions, APIs, databases, security, and client/server interactions. It can be done manually or through automation. Some techniques included are unit testing, smoke testing, integration testing, interface and usability testing, regression testing, user acceptance testing, white box testing, globalization testing, and localization testing. Precise Testing Solution offers various functional testing services to clients.

functional testing
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training

This document provides an overview of software development lifecycles and testing. It discusses the typical phases of the SDLC, including planning, analysis, design, implementation, and maintenance. It describes two common SDLC methodologies: the waterfall model and agile/scrum model. It also defines different types of testing like static vs dynamic, verification vs validation, functional testing, regression testing, and smoke testing. Finally, it provides details on unit, integration, system, and user acceptance testing.

Different type of_software_testing - copy
Different type of_software_testing - copyDifferent type of_software_testing - copy
Different type of_software_testing - copy

This document discusses different types of software testing including unit testing, integration testing, system testing, acceptance testing, functional testing, non-functional testing, user interface testing, usability testing, accessibility testing, localization testing, performance testing, load testing, stress testing, compatibility testing, cross-browser testing, security testing, negative testing, re-testing, and regression testing. It provides details on the purpose and goals of each testing type.

software testing types
Software Verification
Verification is a static practice of verifying documents, design,
code and program. It includes all the activities associated with
producing high quality software: inspection, design analysis and
specification analysis. It is a relatively objective process.
Verification will help to determine whether the software is of
high quality, but it will not ensure that the system is useful.
Verification is concerned with whether the system is well-
engineered and error-free.
Methods of Verification
Static Testing
Under Static Testing, code is not executed. Rather it
manually checks the code, requirement documents,
and design documents to find errors. Hence, the name
"static".
Methods of Verification
Static verification is an analysis of computer code to
ensure that standard coding practices have been
adhered to without having to run the program. An
analysis is performed on some versions of the source
code and provides a way for programmers to debug
new code and detect potential errors in compiled code.
Methods of Verification
Static verification is widely used in software for safety-critical
computer systems. The key technologies used in static
verification are static timing analysis and equivalence checking.
Timing and functional verification in a static verification flow are
separated and run in parallel. Static timing analysis provides
timing checks, while equivalence checking verifies the functional
equivalence of two versions of the same circuit as design scales
through different transformations such as scan chain reordering,
routing and placement.

Recommended for you

Verifcation and Validation
Verifcation and ValidationVerifcation and Validation
Verifcation and Validation

This document summarizes a chapter on software verification and validation from a software engineering textbook. It discusses the objectives of verification and validation, including the distinction between verification (checking that the product is built right) and validation (checking that the right product is built). It also describes techniques like software inspections, testing, and static analysis that can be used for verification and validation. The overall goals of verification and validation are to establish confidence that the software is fit for its intended purpose.

validationv&vsoftware testing
Software Testing
Software TestingSoftware Testing
Software Testing

Validation ensures the system meets specifications, while verification checks that the correct system was built. Common verification and validation activities include reviews, testing, and formal verification. Testing is the process of running a program with test cases to find errors by comparing the program's behavior to expected behavior, with the objective of detecting defects.

sofwaretestingtechniques
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing

Fundamentals of software testing, testing levels and types, testing throughout the software life-cycle, bug report and bug severity. Automated tests via selenium web-driver with a demo.

qaseleniumtesting
Methods of Verification
The main objective of this testing is to improve the
quality of software products by finding errors in the
early stages of the development cycle. This testing is
also called a Non-execution technique or verification
testing.
Methods of Verification
Static testing involves manual or automated reviews of
the documents. This review is done during an initial
phase of testing to catch defect early in STLC. It
examines work documents and provides review
comments
Methods of Verification
Examples of Work documents-
• Requirement specifications
• Design document
• Source Code
• Test Plans
• Test Cases
• Test Scripts
• Help or User document
• Web Page content
Static Verification Techniques
Informal Reviews
This is one of the type of review which doesn't follow
any process to find errors in the document. Under this
technique, you just review the document and give
informal comments on it.

Recommended for you

Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validation

The document discusses two tools for software verification and validation (V&V): NUnit and Mercury Quality Center (MQC). NUnit is an open source unit testing framework for .NET applications. It allows developers to write unit tests to verify code meets design conditions. NUnit supports IDE integration, assertions, attributes, configurations and multiple assembly testing. It is used during implementation to facilitate code verification. MQC is a web-based test management tool for organizing testing projects. It allows requirements management, test planning, case authoring, execution, and defect tracking. Various roles can access modules for requirements, tests, execution, and defects. Reports can be generated on results. It integrates with other tools and facilitates

Software Testing
Software Testing Software Testing
Software Testing

Software testing involves executing software components to evaluate properties against requirements. It identifies errors and ensures quality. Benefits include lower costs from early bug detection, improved security, quality, and customer satisfaction. Testing strategies include unit, integration, and system testing. Types are functional, non-functional, and regression/maintenance testing. Methodologies are white-box and black-box testing. The software testing lifecycle has phases for requirements, design, execution, closure, and analysis. Performance testing types include stress, volume, configuration, compatibility, regression, recovery, and usability testing.

Software Verification and Validation
Software Verification and Validation Software Verification and Validation
Software Verification and Validation

Verification ensures that software is developed according to specifications through static testing methods like reviews and walkthroughs. It checks that the code matches requirements but does not execute it. Validation determines if the final product meets intended use by executing the code and getting stakeholder feedback. It is dynamic and ensures the right system was built to satisfy stakeholders. The main difference is that verification checks for correctness during development while validation checks if the final product fulfills its intended use.

Static Verification Techniques
Technical Reviews
A team consisting of your peers, review the technical
specification of the software product and checks whether it
is suitable for the project. They try to find any discrepancies
in the specifications and standards followed. This review
concentrates mainly on the technical documentation
related to the software such as Test Strategy, Test Plan and
requirement specification documents.
Static Verification Techniques
Walkthrough
The author of the work product explains the product to
his team. Participants can ask questions if any. A
meeting is led by the author. Scribe makes note of
review comments.
Static Verification Techniques
Inspection
The main purpose is to find defects and meeting is led
by a trained moderator. This review is a formal type of
review where it follows a strict process to find the
defects. Reviewers have a checklist to review the work
products. They record the defect and inform the
participants to rectify those errors.
Static Verification Techniques
Static code Review
This is a systematic review of the software source code
without executing the code. It checks the syntax of the
code, coding standards, code optimization, etc. This is
also termed as white box testing. This review can be
done at any point during development.

Recommended for you

software testing technique
software testing techniquesoftware testing technique
software testing technique

The document discusses software testing. It defines software testing as verifying and validating that a software application meets requirements and works as expected. The main purposes of testing are verification, validation, and defect finding. Verification ensures the software meets technical specifications, while validation ensures it meets business requirements. Defect finding identifies variances between expected and actual results. The document also discusses different testing methodologies like black box and white box testing and different testing levels like unit, integration, and system testing.

Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing

Students are often confused between the verification and validation process, as far as Software Testing is concerned. Let us initially define both the processes.

software developmentsoftware testing
Software testing
Software testingSoftware testing
Software testing

Testing is the process of evaluating a system or its components to identify differences between expected and actual results. It involves executing a system to identify gaps, errors, or missing requirements. There are different types of testing such as unit testing, integration testing, system testing, and acceptance testing. Testing can be manual, automated, functional, or non-functional. Functional testing evaluates system functionality while non-functional testing evaluates attributes like performance and security. Common non-functional test types are load testing and stress testing which analyze a system's behavior under different load conditions.

Advantages of Software Verification
• Verification helps in lowering down the count of the defect in
the later stages of development.
• Verifying the product at the starting phase of the
development will help in understanding the product in a
better way.
• It reduces the chances of failures in the software application
or product.
• It helps in building the product as per the customer
specifications and needs.
Software Validation
Validation is 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.
The process of evaluating software during or at the end of
the development process to determine whether it satisfies
specified requirements.
Software Validation
Validation is the process of evaluating the final product
to check whether the software meets the customer
expectations and requirements. It is a dynamic
mechanism of validating and testing the actual product.
Software Validation
Validation is done at the end of the development process and takes place
after Verifications are completed.
It answers the question like: Am I building the right product?
Am I accessing the right data (in terms of the data required to satisfy the
requirement).
It is a High level activity.
Performed after a work product is produced against established criteria
ensuring that the product integrates correctly into the environment.
Determination of correctness of the final software product by a development
project with respect to the user needs and requirements.

Recommended for you

Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2

COURSE IS NOW FULLY AVAILABLE AND LIVE HERE: https://goo.gl/gVukvc What you will learn in this second section Software Testing Methodologies. Waterfall, V-Model and Iterative What is unity or component system testing What is integration, system and acceptance means Differences between functional and non-functional testing What is a structural testing Change-related testing Maintenance testing Access my blog for much more material and the mock exams. www.rogeriodasilva.com

software testingagileistqb
Software Quality Assurance(Sqa) automated software testing
Software Quality Assurance(Sqa) automated software testingSoftware Quality Assurance(Sqa) automated software testing
Software Quality Assurance(Sqa) automated software testing

The document discusses automated software testing, including the process of automated testing, advantages and disadvantages, and choosing automation tools. It notes that automation can reduce human involvement in repetitive tasks, help eliminate human error, and enable more reliable, reusable, and faster testing at lower cost. However, high upfront investment is required along with significant resources for test preparation. Key factors for choosing tools include ease of integration, compatibility, performance, and types of tests supported.

software testingsqaautomated
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering

Verification and Validation: Planning Verification and Validation, Software Inspections, Automated Static Analysis, Verification and Formal Methods. Software Testing: System Testing, Component Testing, Test Case Design, Test Automation. Software Measurement: Size-Oriented Metrics, Function-Oriented Metrics, COCOMO Model Software Cost Estimation: Software Productivity, Estimation Techniques, Project Duration and Staffing

verification and validation: planning verificationsoftware inspectionsautomated static analysis
Software Validation
According to the Capability Maturity Model (CMM) we
can also define validation as The process of evaluating
software during or at the end of the development
process to determine whether it satisfies specified
requirements. [IEEE-STD-610].
Software Validation
A product can pass while verification, as it is done on the
paper and no running or functional application is required.
But, when same points which were verified on the paper is
actually developed then the running application or product
can fail while validation. This may happen because when a
product or application is build as per the specification but
these specifications are not up to the mark hence they fail
to address the user requirements.
Software Validation
Validation is basically done by the testers during the
testing. While validating the product if some deviation
is found in the actual result from the expected result
then a bug is reported or an incident is raised. Not all
incidents are bugs. But all bugs are incidents. Incidents
can also be of type ‘Question’ where the functionality is
not clear to the tester.
Software Validation
Hence, validation helps in unfolding the exact
functionality of the features and helps the testers to
understand the product in much better way. It helps in
making the product more user friendly.

Recommended for you

Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance

Software testing is an important phase of the software development process that evaluates the functionality and quality of a software application. It involves executing a program or system with the intent of finding errors. Some key points: - Software testing is needed to identify defects, ensure customer satisfaction, and deliver high quality products with lower maintenance costs. - It is important for different stakeholders like developers, testers, managers, and end users to work together throughout the testing process. - There are various types of testing like unit testing, integration testing, system testing, and different methodologies like manual and automated testing. Proper documentation is also important. - Testing helps improve the overall quality of software but can never prove that there

qa training in chandigarhtesting typescope of testing
Verification and Validation in Testing.pdf
Verification and Validation in Testing.pdfVerification and Validation in Testing.pdf
Verification and Validation in Testing.pdf

Software testing is a vast field. It involves various methods and processes proposed to solve different software testing issues.

regression testing
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering

The document discusses different strategies for software testing. It describes unit testing starting at the component level and progressing outward to integration, validation, and system testing. Validation testing ensures requirements are met through criteria like functional testing and alpha/beta testing with end users. Verification tests that the product is built correctly while validation ensures the correct product is built.

testing technicssoftware engineeringtesting strategies
Methods of Validation
Dynamic Testing
Dynamic Testing is defined as a software testing type,
which checks the dynamic behavior of the code is
analyzed.
Dynamic testing is a process of validating software
applications as an end user under different
environments to build the right software.
Methods of Validation
Dynamic testing is when you are working with the
actual system by providing an input and comparing the
actual behavior of the application to the expected
behavior. In other words, working with the system with
the intent of finding errors.
Methods of Validation
• The main aim of the Dynamic tests is to ensure that
software works properly during and after the installation
of the software ensuring a stable application without any
major flaws( this statement is made because no software
is error free, testing only can show presence of defects
and not absence)
• The main purpose of the dynamic test is to ensure
consistency to the software.
Methods of Validation
• In a Banking Application, we find different screens like
My Accounts Section, Funds Transfer, Bill Pay, etc.. All
these screens contain amount field which accepts some
characters.
• Let's say My Accounts field displays amount
as 25,000 and Funds Transfer as $25,000 and Bill pay
screen as $25000 though the amount is the same, the
way amount is displayed is not the same hence making
the software non-consistent.

Recommended for you

The Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life CycleThe Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life Cycle

Verification and validation (V&V) are important parts of the system development life cycle that help ensure software quality. Verification determines if the product meets requirements, while validation checks if it fulfills its intended purpose. V&V techniques include reviews, testing, and audits at all phases of development. Proper V&V helps deliver high quality software that satisfies client needs on time.

Software testing sengu
Software testing  senguSoftware testing  sengu
Software testing sengu

Testing is the process of executing a program with the intention of finding errors. Software testing is an analysis that gives data to estimate quality and includes executing programs to find bugs. Testing is done by software testers, developers, project leads, and end users and includes both manual and automated methods. Functional testing examines a system's functionality against requirements while non-functional testing examines reliability, efficiency and other non-functional aspects.

SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING

Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words, testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

software testingsoftware developmentengineering
Methods of Validation
Consistency is not only limited to the functionality it
also refers to different standards like performance,
usability, compatibility etc. hence it becomes very
important to perform Dynamic Testing.
Dynamic Testing Techniques
STLC is a process which consists of different tasks like
Requirements Analysis, Test Planning, Test Case Design,
Environment setup, Test Execution, and Test Closure.
In STLC we can say that Dynamic Testing Process starts
from Test Case Design
Dynamic Testing Techniques
Dynamic Testing Techniques
Test Strategy should mainly focus on the resources available
and the timeframe. Based on these factors, the objective of
the testing, the scope of testing, phases or cycles of testing,
type of environment, assumptions or challenges that might
be faced, risks, etc. has to be documented.
Once the strategy is defined and is accepted by the
management then the actual process test case design starts.

Recommended for you

Software testing
Software testingSoftware testing
Software testing

Testing is the process of evaluating a system or its components to identify errors or gaps between expected and actual results. It can be done manually or through automation. There are different types of testing like unit testing, integration testing, system testing, and acceptance testing. Testing also includes functional testing to check system requirements and non-functional testing to evaluate performance. Key aspects of testing include the software development life cycle (SDLC) and different models like waterfall, prototyping, incremental, spiral, and agile.

Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in Chandigarh

Here we are discussing the worth of software testing i.e how testing improves the quality of any product before its launching. You will also learn techniques of software testing in brief and benefits .

software testing services indiaautomation testingautomation testing service
SDET UNIT 2.pptx
SDET UNIT 2.pptxSDET UNIT 2.pptx
SDET UNIT 2.pptx

This document provides an overview of various types of software testing techniques, including static testing, dynamic testing, regression testing, usability testing, and accessibility testing. Static testing involves evaluating code and documentation without executing the program, while dynamic testing assesses software performance and functionality by executing it under different conditions. Regression testing verifies that new code changes do not negatively impact existing features. Usability and accessibility testing evaluate how real users interact with a product to complete tasks.

types of testing
Methods of Validation
Test design and Implementation
• Features to be tested
• Derive the Test Conditions
• Derive the coverage Items
• Derive the Test Cases
Types of Dynamic Testing
Dynamic Testing is classified into two categories
• White Box Testing
• Black Box Testing
Another Category includes in some cases known as
• Grey Box Testing
Types of Dynamic Testing
Black Box Testing
Black box testing is defined as a testing technique in
which functionality of the Application Under Test (AUT)
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.

Recommended for you

Exploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdfExploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdf

Quality assurance may sound like a reserved term for software developers, but it’s a crucial concept for any industry that strives for excellence. QA is the systematic approach of ensuring that products or services consistently meet predefined standards and customer expectations.

qamethodsqatestingqa
Software Quality
Software Quality Software Quality
Software Quality

The document discusses software quality and assurance. It defines software as computer programs, procedures, and documentation pertaining to computer system operation. Software quality means meeting requirements and adding value. Quality is important for business survival and competitiveness. Software quality assurance involves activities to ensure software meets criteria and attributes. It includes verification and validation. Verification ensures each development step delivers the correct product while validation ensures software meets user requirements.

Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance

software testing is necessary to make sure the product or application is defect free, as per customer specifications. Software testing identifies fault whose removal increases the software Quality and Increases the software reliability.Testing effort is directly proportional to the complexity of the program.

smoke testingsoftware testing life cyclesanity testing
Black Box Testing
In Blackbox Testing we just focus on inputs and
output of the software system without bothering
about internal knowledge of the software program.
Black Box Testing
Here are the generic steps followed to carry out any type of
Black Box Testing.
• Initially, the requirements and specifications of the
system are examined.
• Tester chooses valid inputs (positive test scenario) to
check whether SUT processes them correctly. Also, some
invalid inputs (negative test scenario) are chosen to verify
that the SUT is able to detect them.
Black Box Testing
• Tester determines expected outputs for all those inputs.
• Software tester constructs test cases with the selected
inputs.
• The test cases are executed.
• Software tester compares the actual outputs with the
expected outputs.
• Defects if any are fixed and re-tested.
Black Box Testing
Definition by ISTQB
(International Software Testing Qualifications Board)
Black box testing: Testing, either functional or non-functional,
without reference to the internal structure of the component or
system.
Black box test design technique: Procedure to derive and/or
select test cases based on an analysis of the specification, either
functional or non-functional, of a component or system without
reference to its internal structure.

Recommended for you

Software testing basic
Software testing basicSoftware testing basic
Software testing basic

This is the power point presentation on Software Testing. Software Testing is the process of finding error or bug in the developed software product based on the client requirement. This power point presentation give the basic knowledge about the software testing. Learn more at blog : -- https://solutionbyexpert.blogspot.com/2020/08/become-expert-secret-of-success-ii.html for mathematics classes visit the below link --- https://www.youtube.com/watch?v=g07wTZYYzKo&t=188s https://www.youtube.com/watch?v=KleKFXSXGPY&t=853s for physics classes visit the below link -- https://www.youtube.com/watch?v=6ha1sxMy4mU https://www.youtube.com/watch?v=2k5uI6Gm-8Y our facebook link -- https://www.facebook.com/Online-Smart-Classes-108395901487258 #coding #coding development skill program #java

softwaresoftware development life cyclesoftware testing life cycle
Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3

The document discusses the Software Testing Life Cycle (STLC) and compares it to the Software Development Life Cycle (SDLC). It outlines the key phases of the STLC including test planning, test environment setup, test case creation and execution, bug reporting, analysis and fixing. Validation ensures the product meets requirements while verification checks if it is built correctly. Common verification techniques discussed are reviews, inspections, walkthroughs, and testing approaches like unit testing, integration testing, system testing. The V-model is also summarized which involves creating test plans and documents at each stage to test the product as it is developed.

software testing life cycle
20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf

The document discusses principles of software testing and phases of a software project. It covers the fundamentals of testing including principles like finding defects before customers and that exhaustive testing is not possible. It outlines typical phases of a software project like requirements gathering, planning, design, development, testing, and deployment. It also discusses quality assurance versus quality control. White box testing techniques like static testing and structural testing are explained.

Types of Black Box Testing
• Functional testing - This black box testing type is related to
the functional requirements of a system; it is done by
software testers.
• Non-functional testing - This type of black box testing is not
related to testing of specific functionality, but non-functional
requirements such as performance, scalability, usability.
• Regression testing - Regression testing is done after code
fixes, upgrades or any other system maintenance to check the
new code has not affected the existing code.
Black Box Testing Techniques
• Equivalence Class Testing: It is used to minimize the number of
possible test cases to an optimum level while maintains reasonable
test coverage.
• Boundary Value Testing: Boundary value testing is focused on the
values at boundaries. This technique determines whether a certain
range of values are acceptable by the system or not. It is very useful in
reducing the number of test cases. It is most suitable for the systems
where an input is within certain ranges.
• Decision Table Testing: A decision table puts causes and their effects
in a matrix. There is a unique combination in each column.
Black Box Testing Model
Black box testing has its own life cycle called Software
Testing Life Cycle (STLC) and it is relative to every stage
of Software Development Life Cycle of Software
Engineering.
• Requirement - This is the initial stage of SDLC and in
this stage, a requirement is gathered. Software
testers also take part in this stage.
Black Box Testing Model
• Test Planning & Analysis - Testing Types applicable to
the project are determined. A Test Plan is created
which determines possible project risks and their
mitigation.
• Design - In this stage Test cases/scripts are created
on the basis of software requirement documents
• Test Execution- In this stage Test Cases prepared are
executed. Bugs if any are fixed and re-tested.

Recommended for you

Best software testing course
Best software testing courseBest software testing course
Best software testing course

Software testing is the primary process that to learn by all the beginners who are aspiring about testing. It is a process that we want to find the errors during the time of program or application executes. It is also said to be the validating and verifying the software implementation and program. The testing is mainly following during the time of validating product quality. The best software testing course is providing by the instructors under different categories for the learners to learn more about the details on testing. Here some of the sessions are to be following such as technology without coding, tester foundation level training for the beginners, etc.

best software testing courseonline software testing coursesoftware testing online course
Software testing
Software testingSoftware testing
Software testing

This document provides an introduction to software testing. It defines software testing as a process used to identify correctness, completeness, and quality of computer software. The key points covered include: why software testing is important; who should be involved in testing; when testing should start and stop in the software development lifecycle; the differences between verification and validation; types of errors; types of testing including manual and automation; methods like black box and white box testing; levels of testing from unit to acceptance; and definitions of test plans and test cases.

presentationsoftware testingsoftware development
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx

The document discusses quality management in software development. It describes the three main components of quality management as quality assurance, quality control, and quality improvement. Quality assurance focuses on establishing processes to ensure quality, while quality control examines outputs to ensure they meet requirements. The software development lifecycle involves requirements analysis, design, coding, testing, implementation, and maintenance phases to develop quality software. Different testing methods like black box, white box, and grey box testing are used during the testing phase.

Advantages
• Tests are done from a user’s point of view and will help in
exposing discrepancies in the specifications.
• Tester need not know programming languages or how the
software has been implemented.
• Tests can be conducted by a body independent from the
developers, allowing for an objective perspective and the
avoidance of developer-bias.
• Test cases can be designed as soon as the specifications are
complete.
Disadvantages
• Only a small number of possible inputs can be tested and
many program paths will be left untested.
• Without clear specifications, which is the situation in
many projects, test cases will be difficult to design.
• Tests can be redundant if the software
designer/developer has already run a test case.
• Ever wondered why a soothsayer closes the eyes when
foretelling events? So is almost the case in Black Box
Testing.
White Box Testing
WHITE BOX TESTING (also known as Clear Box Testing, Open Box
Testing, Glass Box Testing, Transparent Box Testing, Code-Based
Testing or Structural Testing) is a software testing method in
which the internal structure/design/implementation of the item
being tested is known to the tester. The tester chooses inputs to
exercise paths through the code and determines the appropriate
outputs. Programming know-how and the implementation
knowledge is essential. White box testing is testing beyond the
user interface and into the nitty-gritty of a system.
White Box Testing
This method is named so because the software program, in the
eyes of the tester, is like a white/transparent box; inside which
one clearly sees.
Definition by ISTQB
White-box testing: Testing based on an analysis of the internal
structure of the component or system.
White-box test design technique: Procedure to derive and/or
select test cases based on an analysis of the internal structure of
a component or system.

Recommended for you

Software testing
Software testingSoftware testing
Software testing

This document discusses software testing. It defines software testing as evaluating a system to determine if it meets requirements. It then discusses different types of testing like unit testing, integration testing, system testing, and acceptance testing. It also covers testing techniques like black box testing, which focuses on functionality without knowing internal design, and white box testing, which tests internal program structure. Finally, it discusses testing at different levels like unit, integration, system, and acceptance testing and the importance of regression testing when changes are made.

software testing
L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx

..

CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE DonatoCONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato

"Le potenzialità del Digital Twin per il settore Water"

White Box Testing
• White Box Testing method is applicable to the
following levels of software testing:
• Unit Testing: For testing paths within a unit.
• Integration Testing: For testing paths between units.
• System Testing: For testing paths between
subsystems.
Advantages
• Testing can be commenced at an earlier stage. One
need not wait for the GUI to be available.
• Testing is more thorough, with the possibility of
covering most paths.
Disadvantages
• Since tests can be very complex, highly skilled resources
are required, with a thorough knowledge of
programming and implementation.
• Test script maintenance can be a burden if the
implementation changes too frequently.
• Since this method of testing is closely tied to the
application being tested, tools to cater to every kind of
implementation/platform may not be readily available.
Grey Box Testing
Gray Box Testing is a technique to test the software
product or application with partial knowledge of the
internal workings of an application.
In this process, context-specific errors that are related
to web systems are commonly identified. It will
increase the testing coverage by concentrating on all of
the layers of any complex system.

Recommended for you

21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx

Notes of Construction management and entrepreneurship

construction management
Chlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptxChlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptx

Chlorine and Nitric acid

Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames

In the realm of Android development, the main thread is our stage, but too often, it becomes a battleground where performance issues arise, leading to ANRS, frozen frames, and sluggish Uls. As we strive for excellence in user experience, understanding and optimizing the main thread becomes essential to prevent these common perforrmance bottlenecks. We have strategies and best practices for keeping the main thread uncluttered. We'll examine the root causes of performance issues and techniques for monitoring and improving main thread health as wel as app performance. In this talk, participants will walk away with practical knowledge on enhancing app performance by mastering the main thread. We'll share proven approaches to eliminate real-life ANRS and frozen frames to build apps that deliver butter smooth experience.

androidperformance
Grey Box Testing
• Gray Box Testing is a software testing method, which is a
combination of both White Box Testing and Black Box
Testing method.
• In White Box testing internal structure (code) is known
• In Black Box testing internal structure (code) is unknown
• In Grey Box Testing internal structure (code) is partially
known
Grey Box Testing
In Software Engineering, Gray Box Testing gives the ability to test both
sides of an application, presentation layer as well as the code part. It
is primarily useful in Integration Testing and Penetration Testing.
Grey Box Testing
Gray Box Testing is performed for the following reason,
• It provides combined benefits of both black box testing and white
box testing both.
• It combines the input of developers as well as testers and improves
overall product quality.
• It reduces the overhead of long process of testing functional and
non-functional types.
• It gives enough free time for a developer to fix defects.
• Testing is done from the user point of view rather than a designer
point of view.
Grey Box Testing
To perform Gray box testing, it is not necessary that the tester has the
access to the source code. A test is designed based on the knowledge
of algorithm, architectures, internal states, or other high -level
descriptions of the program behavior.
To perform Gray box Testing-
• It applies a straightforward technique of black box testing
• It is based on requirement test case generation, as such, it presets
all the conditions before the program is tested by assertion method.

Recommended for you

Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...

This study aimed to profile the coffee shops in Talavera, Nueva Ecija, to develop a standardized checklist for aspiring entrepreneurs. The researchers surveyed 10 coffee shop owners in the municipality of Talavera. Through surveys, the researchers delved into the Owner's Demographic, Business details, Financial Requirements, and other requirements needed to consider starting up a coffee shop. Furthermore, through accurate analysis, the data obtained from the coffee shop owners are arranged to derive key insights. By analyzing this data, the study identifies best practices associated with start-up coffee shops’ profitability in Talavera. These findings were translated into a standardized checklist outlining essential procedures including the lists of equipment needed, financial requirements, and the Traditional and Social Media Marketing techniques. This standardized checklist served as a valuable tool for aspiring and existing coffee shop owners in Talavera, streamlining operations, ensuring consistency, and contributing to business success.

coffee shopcheckliststartup
Development of Chatbot Using AI/ML Technologies
Development of  Chatbot Using AI/ML TechnologiesDevelopment of  Chatbot Using AI/ML Technologies
Development of Chatbot Using AI/ML Technologies

The rapid advancements in artificial intelligence and natural language processing have significantly transformed human-computer interactions. This thesis presents the design, development, and evaluation of an intelligent chatbot capable of engaging in natural and meaningful conversations with users. The chatbot leverages state-of-the-art deep learning techniques, including transformer-based architectures, to understand and generate human-like responses. Key contributions of this research include the implementation of a context- aware conversational model that can maintain coherent dialogue over extended interactions. The chatbot's performance is evaluated through both automated metrics and user studies, demonstrating its effectiveness in various applications such as customer service, mental health support, and educational assistance. Additionally, ethical considerations and potential biases in chatbot responses are examined to ensure the responsible deployment of this technology. The findings of this thesis highlight the potential of intelligent chatbots to enhance user experience and provide valuable insights for future developments in conversational AI.

thesischatbotai/ml
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention

Cybersecurity breaches are a growing threat in today’s interconnected digital landscape, affecting individuals, businesses, and governments alike. These breaches compromise sensitive information and erode trust in online services and systems. Understanding the causes, consequences, and prevention strategies of cybersecurity breaches is crucial to protect against these pervasive risks. Cybersecurity breaches refer to unauthorized access, manipulation, or destruction of digital information or systems. They can occur through various means such as malware, phishing attacks, insider threats, and vulnerabilities in software or hardware. Once a breach happens, cybercriminals can exploit the compromised data for financial gain, espionage, or sabotage. Causes of breaches include software and hardware vulnerabilities, phishing attacks, insider threats, weak passwords, and a lack of security awareness. The consequences of cybersecurity breaches are severe. Financial loss is a significant impact, as organizations face theft of funds, legal fees, and repair costs. Breaches also damage reputations, leading to a loss of trust among customers, partners, and stakeholders. Regulatory penalties are another consequence, with hefty fines imposed for non-compliance with data protection regulations. Intellectual property theft undermines innovation and competitiveness, while disruptions of critical services like healthcare and utilities impact public safety and well-being.

cybersecurity breachesdata securityphishing attacks
Grey Box Testing
Techniques used for Grey box Testing are-
• Matrix Testing: This testing technique involves defining all the variables that exist
in their programs.
• Regression Testing: To check whether the change in the previous version has
regressed other aspects of the program in the new version. It will be done by
testing strategies like retest all, retest risky use cases, retest within a firewall.
• Orthogonal Array Testing or OAT: It provides maximum code coverage with
minimum test cases.
• Pattern Testing: This testing is performed on the historical data of the previous
system defects. Unlike black box testing, gray box testing digs within the code and
determines why the failure happened
Grey Box Testing
Steps to perform Grey box Testing are:
• Step 1: Identify inputs
• Step 2: Identify the outputs
• Step 3: Identify the major paths
• Step 4: Identify Subfunctions
• Step 5: Develop inputs for Subfunctions
• Step 6: Develop outputs for Subfunctions
• Step 7: Execute test case for Subfunctions
• Step 8: Verify the correct result for Subfunctions
• Step 9: Repeat steps 4 & 8 for other Subfunctions
• Step 10: Repeat steps 7 & 8 for other Subfunctions
Grey Box Testing
Gray Box Testing Challenges
• When a component under test encounter a failure of
some kind may lead to abortion of the ongoing
operation
• When test executes in full but the content of the
result is incorrect.
Advantages of Dynamic Testing
• Dynamic Testing can reveal the uncovered defects that
are considered to be too difficult or complicated and
which cannot be covered through static Analysis
• In Dynamic Testing, we execute the software, end to end,
ensuring error free software which in turn increases the
quality of a product and project.
• Dynamic Testing becomes an essential Tool for detecting
any security Threats

Recommended for you

Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire

In May 2024, globally renowned natural diamond crafting company Shree Ramkrishna Exports Pvt. Ltd. (SRK) became the first company in the world to achieve GNFZ’s final net zero certification for existing buildings, for its two two flagship crafting facilities SRK House and SRK Empire. Initially targeting 2030 to reach net zero, SRK joined forces with the Global Network for Zero (GNFZ) to accelerate its target to 2024 — a trailblazing achievement toward emissions elimination.

energybuildingconstruction
Conservation of Taksar through Economic Regeneration
Conservation of Taksar through Economic RegenerationConservation of Taksar through Economic Regeneration
Conservation of Taksar through Economic Regeneration

This was our 9th Sem Design Studio Project, introduced as Conservation of Taksar Bazar, Bhojpur, an ancient city famous for Taksar- Making Coins. Taksar Bazaar has a civilization of Newars shifted from Patan, with huge socio-economic and cultural significance having a settlement of about 300 years. But in the present scenario, Taksar Bazar has lost its charm and importance, due to various reasons like, migration, unemployment, shift of economic activities to Bhojpur and many more. The scenario was so pityful that when we went to make inventories, take survey and study the site, the people and the context, we barely found any youth of our age! Many houses were vacant, the earthquake devasted and ruined heritages. Conservation of those heritages, ancient marvels,a nd history was in dire need, so we proposed the Conservation of Taksar through economic regeneration because the lack of economy was the main reason for the people to leave the settlement and the reason for the overall declination.

architectureconservationregeneration
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe

For Ad post Contact : adityaroy0215@gmail.com Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe

Disadvantages of Dynamic Testing
• Dynamic Testing is Time Consuming because it executes
the application/software or code which requires huge
amount of Resources
• Dynamic Testing increases the cost of project/product
because it does not start early in the software lifecycle
and hence any issues fixed in later stages can result in an
increase of cost.
Conclusion
In Software Engineering, Verification and Validation are
two measures used to check that the software product
meets the requirements specifications. Static testing
involves verification whereas dynamic testing involves
validation. Together they help to deliver a cost effective
Quality Software.
Advantages of Software Validation
• During verification if some defects are missed then
during validation process it can be caught as failures.
• If during verification some specification is
misunderstood and development had happened then
during validation process while executing that
functionality the difference between the actual result
and expected result can be understood.
Advantages of Software Validation
• Validation is done during testing like feature testing,
integration testing, system testing, load testing,
compatibility testing, stress testing, etc.
• Validation helps in building the right product as per
the customer’s requirement and helps in satisfying
their needs.

Recommended for you

PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC

This is research about a process called field-oriented control (FOC) that is used to control the pmsm motor.

#pmsmfoc
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...

Pre-trained Large Language Models (LLM) have achieved remarkable successes in several domains. However, code-oriented LLMs are often heavy in computational complexity, and quadratically with the length of the input code sequence. Toward simplifying the input program of an LLM, the state-of-the-art approach has the strategies to filter the input code tokens based on the attention scores given by the LLM. The decision to simplify the input program should not rely on the attention patterns of an LLM, as these patterns are influenced by both the model architecture and the pre-training dataset. Since the model and dataset are part of the solution domain, not the problem domain where the input program belongs, the outcome may differ when the model is trained on a different dataset. We propose SlimCode, a model-agnostic code simplification solution for LLMs that depends on the nature of input code tokens. As an empirical study on the LLMs including CodeBERT, CodeT5, and GPT-4 for two main tasks: code search and summarization. We reported that 1) the reduction ratio of code has a linear-like relation with the saving ratio on training time, 2) the impact of categorized tokens on code simplification can vary significantly, 3) the impact of categorized tokens on code simplification is task-specific but model-agnostic, and 4) the above findings hold for the paradigm–prompt engineering and interactive in-context learning and this study can save reduce the cost of invoking GPT-4 by 24%per API query. Importantly, SlimCode simplifies the input code with its greedy strategy and can obtain at most 133 times faster than the state-of-the-art technique with a significant improvement. This paper calls for a new direction on code-based, model-agnostic code simplification solutions to further empower LLMs.

code simplification
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf

CSS chapter 1 notes

Difference b/w Verification & Validation
Verification Validation
The verifying process includes checking
documents, design, code, and program
It is a dynamic mechanism of testing
and validating the actual product
It does not involve executing the code It always involves executing the code
Verification uses methods like reviews,
walkthroughs, inspections, and desk-
checking etc.
It uses methods like Black Box
Testing, White Box Testing, and non-
functional testing
Difference b/w Verification & Validation
Verification Validation
Whether the software conforms to
specification is checked
It checks whether the software meets the
requirements and expectations of a
customer
It finds bugs early in the development
cycle
It can find bugs that the verification
process can not catch
Target is application and software
architecture, specification, complete
design, high level, and database design
etc.
Target is an actual product
Difference b/w Verification & Validation
Verification Validation
QA team does verification and make sure
that the software is as per the
requirement in the SRS document.
With the involvement of testing team
validation is executed on software code.
It comes before validation It comes after verification
Software Verification & Validation

Recommended for you

Exploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative ReviewExploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative Review

Image recognition, which comes under Artificial Intelligence (AI) is a critical aspect of computer vision, enabling computers or other computing devices to identify and categorize objects within images. Among numerous fields of life, food processing is an important area, in which image processing plays a vital role, both for producers and consumers. This study focuses on the binary classification of strawberries, where images are sorted into one of two categories. We Utilized a dataset of strawberry images for this study; we aim to determine the effectiveness of different models in identifying whether an image contains strawberries. This research has practical applications in fields such as agriculture and quality control. We compared various popular deep learning models, including MobileNetV2, Convolutional Neural Networks (CNN), and DenseNet121, for binary classification of strawberry images. The accuracy achieved by MobileNetV2 is 96.7%, CNN is 99.8%, and DenseNet121 is 93.6%. Through rigorous testing and analysis, our results demonstrate that CNN outperforms the other models in this task. In the future, the deep learning models can be evaluated on a richer and larger number of images (datasets) for better/improved results.

image recognitiondeep learning
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024

A brand new catalog for the 2024 edition of IWISS. We have enriched our product range and have more innovations in electrician tools, plumbing tools, wire rope tools and banding tools. Let's explore together!

iwissicrimpcable tool
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.docCCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc

CCS367-STORAGE TECHNOLOGIES QUESTION BANK

 
by Dss
ccs367-storage technologies qb

More Related Content

What's hot

manual-testing
manual-testingmanual-testing
manual-testing
Kanak Mane
 
STLC– software testing life cycle
STLC– software testing life cycleSTLC– software testing life cycle
STLC– software testing life cycle
subash kumar
 
Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1
Bhagyashree Dhakulkar
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Sachin-QA
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
Priyanka Karancy
 
Software Testing
Software TestingSoftware Testing
Software Testing
Inocentshuja Ahmad
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
Precise Testing Solution
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
Dinesh Pokhrel
 
Different type of_software_testing - copy
Different type of_software_testing - copyDifferent type of_software_testing - copy
Different type of_software_testing - copy
Yogita patil
 
Verifcation and Validation
Verifcation and ValidationVerifcation and Validation
Verifcation and Validation
SaggitariusArrow
 
Software Testing
Software TestingSoftware Testing
Software Testing
Kiran Kumar
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
Noha Gamal
 
Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validation
aliraza786
 
Software Testing
Software Testing Software Testing
Software Testing
sajedah abukhdeir
 
Software Verification and Validation
Software Verification and Validation Software Verification and Validation
Software Verification and Validation
University Of Education Lahore D.G Khan Campus
 
software testing technique
software testing techniquesoftware testing technique
software testing technique
Rana assad ali
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
pooja deshmukh
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
International Personal Finance Plc
 
Software Quality Assurance(Sqa) automated software testing
Software Quality Assurance(Sqa) automated software testingSoftware Quality Assurance(Sqa) automated software testing
Software Quality Assurance(Sqa) automated software testing
REHMAT ULLAH
 

What's hot (20)

manual-testing
manual-testingmanual-testing
manual-testing
 
STLC– software testing life cycle
STLC– software testing life cycleSTLC– software testing life cycle
STLC– software testing life cycle
 
Software Testing and Quality Assurance unit1
Software Testing and Quality Assurance  unit1Software Testing and Quality Assurance  unit1
Software Testing and Quality Assurance unit1
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Functional Testing
Functional TestingFunctional Testing
Functional Testing
 
Qa analyst training
Qa analyst training Qa analyst training
Qa analyst training
 
Different type of_software_testing - copy
Different type of_software_testing - copyDifferent type of_software_testing - copy
Different type of_software_testing - copy
 
Verifcation and Validation
Verifcation and ValidationVerifcation and Validation
Verifcation and Validation
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Fundamentals of software testing
Fundamentals of software testingFundamentals of software testing
Fundamentals of software testing
 
Tools for Software Verification and Validation
Tools for Software Verification and ValidationTools for Software Verification and Validation
Tools for Software Verification and Validation
 
Software Testing
Software Testing Software Testing
Software Testing
 
Software Verification and Validation
Software Verification and Validation Software Verification and Validation
Software Verification and Validation
 
software testing technique
software testing techniquesoftware testing technique
software testing technique
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2Testing Throughout the Software Life Cycle - Section 2
Testing Throughout the Software Life Cycle - Section 2
 
Software Quality Assurance(Sqa) automated software testing
Software Quality Assurance(Sqa) automated software testingSoftware Quality Assurance(Sqa) automated software testing
Software Quality Assurance(Sqa) automated software testing
 

Similar to Software verification & validation

Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
Sweta Kumari Barnwal
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning
 
Verification and Validation in Testing.pdf
Verification and Validation in Testing.pdfVerification and Validation in Testing.pdf
Verification and Validation in Testing.pdf
pCloudy
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
MuhammadTalha436
 
The Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life CycleThe Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life Cycle
IOSR Journals
 
Software testing sengu
Software testing  senguSoftware testing  sengu
Software testing sengu
Sengu Msc
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
acemindia
 
Software testing
Software testingSoftware testing
Software testing
Sengu Msc
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in Chandigarh
Kreativan Technologies
 
SDET UNIT 2.pptx
SDET UNIT 2.pptxSDET UNIT 2.pptx
SDET UNIT 2.pptx
Dr. Pallawi Bulakh
 
Exploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdfExploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdf
Polyxer Systems
 
Software Quality
Software Quality Software Quality
Software Quality
Danial Mirza
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
Trimantra Software Solutions
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basic
Rohit Singh
 
Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3
Raj vardhan
 
20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf
DSIVABALASELVAMANIMC
 
Best software testing course
Best software testing courseBest software testing course
Best software testing course
bestonlinecoursescoupon
 
Software testing
Software testingSoftware testing
Software testing
Madhumita Chatterjee
 
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx
AnantPatel9741
 
Software testing
Software testingSoftware testing
Software testing
MrsRBoomadeviIT
 

Similar to Software verification & validation (20)

Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Verification and Validation in Testing.pdf
Verification and Validation in Testing.pdfVerification and Validation in Testing.pdf
Verification and Validation in Testing.pdf
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
 
The Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life CycleThe Role of Verification and Validation in System Development Life Cycle
The Role of Verification and Validation in System Development Life Cycle
 
Software testing sengu
Software testing  senguSoftware testing  sengu
Software testing sengu
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in Chandigarh
 
SDET UNIT 2.pptx
SDET UNIT 2.pptxSDET UNIT 2.pptx
SDET UNIT 2.pptx
 
Exploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdfExploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdf
 
Software Quality
Software Quality Software Quality
Software Quality
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basic
 
Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3Software Testing Life Cycle Unit-3
Software Testing Life Cycle Unit-3
 
20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf20MCE14_Software Testing and Quality Assurance Notes.pdf
20MCE14_Software Testing and Quality Assurance Notes.pdf
 
Best software testing course
Best software testing courseBest software testing course
Best software testing course
 
Software testing
Software testingSoftware testing
Software testing
 
Software_Testing.pptx
Software_Testing.pptxSoftware_Testing.pptx
Software_Testing.pptx
 
Software testing
Software testingSoftware testing
Software testing
 

Recently uploaded

L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx
naseki5964
 
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE DonatoCONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
Servizi a rete
 
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
sanabts249
 
Chlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptxChlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptx
yadavsuyash008
 
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Sinan KOZAK
 
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
IJAEMSJORNAL
 
Development of Chatbot Using AI/ML Technologies
Development of  Chatbot Using AI/ML TechnologiesDevelopment of  Chatbot Using AI/ML Technologies
Development of Chatbot Using AI/ML Technologies
maisnampibarel
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Bert Blevins
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
Global Network for Zero
 
Conservation of Taksar through Economic Regeneration
Conservation of Taksar through Economic RegenerationConservation of Taksar through Economic Regeneration
Conservation of Taksar through Economic Regeneration
PriyankaKarn3
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
bookhotbebes1
 
PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
itssurajthakur06
 
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
YanKing2
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
sharvaridhokte
 
Exploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative ReviewExploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative Review
sipij
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
Iwiss Tools Co.,Ltd
 
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.docCCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
Dss
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
Tool and Die Tech
 
Lecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............pptLecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............ppt
RujanTimsina1
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
ProexportColombia1
 

Recently uploaded (20)

L-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptxL-3536-Cost Benifit Analysis in ESIA.pptx
L-3536-Cost Benifit Analysis in ESIA.pptx
 
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE DonatoCONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
CONVEGNO DA IRETI 18 giugno 2024 | PASQUALE Donato
 
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
21CV61- Module 3 (CONSTRUCTION MANAGEMENT AND ENTREPRENEURSHIP.pptx
 
Chlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptxChlorine and Nitric Acid application, properties, impacts.pptx
Chlorine and Nitric Acid application, properties, impacts.pptx
 
Unblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen FramesUnblocking The Main Thread - Solving ANRs and Frozen Frames
Unblocking The Main Thread - Solving ANRs and Frozen Frames
 
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...
 
Development of Chatbot Using AI/ML Technologies
Development of  Chatbot Using AI/ML TechnologiesDevelopment of  Chatbot Using AI/ML Technologies
Development of Chatbot Using AI/ML Technologies
 
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionUnderstanding Cybersecurity Breaches: Causes, Consequences, and Prevention
Understanding Cybersecurity Breaches: Causes, Consequences, and Prevention
 
Net Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK EmpireNet Zero Case Study: SRK House and SRK Empire
Net Zero Case Study: SRK House and SRK Empire
 
Conservation of Taksar through Economic Regeneration
Conservation of Taksar through Economic RegenerationConservation of Taksar through Economic Regeneration
Conservation of Taksar through Economic Regeneration
 
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model SafeBangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
Bangalore @ℂall @Girls ꧁❤ 0000000000 ❤꧂@ℂall @Girls Service Vip Top Model Safe
 
PMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOCPMSM-Motor-Control : A research about FOC
PMSM-Motor-Control : A research about FOC
 
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
Natural Is The Best: Model-Agnostic Code Simplification for Pre-trained Large...
 
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
22519 - Client-Side Scripting Language (CSS) chapter 1 notes .pdf
 
Exploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative ReviewExploring Deep Learning Models for Image Recognition: A Comparative Review
Exploring Deep Learning Models for Image Recognition: A Comparative Review
 
IWISS Catalog 2024
IWISS Catalog 2024IWISS Catalog 2024
IWISS Catalog 2024
 
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.docCCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
CCS367-STORAGE TECHNOLOGIES QUESTION BANK.doc
 
Vernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsxVernier Caliper and How to use Vernier Caliper.ppsx
Vernier Caliper and How to use Vernier Caliper.ppsx
 
Lecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............pptLecture 3 Biomass energy...............ppt
Lecture 3 Biomass energy...............ppt
 
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdfGUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
GUIA_LEGAL_CHAPTER_4_FOREIGN TRADE CUSTOMS.pdf
 

Software verification & validation

  • 1. Software Verification & Validation By Muhammad Anees Iqbal
  • 2. Introduction In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle.
  • 4. Software Verification Verification makes sure that the product is designed to deliver all functionality to the customer. The process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
  • 5. Software Verification 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.
  • 6. Software Verification Suppose you are building a table. Here the verification is about checking all the parts of the table, whether all the four legs are of correct size or not. If one leg of table is not of the right size it will imbalance the end product. Similar behavior is also noticed in case of the software product or application. If any feature of software product or application is not up to the mark or if any defect is found then it will result into the failure of the end product. Hence, verification is very important. It takes place at the starting of the development process.
  • 7. Software Verification It answers the questions like: Am I building the product right? Am I accessing the data right (in the right place; in the right way). It is a Low level activity Performed during development on key artifacts, like walkthroughs, reviews and inspections, mentor feedback, training, checklists and standards. Demonstration of consistency, completeness, and correctness of the software at each stage and between each stage of the development life cycle.
  • 8. Software Verification According to the Capability Maturity Model (CMM) we can also define verification as the process of evaluating software to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. [IEEE-STD-610].
  • 9. Software Verification Verification is a static practice of verifying documents, design, code and program. It includes all the activities associated with producing high quality software: inspection, design analysis and specification analysis. It is a relatively objective process. Verification will help to determine whether the software is of high quality, but it will not ensure that the system is useful. Verification is concerned with whether the system is well- engineered and error-free.
  • 10. Methods of Verification Static Testing Under Static Testing, code is not executed. Rather it manually checks the code, requirement documents, and design documents to find errors. Hence, the name "static".
  • 11. Methods of Verification Static verification is an analysis of computer code to ensure that standard coding practices have been adhered to without having to run the program. An analysis is performed on some versions of the source code and provides a way for programmers to debug new code and detect potential errors in compiled code.
  • 12. Methods of Verification Static verification is widely used in software for safety-critical computer systems. The key technologies used in static verification are static timing analysis and equivalence checking. Timing and functional verification in a static verification flow are separated and run in parallel. Static timing analysis provides timing checks, while equivalence checking verifies the functional equivalence of two versions of the same circuit as design scales through different transformations such as scan chain reordering, routing and placement.
  • 13. Methods of Verification The main objective of this testing is to improve the quality of software products by finding errors in the early stages of the development cycle. This testing is also called a Non-execution technique or verification testing.
  • 14. Methods of Verification Static testing involves manual or automated reviews of the documents. This review is done during an initial phase of testing to catch defect early in STLC. It examines work documents and provides review comments
  • 15. Methods of Verification Examples of Work documents- • Requirement specifications • Design document • Source Code • Test Plans • Test Cases • Test Scripts • Help or User document • Web Page content
  • 16. Static Verification Techniques Informal Reviews This is one of the type of review which doesn't follow any process to find errors in the document. Under this technique, you just review the document and give informal comments on it.
  • 17. Static Verification Techniques Technical Reviews A team consisting of your peers, review the technical specification of the software product and checks whether it is suitable for the project. They try to find any discrepancies in the specifications and standards followed. This review concentrates mainly on the technical documentation related to the software such as Test Strategy, Test Plan and requirement specification documents.
  • 18. Static Verification Techniques Walkthrough The author of the work product explains the product to his team. Participants can ask questions if any. A meeting is led by the author. Scribe makes note of review comments.
  • 19. Static Verification Techniques Inspection The main purpose is to find defects and meeting is led by a trained moderator. This review is a formal type of review where it follows a strict process to find the defects. Reviewers have a checklist to review the work products. They record the defect and inform the participants to rectify those errors.
  • 20. Static Verification Techniques Static code Review This is a systematic review of the software source code without executing the code. It checks the syntax of the code, coding standards, code optimization, etc. This is also termed as white box testing. This review can be done at any point during development.
  • 21. Advantages of Software Verification • Verification helps in lowering down the count of the defect in the later stages of development. • Verifying the product at the starting phase of the development will help in understanding the product in a better way. • It reduces the chances of failures in the software application or product. • It helps in building the product as per the customer specifications and needs.
  • 22. Software Validation Validation is 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. The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements.
  • 23. Software Validation Validation is the process of evaluating the final product to check whether the software meets the customer expectations and requirements. It is a dynamic mechanism of validating and testing the actual product.
  • 24. Software Validation Validation is done at the end of the development process and takes place after Verifications are completed. It answers the question like: Am I building the right product? Am I accessing the right data (in terms of the data required to satisfy the requirement). It is a High level activity. Performed after a work product is produced against established criteria ensuring that the product integrates correctly into the environment. Determination of correctness of the final software product by a development project with respect to the user needs and requirements.
  • 25. Software Validation According to the Capability Maturity Model (CMM) we can also define validation as The process of evaluating software during or at the end of the development process to determine whether it satisfies specified requirements. [IEEE-STD-610].
  • 26. Software Validation A product can pass while verification, as it is done on the paper and no running or functional application is required. But, when same points which were verified on the paper is actually developed then the running application or product can fail while validation. This may happen because when a product or application is build as per the specification but these specifications are not up to the mark hence they fail to address the user requirements.
  • 27. Software Validation Validation is basically done by the testers during the testing. While validating the product if some deviation is found in the actual result from the expected result then a bug is reported or an incident is raised. Not all incidents are bugs. But all bugs are incidents. Incidents can also be of type ‘Question’ where the functionality is not clear to the tester.
  • 28. Software Validation Hence, validation helps in unfolding the exact functionality of the features and helps the testers to understand the product in much better way. It helps in making the product more user friendly.
  • 29. Methods of Validation Dynamic Testing Dynamic Testing is defined as a software testing type, which checks the dynamic behavior of the code is analyzed. Dynamic testing is a process of validating software applications as an end user under different environments to build the right software.
  • 30. Methods of Validation Dynamic testing is when you are working with the actual system by providing an input and comparing the actual behavior of the application to the expected behavior. In other words, working with the system with the intent of finding errors.
  • 31. Methods of Validation • The main aim of the Dynamic tests is to ensure that software works properly during and after the installation of the software ensuring a stable application without any major flaws( this statement is made because no software is error free, testing only can show presence of defects and not absence) • The main purpose of the dynamic test is to ensure consistency to the software.
  • 32. Methods of Validation • In a Banking Application, we find different screens like My Accounts Section, Funds Transfer, Bill Pay, etc.. All these screens contain amount field which accepts some characters. • Let's say My Accounts field displays amount as 25,000 and Funds Transfer as $25,000 and Bill pay screen as $25000 though the amount is the same, the way amount is displayed is not the same hence making the software non-consistent.
  • 33. Methods of Validation Consistency is not only limited to the functionality it also refers to different standards like performance, usability, compatibility etc. hence it becomes very important to perform Dynamic Testing.
  • 34. Dynamic Testing Techniques STLC is a process which consists of different tasks like Requirements Analysis, Test Planning, Test Case Design, Environment setup, Test Execution, and Test Closure. In STLC we can say that Dynamic Testing Process starts from Test Case Design
  • 36. Dynamic Testing Techniques Test Strategy should mainly focus on the resources available and the timeframe. Based on these factors, the objective of the testing, the scope of testing, phases or cycles of testing, type of environment, assumptions or challenges that might be faced, risks, etc. has to be documented. Once the strategy is defined and is accepted by the management then the actual process test case design starts.
  • 37. Methods of Validation Test design and Implementation • Features to be tested • Derive the Test Conditions • Derive the coverage Items • Derive the Test Cases
  • 38. Types of Dynamic Testing Dynamic Testing is classified into two categories • White Box Testing • Black Box Testing Another Category includes in some cases known as • Grey Box Testing
  • 39. Types of Dynamic Testing
  • 40. Black Box Testing Black box testing is defined as a testing technique in which functionality of the Application Under Test (AUT) 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.
  • 41. Black Box Testing In Blackbox Testing we just focus on inputs and output of the software system without bothering about internal knowledge of the software program.
  • 42. Black Box Testing Here are the generic steps followed to carry out any type of Black Box Testing. • Initially, the requirements and specifications of the system are examined. • Tester chooses valid inputs (positive test scenario) to check whether SUT processes them correctly. Also, some invalid inputs (negative test scenario) are chosen to verify that the SUT is able to detect them.
  • 43. Black Box Testing • Tester determines expected outputs for all those inputs. • Software tester constructs test cases with the selected inputs. • The test cases are executed. • Software tester compares the actual outputs with the expected outputs. • Defects if any are fixed and re-tested.
  • 44. Black Box Testing Definition by ISTQB (International Software Testing Qualifications Board) Black box testing: Testing, either functional or non-functional, without reference to the internal structure of the component or system. Black box test design technique: Procedure to derive and/or select test cases based on an analysis of the specification, either functional or non-functional, of a component or system without reference to its internal structure.
  • 45. Types of Black Box Testing • Functional testing - This black box testing type is related to the functional requirements of a system; it is done by software testers. • Non-functional testing - This type of black box testing is not related to testing of specific functionality, but non-functional requirements such as performance, scalability, usability. • Regression testing - Regression testing is done after code fixes, upgrades or any other system maintenance to check the new code has not affected the existing code.
  • 46. Black Box Testing Techniques • Equivalence Class Testing: It is used to minimize the number of possible test cases to an optimum level while maintains reasonable test coverage. • Boundary Value Testing: Boundary value testing is focused on the values at boundaries. This technique determines whether a certain range of values are acceptable by the system or not. It is very useful in reducing the number of test cases. It is most suitable for the systems where an input is within certain ranges. • Decision Table Testing: A decision table puts causes and their effects in a matrix. There is a unique combination in each column.
  • 47. Black Box Testing Model Black box testing has its own life cycle called Software Testing Life Cycle (STLC) and it is relative to every stage of Software Development Life Cycle of Software Engineering. • Requirement - This is the initial stage of SDLC and in this stage, a requirement is gathered. Software testers also take part in this stage.
  • 48. Black Box Testing Model • Test Planning & Analysis - Testing Types applicable to the project are determined. A Test Plan is created which determines possible project risks and their mitigation. • Design - In this stage Test cases/scripts are created on the basis of software requirement documents • Test Execution- In this stage Test Cases prepared are executed. Bugs if any are fixed and re-tested.
  • 49. Advantages • Tests are done from a user’s point of view and will help in exposing discrepancies in the specifications. • Tester need not know programming languages or how the software has been implemented. • Tests can be conducted by a body independent from the developers, allowing for an objective perspective and the avoidance of developer-bias. • Test cases can be designed as soon as the specifications are complete.
  • 50. Disadvantages • Only a small number of possible inputs can be tested and many program paths will be left untested. • Without clear specifications, which is the situation in many projects, test cases will be difficult to design. • Tests can be redundant if the software designer/developer has already run a test case. • Ever wondered why a soothsayer closes the eyes when foretelling events? So is almost the case in Black Box Testing.
  • 51. White Box Testing WHITE BOX TESTING (also known as Clear Box Testing, Open Box Testing, Glass Box Testing, Transparent Box Testing, Code-Based Testing or Structural Testing) is a software testing method in which the internal structure/design/implementation of the item being tested is known to the tester. The tester chooses inputs to exercise paths through the code and determines the appropriate outputs. Programming know-how and the implementation knowledge is essential. White box testing is testing beyond the user interface and into the nitty-gritty of a system.
  • 52. White Box Testing This method is named so because the software program, in the eyes of the tester, is like a white/transparent box; inside which one clearly sees. Definition by ISTQB White-box testing: Testing based on an analysis of the internal structure of the component or system. White-box test design technique: Procedure to derive and/or select test cases based on an analysis of the internal structure of a component or system.
  • 53. White Box Testing • White Box Testing method is applicable to the following levels of software testing: • Unit Testing: For testing paths within a unit. • Integration Testing: For testing paths between units. • System Testing: For testing paths between subsystems.
  • 54. Advantages • Testing can be commenced at an earlier stage. One need not wait for the GUI to be available. • Testing is more thorough, with the possibility of covering most paths.
  • 55. Disadvantages • Since tests can be very complex, highly skilled resources are required, with a thorough knowledge of programming and implementation. • Test script maintenance can be a burden if the implementation changes too frequently. • Since this method of testing is closely tied to the application being tested, tools to cater to every kind of implementation/platform may not be readily available.
  • 56. Grey Box Testing Gray Box Testing is a technique to test the software product or application with partial knowledge of the internal workings of an application. In this process, context-specific errors that are related to web systems are commonly identified. It will increase the testing coverage by concentrating on all of the layers of any complex system.
  • 57. Grey Box Testing • Gray Box Testing is a software testing method, which is a combination of both White Box Testing and Black Box Testing method. • In White Box testing internal structure (code) is known • In Black Box testing internal structure (code) is unknown • In Grey Box Testing internal structure (code) is partially known
  • 58. Grey Box Testing In Software Engineering, Gray Box Testing gives the ability to test both sides of an application, presentation layer as well as the code part. It is primarily useful in Integration Testing and Penetration Testing.
  • 59. Grey Box Testing Gray Box Testing is performed for the following reason, • It provides combined benefits of both black box testing and white box testing both. • It combines the input of developers as well as testers and improves overall product quality. • It reduces the overhead of long process of testing functional and non-functional types. • It gives enough free time for a developer to fix defects. • Testing is done from the user point of view rather than a designer point of view.
  • 60. Grey Box Testing To perform Gray box testing, it is not necessary that the tester has the access to the source code. A test is designed based on the knowledge of algorithm, architectures, internal states, or other high -level descriptions of the program behavior. To perform Gray box Testing- • It applies a straightforward technique of black box testing • It is based on requirement test case generation, as such, it presets all the conditions before the program is tested by assertion method.
  • 61. Grey Box Testing Techniques used for Grey box Testing are- • Matrix Testing: This testing technique involves defining all the variables that exist in their programs. • Regression Testing: To check whether the change in the previous version has regressed other aspects of the program in the new version. It will be done by testing strategies like retest all, retest risky use cases, retest within a firewall. • Orthogonal Array Testing or OAT: It provides maximum code coverage with minimum test cases. • Pattern Testing: This testing is performed on the historical data of the previous system defects. Unlike black box testing, gray box testing digs within the code and determines why the failure happened
  • 62. Grey Box Testing Steps to perform Grey box Testing are: • Step 1: Identify inputs • Step 2: Identify the outputs • Step 3: Identify the major paths • Step 4: Identify Subfunctions • Step 5: Develop inputs for Subfunctions • Step 6: Develop outputs for Subfunctions • Step 7: Execute test case for Subfunctions • Step 8: Verify the correct result for Subfunctions • Step 9: Repeat steps 4 & 8 for other Subfunctions • Step 10: Repeat steps 7 & 8 for other Subfunctions
  • 63. Grey Box Testing Gray Box Testing Challenges • When a component under test encounter a failure of some kind may lead to abortion of the ongoing operation • When test executes in full but the content of the result is incorrect.
  • 64. Advantages of Dynamic Testing • Dynamic Testing can reveal the uncovered defects that are considered to be too difficult or complicated and which cannot be covered through static Analysis • In Dynamic Testing, we execute the software, end to end, ensuring error free software which in turn increases the quality of a product and project. • Dynamic Testing becomes an essential Tool for detecting any security Threats
  • 65. Disadvantages of Dynamic Testing • Dynamic Testing is Time Consuming because it executes the application/software or code which requires huge amount of Resources • Dynamic Testing increases the cost of project/product because it does not start early in the software lifecycle and hence any issues fixed in later stages can result in an increase of cost.
  • 66. Conclusion In Software Engineering, Verification and Validation are two measures used to check that the software product meets the requirements specifications. Static testing involves verification whereas dynamic testing involves validation. Together they help to deliver a cost effective Quality Software.
  • 67. Advantages of Software Validation • During verification if some defects are missed then during validation process it can be caught as failures. • If during verification some specification is misunderstood and development had happened then during validation process while executing that functionality the difference between the actual result and expected result can be understood.
  • 68. Advantages of Software Validation • Validation is done during testing like feature testing, integration testing, system testing, load testing, compatibility testing, stress testing, etc. • Validation helps in building the right product as per the customer’s requirement and helps in satisfying their needs.
  • 69. Difference b/w Verification & Validation Verification Validation The verifying process includes checking documents, design, code, and program It is a dynamic mechanism of testing and validating the actual product It does not involve executing the code It always involves executing the code Verification uses methods like reviews, walkthroughs, inspections, and desk- checking etc. It uses methods like Black Box Testing, White Box Testing, and non- functional testing
  • 70. Difference b/w Verification & Validation Verification Validation Whether the software conforms to specification is checked It checks whether the software meets the requirements and expectations of a customer It finds bugs early in the development cycle It can find bugs that the verification process can not catch Target is application and software architecture, specification, complete design, high level, and database design etc. Target is an actual product
  • 71. Difference b/w Verification & Validation Verification Validation QA team does verification and make sure that the software is as per the requirement in the SRS document. With the involvement of testing team validation is executed on software code. It comes before validation It comes after verification