Types Of TestingPresented By:Sonam Agarwal3ird year, IT
Introduction & Fundamentals What is Software Testing? Why testing is necessary? Who does the testing? What do we test?
Error ,Bug ,Fault ,Failure A person makes an Error That creates a fault in softwareThat can cause a failure in operation Bug, Fault & Failure. Error : An error is a human action that produces theincorrect result. Bug : The presence of error at the time of execution ofthe software. Fault : State of software caused by an error. Failure : Deviation of the software from its expectedresult.
Objectives of testing The aim of the testing is to identify all defects existingin a software product. It is not possible to guaranteethat the software is error free. This is because of thefact that the input data domain of most softwareproducts is very large. A good test case is one that has a high probability offinding an as-yet-undiscovered error. A successful test is one that uncovers an as-yet-undiscovered error. What testing cannot do ?o Cannot show the absence of errors.
Objectives of a Software Tester Find bugs as early as possible and make sure they getfixed. To understand the application well. Study the functionality in detail to find where thebugs are likely to occur. Study the code to ensure that each and every line ofcode is tested. Create test cases in such a way that testing is done touncover the hidden bugs and also ensure that thesoftware is usable and reliable.
Verification & Validation Verification - refers to the set of activities that ensurethat software correctly implements a specificfunction. Validation- refers to a different set of activities thatensure that the software that has been built istraceable to customer requirements.Verification: "Are we building the product right?"Validation: "Are we building the right product?"
Testing Vs Debugging Debugging is not Testing. Debugging always occurs as a consequence of testing. Debugging attempts to find the cause of an error andcorrect it.
When to Start Testing in SDLCPhases of SDLC Feasibility Study Requirements Analysis and Specification Design Coding Testing Maintenance
Types Of TestingWhite Box Testing Black Box TestingSystem TestingUsability TestingStatic Testing Dynamic Testing Performance TestWalkthrough Unit TestingCode Reviews Integration TestingCode Inspection Regression Testing
White Box Testing The internals of software are tested to make sure that theyoperate according to specification and design. Test cases are based on internal structure of software. AreasCode Coverage ,Statement Coverage, Branch Coverage,Condition Coverage ,Loop Coverage, Path Coverage ,Data FlowCoverage.• Techniqueso Flow graph testing ,Graph matrices ,Control structure testing ,Data flow testing.
Static Testing Static testing of a program carried out without executing theprogram. It aims to find defects in the software product in the earlystages of software development, so that they can be fixedeasily. It can find errors that occur on paths uncovered by testing It explores all possible execution paths in a program at compiletime. Whoo By a team of individuals.o By individual who didn’t write the code.
Code Reviewo A code review can be done as a special kind of inspection inwhich the team examines a sample of code and fixes anydefects in it. In a code review, a defect is a block of code whichdoes not properly implement its requirements, which does notfunction as the programmer intended.o Are the variables name meaningful?o Are the variables initialized?o Are pointers initialized properly?o Are there infinite loops?o Has the usage of operators like = and == or & and && beenchecked or not?
Code Inspection It is the most formal technique. The aim of this review type is to uncover defects in thedocument in the early stages of software developmentand thereby improve the quality of the product. An inspection is one of the most common reviewpractices found in software projects. In an inspection, awork product is selected for review and a team isgathered for an inspection meeting to review the workproduct. The goal of the inspection is to identify defects.
Code Inspection(continued…)The stages in the inspections process are:Planning: The inspection is planned by the moderator.Overview meeting: The author describes the background of the work product.Preparation: Each inspector examines the work product to identify possibledefects.Inspection meeting: During this meeting the reader reads through the workproduct, part by part and the inspectors point out the defects for every part.Rework: The author makes changes to the work product according to theaction plans from the inspection meeting.Follow-up: The changes by the author are checked to make sure everything iscorrect.The process is ended by the moderator when it satisfies some predefined exitcriteria.
Unit Testing ObjectivesThe primary goal of unit testing is to take the smallestmodule of testable software, and running it in isolation byusing prepared test cases and comparing with the actualresult to test the interfaces between modules. WhenAfter modules are coded WhoDeveloper/programmer Methodso White Box testing techniques
What are Stubs, Drivers ? A stub is a computer program which is used as asubstitute for the body of a software module or a dummymodule which simulates the function of a module calledby a given module under test. Driver a module which transmits test cases in the form ofinput arguments to the given module under test andeither prints or interprets the results produced by it.
Integration Testing ObjectivesTo technically verify proper interfacing between modules,and within sub-systems that satisfy functionalrequirement. WhenAfter modules are unit tested WhoDevelopers/Programmer Methodso White Box techniqueso Black Box techniques
Regression Testing Objectiveso It is used to checks faults, defects propagated to othermodules by changes made to existing program.o This testing is used to reduce the side effects of changes.o Testing is done by re-executing the previous versions ofthe application. WhoProgrammers or independent testers
Black Box Testing In the black-box testing approach, test cases are designedusing only the functional specification of the software, i.e.without any knowledge of the internal structure of thesoftware. It explains the process of giving the input to the systemand checking the output, without considering how thesystem generates the output. It is also known asBehavioral Testing. It attempts to find error in the external behavior of thecode.
System Testing ObjectivesThe goal of system testing is not to find out faults but todemonstrate performance. WhatThe system testing is actually a series of different tests ,primary purpose of which is to fully exercise the system.All work to verify that all system elements have been properlyintegrated and perform allocated functions. WhenAfter Integration Testing WhoDevelopment Team
Acceptance Testing ObjectivesTo verify that the system meets the user requirements.It is the system testing performed by the customer him/herselfafter the product delivery to determine whether to accept orreject the delivered product. WhenAfter System Testing WhoUsers / End Users Methodso Black Box techniques
Alpha Testing It is a testing in which the version of complete software istested by the customer under the supervision ofdeveloper. This testing is performed at the developers site in acontrol environment under the guidance of a developer.
Beta Testing It is a testing in which software is tested by a customerwithout the developer being present. This testing is performing at the customers site. Customer records the problems and reports it to thedeveloper then the developer makes appropriatemodifications.