Upload
sanjayjadhav8789
View
658
Download
2
Tags:
Embed Size (px)
DESCRIPTION
MindScripts Technologies is the authorized Softwrae Testing Training institutes in Pune, providing a complete softwrae testing certification course with ISTQB certification. It provides a IBM Certified courses.
Citation preview
Verification and Verification and Validation TestingValidation Testing
11
22
Requirements
Functional Specifications
Requirements review
CodeReview
Functional Specs Review
Design ReviewDesign
Code
Build Software
BuildSystem
Release for use
Unit Testing
Integration Testing
SystemTesting
Acceptance Testing
Verification and ValidationVerification and Validation
Verification and ValidationVerification and Validation
33
What is VV Model?
This Model is called a Verification and Validation Model.VV model is the classic software development model and testing model. For each phase, the subsequent phase becomes the verification (QA) phase and the corresponding testing phase in the other arm of the V becomes the validating (QC) phase.Testing of the product is planned in parallel with a corresponding phase of development
VerificationVerification
Verification also known as quality Verification also known as quality assurance.assurance.
Verification typically involves reviews Verification typically involves reviews and meetings to evaluate documents, and meetings to evaluate documents, plans, code, requirements and plans, code, requirements and specifications.specifications.
It determines of consistency, It determines of consistency, correctness and completeness of correctness and completeness of Program at each stageProgram at each stage
Verification checks whether we are Verification checks whether we are building the product right.building the product right. 44
VerificationVerification
Disciplined approach to evaluate Disciplined approach to evaluate whether a software product fulfills the whether a software product fulfills the requirements or conditions imposed requirements or conditions imposed on them.on them.
Are we doing the job right?Are we doing the job right? Also called as static testing.Also called as static testing. Done by systematically reading the Done by systematically reading the
contents of a software product with contents of a software product with the intention of detecting defects.the intention of detecting defects.
Helps in identifying not only the Helps in identifying not only the defects but also their locationdefects but also their location
55
Types of VerificationTypes of Verification
Walkthrough Walkthrough – A step-by-step presentation by the – A step-by-step presentation by the author of the document in order to gather information author of the document in order to gather information and to establish a common understanding of its and to establish a common understanding of its content.content.
Inspection Inspection – A type of peer review that relies on – A type of peer review that relies on visual examination of documents to detect defects. visual examination of documents to detect defects. This is the most formal review technique and This is the most formal review technique and therefore always based on a documented procedure.therefore always based on a documented procedure.
Technical Review Technical Review – An evaluation of a product or – An evaluation of a product or project status to ascertain discrepancies from planned project status to ascertain discrepancies from planned results and to recommend improvements.results and to recommend improvements.
Audits:Audits: Internal: Internal: Done by the organizationDone by the organization External: External: Done by people external to the Done by people external to the
organization to check the standards and procedures organization to check the standards and procedures of projectof project
66
WalkthroughWalkthrough
Meeting led by authorMeeting led by author Open-ended sessionsOpen-ended sessions To explain (knowledge transfer) and To explain (knowledge transfer) and
evaluate the contents of the documentevaluate the contents of the document To establish a common understanding of the To establish a common understanding of the
documentdocument The meeting is led by the authors; often a The meeting is led by the authors; often a
separate scribe is presentseparate scribe is present A walkthrough is especially useful for higher-A walkthrough is especially useful for higher-
level documents, such as requirement level documents, such as requirement specifications and architectural documents.specifications and architectural documents. 77
InspectionInspection
Led by trained moderator (not the author)Led by trained moderator (not the author) help the author to improve the quality of the help the author to improve the quality of the
document under inspectiondocument under inspection Formal process based on rules and Formal process based on rules and
checklistschecklists Remove defects efficiently, as early as Remove defects efficiently, as early as
possiblepossible Pre-meeting preparationPre-meeting preparation Improve product quality, by producing Improve product quality, by producing
documents with a higher level of qualitydocuments with a higher level of quality Formal follow-up processFormal follow-up process learn from defects found and improve learn from defects found and improve
processes in order to prevent similar defectsprocesses in order to prevent similar defects
88
Technical ReviewTechnical Review
It is often performed as a peer review It is often performed as a peer review without management participationwithout management participation
Ideally it is led by a trained moderator, Ideally it is led by a trained moderator, but possibly also by a technical expert.but possibly also by a technical expert.
A separate preparation is carried out A separate preparation is carried out during which the product is examined during which the product is examined and the defects are found.and the defects are found.
99
Benefits of VerificationBenefits of Verification
Include early defect detection and Include early defect detection and correction correction
Development productivity Development productivity improvements improvements
Reduced development timescales Reduced development timescales Reduced testing time and costReduced testing time and costFewer defects and improved Fewer defects and improved
communicationcommunication
ValidationValidation
Validation typically involves actual Validation typically involves actual testing and takes place after the testing and takes place after the verifications are complete.verifications are complete.
Validation determines the Validation determines the correctness of a final build with correctness of a final build with respect to its requirements.respect to its requirements.
Validation checks whether we are Validation checks whether we are building the right product.building the right product.
1111
ValidationValidation
Disciplined approach to evaluate whether the Disciplined approach to evaluate whether the final, as built software product fulfills its final, as built software product fulfills its specific intended usespecific intended use
Are we doing the right job?Are we doing the right job? Also called as dynamic testing.Also called as dynamic testing. Done by systematically testing a software Done by systematically testing a software
product with the intention of finding defects.product with the intention of finding defects. Helps in identifying presence of the defects, Helps in identifying presence of the defects,
not their locationnot their location
1212
Levels Of TestingLevels Of Testing
1313
Unit Testing Unit Testing
Integration Testing Integration Testing
System Testing System Testing
User Acceptance Testing User Acceptance Testing
UnitUnit TestingTesting
Unit - smallest testable piece of software.Unit - smallest testable piece of software. Unit testing is process of testing the smallest/ Unit testing is process of testing the smallest/
individual component of program.individual component of program. Unit test is a procedure used to validate that Unit test is a procedure used to validate that
individual unit of source code is working individual unit of source code is working properly.properly.
Before entering into the unit testing it should Before entering into the unit testing it should be gone through code review.be gone through code review.
Tests the functionality of units.Tests the functionality of units. Typically done by the developers and not by Typically done by the developers and not by
testers.testers. It is typically used to verify control flow, data It is typically used to verify control flow, data
flow and memory leak problems.flow and memory leak problems.1414
IntegrationIntegration TestingTesting
Integration is a process of combining and testing Integration is a process of combining and testing multiple components together.multiple components together.
Starts at module level when various modules are Starts at module level when various modules are integrated with each other to form a system integrated with each other to form a system
Considered interfaces on systemConsidered interfaces on system Focuses on design and construction of software Focuses on design and construction of software
architecturearchitecture Approaches:Approaches:
• Bottom UpBottom Up• Top DownTop Down• Critical Part FirstCritical Part First• Big Bang approachBig Bang approach
1515
What isWhat is BottomBottom UpUp ApproachApproach
Process of testing the very lowest Process of testing the very lowest layers of software first is called the layers of software first is called the bottom up approach. bottom up approach.
Program is tested from bottom to the Program is tested from bottom to the top.top.
In this approach, programmers use a In this approach, programmers use a temporary program instead of main temporary program instead of main program, which is under construction. program, which is under construction.
The temporary program is called The temporary program is called ““DriverDriver” or “” or “Calling Program”Calling Program”.. 1616
BottomBottom UpUp ApproachApproach
1717
* In this approach first Child Modules are developed.* After that parent modules are developed* Then interconnect Child Modules with Parent Modules.* In the interconnection Process if there is any main module is under construction then the developers create temporary program that is called “Driver”.
WhatWhat isis TopTop DownDown approachapproach Process of testing the top most layers Process of testing the top most layers
of software first is called the Top-Down of software first is called the Top-Down Approach. Approach.
Programmers use temporary programs Programmers use temporary programs calledcalled ““stubs” stubs” instead of sub-instead of sub-programs, which are under programs, which are under construction. construction.
The other name for stubs is The other name for stubs is ““Called Called ProgramsPrograms””. .
A stub returns the control to the main A stub returns the control to the main program.”program.” 1818
TopTop downdown approachapproach
1919
*In this Approach first Parent Modules are developed.* After that Child Modules are developed* Then interconnect Parent & Child Modules.* In the interconnection process is there any the sub-module is under constructionthen the developers create temporary program Instead of sub modules that iscalled “Stub”.
2020
DifferenceDifference BetweenBetween STUBSTUB & DRIVERDRIVER:
HybridHybrid ApproachApproach ( CriticalCritical PathPath FirstFirst)
Also known as Also known as “Sandwich “Sandwich approach”approach”, this is a combination , this is a combination of the Top-Down Approach & of the Top-Down Approach & Bottom-Up Approach process.Bottom-Up Approach process.
Both Top-Down & Bottom-Up Both Top-Down & Bottom-Up started simultaneously and started simultaneously and testing is built up from both sides.testing is built up from both sides.
It needs big team.It needs big team.2121
HybridHybrid approachapproach
2222
Big-BangBig-Bang ApproachApproach
It is also known as It is also known as “System “System Approach”Approach”. .
Big bang approach is the simplest Big bang approach is the simplest integration testing approach:integration testing approach:– All the modules are simply put All the modules are simply put
together and tested. together and tested. – This technique is used only for very This technique is used only for very
small systems. small systems.
2323
Big-BangBig-Bang ApproachApproach IssuesIssues
Main issues with this approach: Main issues with this approach: – Errors might be detected very late in Errors might be detected very late in
the life-cycle of the project.the life-cycle of the project.– If an error is found: If an error is found:
it is very difficult to localize the errorit is very difficult to localize the errorthe error may potentially belong to any the error may potentially belong to any
of the modules being integrated. of the modules being integrated.
– Debugging errors found during big Debugging errors found during big bang integration testing are very bang integration testing are very expensive to fix.expensive to fix. 2424
BuildBuild
An executable file of application An executable file of application which is released from which is released from development teamdevelopment team
An integrated application with all An integrated application with all modules released by the modules released by the development team is called as a development team is called as a build.build.
2525
2626
Types Of System TestingTypes Of System Testing
Usability Testing
Functional Testing
Non Functional Testing
Manual Support Testing
Functionality Testing
Sanity Testing
GUI/Behavioural CoverageError Handling Coverage
Input Domain Coverage
Manipulation Coverage
Order Of Functionality
Back End Coverage
Recovery Testing
Compatibility Testing
Configuration Testing
Installation Testing
Performance Testing
Load Testing
Stress Testing
Data Volume Testing
Parallel Testing
Security Testing
Inter System Testing
Localization Testing
Internationalization
User Interface Testing
Smoke TestingSmoke Testing
SystemSystem TestingTesting
System testing is the testing of a finally System testing is the testing of a finally integrated product for compliance integrated product for compliance against user requirements.against user requirements.
After development of all required After development of all required modules, the development team modules, the development team releases a software build to be tested on releases a software build to be tested on the System Testing Environment.the System Testing Environment.
System testing is classified into 3 levels System testing is classified into 3 levels asas
Usability TestingUsability Testing Functional Testing (Black Box Testing Functional Testing (Black Box Testing
Techniques)Techniques) Non Functional TestingNon Functional Testing
2727
UsabilityUsability TestingTesting
Also called as accessibility testingAlso called as accessibility testing To check the ease of use for the userTo check the ease of use for the user And how easy is to understand the And how easy is to understand the
application and process execution for application and process execution for the userthe user
This Usability testing consists of two This Usability testing consists of two Sub-Techniques:Sub-Techniques:
a) User – Interface Testinga) User – Interface Testingb) Manual Support Testingb) Manual Support Testing
2828
2929
UserUser InterfaceInterface testingtesting
FunctionalFunctional TestingTesting
Testing team concentrates on Testing team concentrates on customer requirements in terms of customer requirements in terms of functionality.functionality.
Concentrating on requirements Concentrating on requirements correctness and completeness.correctness and completeness.
This testing is classified into 2 sub This testing is classified into 2 sub tests as follows:tests as follows:– Functionality TestingFunctionality Testing– Sanity testingSanity testing– Smoke testingSmoke testing 3030
FunctionalityFunctionality testingtesting
Also called as Requirement Also called as Requirement Testing.Testing.
Concentrates on correctness of Concentrates on correctness of every functionality with respect to every functionality with respect to requirements.requirements.
Process of verifying whether Process of verifying whether product meets its design and product meets its design and functional specificationsfunctional specifications
3131
Functionality TestingFunctionality Testing
Validating the correctness of every Validating the correctness of every functionality through below coverage’s:functionality through below coverage’s:
GUI coverage or Behavioral coverage GUI coverage or Behavioral coverage (valid changes in properties of objects and (valid changes in properties of objects and windows in our application build).windows in our application build).
Error handling coverage Error handling coverage (the prevention of (the prevention of wrong operations with meaningful error wrong operations with meaningful error messages like displaying a message before messages like displaying a message before closing a file without saving it).closing a file without saving it).
Input Domain coverage Input Domain coverage (the validity of i/p (the validity of i/p values in terms of size and type like while values in terms of size and type like while giving alphabets to age field).giving alphabets to age field).
3232
Functionality TestingFunctionality Testing
Manipulations coverage Manipulations coverage (the (the correctness of o/p or outcomes).correctness of o/p or outcomes).
Order of functionalities Order of functionalities (the (the existence of functionality w.r.t. existence of functionality w.r.t. customer requirements).customer requirements).
Back end coverage Back end coverage (the impact of (the impact of front end’s screen operation on back front end’s screen operation on back end’s table content in corresponding end’s table content in corresponding functionality).functionality).
3333
SmokeSmoke TestingTesting
Also called as Basic functional Also called as Basic functional testing.testing.
Checking the testability of the Checking the testability of the software.software.
Shallow and wide approach of Shallow and wide approach of testing.testing.
Each major function of the Each major function of the software is tested without software is tested without bothering finer details.bothering finer details. 3434
SanitySanity TestingTesting
Also called as Narrow regression Also called as Narrow regression testing.testing.
Checking the behavior of the Checking the behavior of the software.software.
Narrow and depth approach of Narrow and depth approach of testing.testing.
One or few parts of the system is One or few parts of the system is tested without going into depth.tested without going into depth.
3535
Non-FunctionalityNon-Functionality TestingTesting
Testing team concentrates on Testing team concentrates on characteristics of S/W. characteristics of S/W. • Recovery TestingRecovery Testing• Compatibility TestingCompatibility Testing• Configuration TestingConfiguration Testing• Inter system TestingInter system Testing• Installation TestingInstallation Testing• Performance TestingPerformance Testing• Load TestingLoad Testing• Stress TestingStress Testing• Data Volume TestingData Volume Testing• Parallel TestingParallel Testing• Security testingSecurity testing
3636
InstallationInstallation TestingTesting
Checks the installing and Checks the installing and uninstalling of the s/w in uninstalling of the s/w in customer site.customer site.
3737
PerformancePerformance TestingTesting
Checks the response time of Checks the response time of application.application.
Performance means that speed of Performance means that speed of the processing.the processing.
3838
Load TestingLoad Testing
Also called as scalability testingAlso called as scalability testing Tests the performance of an application on Tests the performance of an application on
loading the system with max users at same loading the system with max users at same time. Ex: websites, yahoo—G-mail.time. Ex: websites, yahoo—G-mail.
Load or Scale means that the number of Load or Scale means that the number of concurrent users (at the same time) who are concurrent users (at the same time) who are operating a s/w. operating a s/w.
The execution of our s/w build under The execution of our s/w build under customer expected configuration and customer expected configuration and customer expected load to estimate the customer expected load to estimate the performance is LOAD TESTING. (Inputs are performance is LOAD TESTING. (Inputs are customer expected configuration and output customer expected configuration and output is performanceis performance).).
3939
Stress TestingStress Testing
The execution of our s/w build The execution of our s/w build under customer expected under customer expected configuration and various load configuration and various load levels to estimate Stability or levels to estimate Stability or continuity is called Stress Testing.continuity is called Stress Testing.
Checks how the system can Checks how the system can behave under extremes such as behave under extremes such as insufficient memory, inadequate insufficient memory, inadequate hardware etc.hardware etc. 4040
VolumeVolume TestingTesting
It’s also known as storage testing or It’s also known as storage testing or memory testing. memory testing.
Find weaknesses in the system with Find weaknesses in the system with respect to its handling of large respect to its handling of large amounts of data during short time amounts of data during short time periods. periods.
For example, this kind of testing For example, this kind of testing ensures that the system will process ensures that the system will process data across physical and logical data across physical and logical boundaries such as across servers and boundaries such as across servers and across disk partitions on one server.across disk partitions on one server.
4141
ParallelParallel testingtesting
It is also known as comparative or It is also known as comparative or competitive testing.competitive testing.
Comparison of two different Comparison of two different systems. (old version vs. new systems. (old version vs. new version)version)
Compares with the competitive Compares with the competitive software in market to estimate software in market to estimate competitiveness.competitiveness.
Applicable to S/W product only.Applicable to S/W product only.4242
SecuritySecurity TestingTesting
It is also known as Penetration testing.It is also known as Penetration testing. During this the testing team is During this the testing team is
validating for:validating for:– Authorization: Authorization: Access to the valid Access to the valid
user and Deny to the invalid users user and Deny to the invalid users – Access control: Access control: Giving access Giving access
permissions to the valid users to use permissions to the valid users to use specific services like features or specific services like features or functionalities in s/w.functionalities in s/w.
– Encryption or Decryption: Encryption or Decryption: Deny to Deny to third party access to enter into the third party access to enter into the system. Code conversion is in between system. Code conversion is in between client process and server process.client process and server process.
4343
AvailabilityAvailability TestingTesting
Availability testing is running an Availability testing is running an application for a planned period, and application for a planned period, and collecting failure events with repair collecting failure events with repair times. times.
It is conducted to check both reliability It is conducted to check both reliability (finding defects and reducing the (finding defects and reducing the number of failures) and availability number of failures) and availability (measuring and minimizing the actual (measuring and minimizing the actual repair time) of an application.repair time) of an application.
4444
InternationalizationInternationalization TestingTesting
Checks the compatibility of an application to Checks the compatibility of an application to all possible languages.all possible languages.
Internationalization is the process of Internationalization is the process of designing a software application so that it designing a software application so that it can be adapted to various languages and can be adapted to various languages and regions without engineering changes. regions without engineering changes.
Globalization testing is the testing technique Globalization testing is the testing technique that ensures compatibility of an application that ensures compatibility of an application to all possible languagesto all possible languages
4545
LocalizationLocalization TestingTesting
Localization is the process of adapting Localization is the process of adapting a globalized application to a particular a globalized application to a particular culture/locale.culture/locale.
Localization is the process of customizing a software application that was originally designed for a domestic market so that it can be released in foreign markets.
4646
OtherOther TypesTypes ofof TestingTesting
Mutation testingMutation testingProgression TestingProgression TestingRe-TestingRe-TestingRegression TestingRegression TestingSanity TestingSanity TestingSmoke testingSmoke testing
4747
MutationMutation testingtesting
Introducing the known defects in Introducing the known defects in the software to check the the software to check the effectiveness of testing process.effectiveness of testing process.
Mutation means a change in a Mutation means a change in a program. Programmers are program. Programmers are performing changes in tested performing changes in tested program to estimate program to estimate completeness and correctness of completeness and correctness of that program testing.that program testing. 4848
ProgressionProgression TestingTesting andand retestingretestingExecute the test cases for the Execute the test cases for the
first time, it is called first time, it is called progression progression testing.testing.
Re-executingRe-executing all the failed test all the failed test cases to check fixing done by cases to check fixing done by development team is really fixed development team is really fixed or not as called as or not as called as retesting.retesting.
4949
5050
RegressionRegression TestingTesting
RegressionRegression TestingTesting
Ensuring that a bug is fixed without Ensuring that a bug is fixed without any side effects is calledany side effects is called Regression Regression Testing.Testing.
The Re-Execution of selected test The Re-Execution of selected test cases on modified build to estimate cases on modified build to estimate completeness and correctness of the completeness and correctness of the application without any ripple effects application without any ripple effects due to bug fixes due to bug fixes
5151
UserUser AcceptanceAcceptance TestingTesting
Both testers and developers are Both testers and developers are involvedinvolved
After completion of system testing, the After completion of system testing, the project management concentrates on project management concentrates on UAT to collect feed back from real UAT to collect feed back from real customer or model customer. customer or model customer.
There are 2 ways to conduct UAT.There are 2 ways to conduct UAT.• Alpha TestingAlpha Testing• Beta TestingBeta Testing
5252
5353
AlphaAlpha TestingTesting andand BetaBeta TestingTesting
Alpha TestingAlpha Testing Beta TestingBeta Testing
Performed by end users inside the development organization.
Performed by end users outside the development organization and inside the end user organization.
Done in controlled environment
Environment is not under control
Defects found by end users are noted down by the development team and fixed before release
Defects found by end users are reported to the development organization
Developers are present Developers are not present
Ad-hocAd-hoc TestingTesting or informal or informal TestingTesting
In general, every testing team In general, every testing team conducts planned testing, but testing conducts planned testing, but testing team adopts informal testing team adopts informal testing sometimes due to some challenges or sometimes due to some challenges or risks.risks.
E.g : Lack of time, lack of resources, E.g : Lack of time, lack of resources, lack of team size, lack of skill, etc.lack of team size, lack of skill, etc.
There are different ways of Ad-hoc There are different ways of Ad-hoc testingtesting..
5454
WaysWays ofof AdhocAdhoc TestingTesting
Monkey TestingMonkey TestingDue to lack of time, the testing team Due to lack of time, the testing team
concentrates on some of the main activities in concentrates on some of the main activities in the software build for testing. This style of the software build for testing. This style of testing is known as testing is known as “Monkey testing” “Monkey testing” or or “Chimpanzee testing” “Chimpanzee testing” or or “Gorilla “Gorilla testing”testing”..
Buddy TestingBuddy TestingDue to lack of time, the management Due to lack of time, the management
groups programmers & testers as groups programmers & testers as “Buddies”“Buddies”. Every buddy group consists of . Every buddy group consists of programmers & testers.programmers & testers.E.g.: 1:1 (or) 2:1 (or) 3:1 (preferable)E.g.: 1:1 (or) 2:1 (or) 3:1 (preferable)
5555
Exploratory TestingExploratory TestingDue to lack of proper documentation Due to lack of proper documentation
of the software being built, the test of the software being built, the test engineers depend on past experience, engineers depend on past experience, discuss with others, browse the Internet discuss with others, browse the Internet or Operate similar projects and contact or Operate similar projects and contact customer side people if possible. This customer side people if possible. This style of testing is called “Exploratory style of testing is called “Exploratory Testing”.Testing”.
Ways of Adhoc Ways of Adhoc TestingTesting
WaysWays ofof AdhocAdhoc TestingTesting
Pair TestingPair TestingDue to lack of knowledge on project Due to lack of knowledge on project
domain the management groups a senior domain the management groups a senior tester & a Junior Programmers and conducted tester & a Junior Programmers and conducted testing, these all are called Pair testing.testing, these all are called Pair testing.
Defect SeedingDefect SeedingTo estimate the efficiency of test engineers, To estimate the efficiency of test engineers,
the programmers add some bugs to the build. the programmers add some bugs to the build. This task is called defect seeding / debugging.This task is called defect seeding / debugging.
5757
QuestionQuestion
What is VV model ?What is VV model ? Difference between Verification and Validation?Difference between Verification and Validation? What is Walkthrough and Inspection?What is Walkthrough and Inspection? How many basic types of testing are there and what is the How many basic types of testing are there and what is the
difference ?difference ? Which are the different approaches in Integration testing ?Which are the different approaches in Integration testing ? What are the different coverage in functional testing ?What are the different coverage in functional testing ? What is alpha and beta testing?What is alpha and beta testing? What is stub and driver ?What is stub and driver ? What is functionality testing ?What is functionality testing ? What is Load and stress testing . Explain with example?What is Load and stress testing . Explain with example? Difference between smoke and sanity testing ?Difference between smoke and sanity testing ? Difference between re-testing and regression testing ?Difference between re-testing and regression testing ? What is ad-hoc testing ?What is ad-hoc testing ?
Contact Us
AddressMindScripts Technologies,2nd Floor, Siddharth Hall, Near Ranka Jewellers, Behind HP Petrol Pump, Karve Rd,Pune 411004
AddressMindScripts Technologies,C8, 2nd Floor, Sant Tukaram Complex ,Pradhikaran, Above Savali Hotel, Opp Nigdi Bus Stand,Nigdi, Pune - 411044
Call 9595957557 8805674210 9764560238 9767427924 9881371828