Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword
Like this
0 of .
Results for:
No results containing your search query
P. 1
Testing Concepts and Terminology

Testing Concepts and Terminology

Ratings: (0)|Views: 445|Likes:
Published by Amit Rathi

More info:

Published by: Amit Rathi on Dec 03, 2008
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less





divine QA Testing
Testing is a set of activities that can be planned in advance and conductedsystematically. Software testing strategy has the following characteristics:
Testing begins at the component (unit) level and works "outward" towards theintegration of the entire software system.
Different testing techniques are appropriate at different points of time
Testing is conducted by the developer of the software and an independent testgroup (QA testing group)
Testing and debugging are different activities, but debugging must beaccommodated in any testing strategy.A strategy for software testing must accommodate low level tests that arenecessary to verify that a small source code segment has been correctlyimplemented as well as high level tests that validate major system functionsagainst customer requirements.Test granularity refers to the finesse or coarseness of a test's focus. A highlygranular test allows the tester to check low - level details, often internal to thesystem; a less granular test provides the tester with information about generalsystem behavior. Test granularity can be though of as running along a spectrumranging from structural (white box) to behavioral (black box and live).Structural test (also known as white box tests) find bugs in low level operationssuch as those that occur at the level of line of code / object level. Structural testinginvolves a detailed knowledge of the system.Behavioral tests (also known as black-box tests) are often used to find bugs inhigh-level operations, at the levels of features, operational profiles and customer scenarios.Testing strategy for testing a software system should encompass both structuraland behavioral testing.
1.2Testing Phases
A sequential view of software development and testing is shown in Fig 1.Considering the process from a procedural point of view, testing within thecontext of software engineering is actually the series of four steps that areimplemented sequentially. Initially test focus is on each component individuallyensuring that it functions properly as a unit. This phase of testing is known as unittesting. Unit testing makes heavy use of white box testing techniques, exercising
Page 1 of 17
divine QA Testing
specific paths in a modules control structure to ensure complete coverage andmaximum error detection. Fig. 1: Sequential view of software development and testingComponents, Classes are packaged and integrated to form the complete softwaresystem. Integration testing addresses the issues associated with the dual problemsof verification and program construction. Black-box test case design techniques
Page 2 of 17
Requirements DesignHigh level DesignImplementation DesignCodeUnit TestingIntegration TestingSystem TestingAcceptance TestingAcceptance Test DesignSystem Test DesignIntegration Test DesignUnit Test Design
divine QA Testing
are the most prevalent during integration, although a limited amount of white - box testing may be used to ensure coverage of major control paths.Acceptance and validation criteria (Established during requirement analysis) must be tested. Validation testing provides the final assurance that software meets allfunctional, behavioral and performance requirement. Black-box testing techniquesare used exclusively during validation. Validations testing can be combined withintegration or system testing.Software once validated, must be combined with other system elements(hardware, network, databases, etc) system testing verifies that all elements mesh properly and that overall system function/performance is achieved.Acceptance testing is conducted by the customer to validate requirements.Acceptance testing normally covers functionality and other aspects of thesoftware system to verify and validate against client requirements.During the various phases of testing different types of test can be conducted totest a specific view or aspect of the system. The following tests can be conductedduring unit, integration, system and acceptance testing.Unit Testing: Functionality, User interface, RegressionIntegration Testing: Functionality, User interface, Dependency (API testing),Performance, Smoke, Regression, Forward backwardcompatibility, Capacity and volume, Error/Disaster handling and recover, Concurrent ExecutionSystem and Acceptance Testing: Functionality, User interface, Capacity andVolume, Error/Disaster handling and recovery, Stress,Performance, Localization, Networks and disturbedenvironments, Standards conformance, Security,Installation and upgrade testing, Multiple configurationtesting, User Documentation testing, Beta, Alpha
1.3Testing TypesFunctionality Testing:
During unit testing each component or object is tested for completeness andcorrectness of implementation of a specific feature of functionality. In integrationtesting we focus on functionality that requires the correct operation of two or more components or a flow of data between them.
Page 3 of 17

Activity (8)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
ukuzak liked this
kamal_82 liked this
bfaison liked this
Pranav Nannajkar liked this
Pranav Nannajkar liked this
bikramkn2009 liked this

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->