Software Reviews & testing Software Reviews & testing An Overview

Click here to load reader

download Software Reviews & testing Software Reviews & testing An Overview

of 38

  • date post

    12-Jan-2016
  • Category

    Documents

  • view

    233
  • download

    2

Embed Size (px)

Transcript of Software Reviews & testing Software Reviews & testing An Overview

  • Software Reviews & testing

    An Overview

    AG/MKT/Overview

  • Objective To provide an overview of procedures for software reviews & testing activities

    AG/MKT/Overview

  • Intended audienceProject team who are involved in software development, reviews & testing

    AG/MKT/Overview

  • SDLC

    AG/MKT/Overview

  • UR Phase

    A preliminary phase to the software development life cycle called the User Requirements Definition Phase' (UR phase).

    The UR phase is the problem definition phase of a software project. The review of the URD is done by the users. The approved URD is the input to the SR phase.

    AG/MKT/Overview

  • SR Phase

    The SR phase is the analysis phase of a software project.

    A vital part of the analysis activity is the construction of a model describing what the software has to do, and not how to do it.

    AG/MKT/Overview

  • SR Phase

    The SRD must be reviewed formally by the users, by the computer hardware and software engineers, and by the managers concerned, during the Software Requirements Review (SR/R).

    The approved SRD is the input to the AD phase.

    AG/MKT/Overview

  • AD Phase

    The purpose of the AD phase is to define the structure of the software.

    This model is transformed into the architectural design by allocating functions to software components and defining the control and data flow between them.

    AG/MKT/Overview

  • DD Phase

    The purpose of the DD phase is to detail the design of the software, and to code, document and test it.

    During this phase, unit, integration and system testing activities are performed according to verification plans established in the SR and AD Phases. As well as these tests, there should be checks on software quality.

    AG/MKT/Overview

  • UR Reviews

    User requirements which are rejected in the review process do not have to be removed from the URD, especially if it is anticipated that resources may be available at some later date to implement them.

    Nonapplicable user requirements shall be clearly flagged in the URD.

    AG/MKT/Overview

  • SR Reviews

    The outputs of the SR phase shall be formally reviewed during the Software Requirements Review (SR/R). This should be a technical review Participants should include the users, the operations personnel, the developers and the managers concerned

    AG/MKT/Overview

  • ADD Reviews

    The architectural design should be reviewed and agreed layer by layer as it is developed during the AD phase.

    Walkthroughs should be used to ensure that the architectural design is understood by all those concerned. Inspections of the design, by qualified software engineers, may be used to eliminate design defects.

    AG/MKT/Overview

  • DDD Reviews

    The project leader should participate in these reviews, together with the team leader and team members concerned.

    After modules have been coded and successfully compiled, walkthroughs or inspections should be held to verify that theimplementation conforms to the design..

    AG/MKT/Overview

  • End of Reviews

    By the end of the UR review, the SR phase section of the SPMP shall be produced (SPMP/SR).SCMP shall be produced (SCMP/SR).SVVP shall be produced (SVVP/SR).SQAP shall be produced (SQAP/SR)Acceptance Test Plan.

    During the SR phase, the AD phase section of the SPMP shall be produced (SPMP/AD).SCMP shall be produced (SCMP/AD).SVVP shall be produced (SVVP/AD).SQAP shall be produced (SQAP/AD).System Test Plan.

    AG/MKT/Overview

  • End of Reviews

    During the AD phase, DD phase section of the SPMP shall be produced (SPMP/DD).SCMP shall be produced (SCMP/DD).SVVP shall be produced (SVVP/DD).SQAP shall be produced (SQAP/DD).Integration Test Plan.

    During the DD phase, the TR phase section of the SPMP shall be produced (SPMP/TR).SCMP shall be produced (SCMP/TD).SVVP shall be produced (SVVP/TD).SQAP shall be produced (SQAP/TD).Unit Test Plan.

    AG/MKT/Overview

  • Reviews improve schedule performance

    Reviews reduce rework.Rework accounts for 44% of development. Cost!Requirements (1%)Design (12%) Coding (12%) Testing (19%)Reviews are pro-active tests.- Find errors not possible through testing.Reviews are training.- Domain, corporate standards, group.

    AG/MKT/Overview

  • Testing activities

    Unit Testing Module/ Integration Testing System Testing Acceptance Testing User Documentation Review

    AG/MKT/Overview

  • Testing activitiesUnit Testing This is the testing performed on the most basic item of the software product i.e. the individual source code component to uncover the errors and to ensure that this is meeting all the specifications as described in SDD .

    AG/MKT/Overview

  • Testing activitiesModule/Integration TestingThis is the testing performed at sub-system level to uncover errors related to interfacing.

    AG/MKT/Overview

  • Testing activitiesSystem TestingSystem testing is a validation activity used to demonstrate that the entire software product is conforming to the user requirement expressed and agreed upon earlier. This test is carried out after integrating all the components of the product in a common environment .

    AG/MKT/Overview

  • Testing activitiesAcceptance Testing Acceptance testing is a validation activity before the system is accepted by the user for operational use.

    AG/MKT/Overview

  • Testing activitiesUser Documentation ReviewThis is to verify that the user documentation has explained all the features of the software delivered correctly and clearly along with the operational procedure .

    AG/MKT/Overview

  • Testing ObjectivesTesting: A process of executing a program with the intent of finding an errorA good test has a high probability of finding an undiscovered errorA successful test uncovers an undiscovered error

    AG/MKT/Overview

  • Testing strategyTesting strategy is a road map describingSteps to be conducted as part of testingWhen these steps should be planned and undertakenHow much effort, time, and resources will be required.

    AG/MKT/Overview

  • Testing strategyTesting strategy must incorporateTest planningTest case designTest executionData collection and evaluation

    AG/MKT/Overview

  • White Box Testing

    Test known internal workings to assure that internal operation performs according to specs. Tests logical paths and procedural detail

    Using white box testing, the software engineer can derive test cases thatGuarantee that all independent paths within a module have been exercised at least onceExercise all logical decisions on the their true and false sidesExecute all loops at their boundaries and within their operational boundsExercise internal data structures to assure their validity

    AG/MKT/Overview

  • Black Box Testing Focuses on functional requirements of softwareIncorrect or missing functionsInterface errorsError in data structure & external data base accessPerformance errorsInitialization & termination errors Tends to be applied during later stages of testing

    AG/MKT/Overview

  • Test Case Design Number of possible logical paths, even in small programs, can be extremely large

    Therefore exhaustive white box testing is impractical

    Often the best test strategy is to perform both white box and black box testing

    AG/MKT/Overview

  • Flow Graph NotationOne or more non-branching PDL or source codestatementsSequence

    If

    While

    Until

    Case

    AG/MKT/Overview

  • Flow Graph12,3101167894,5EdgeNodeRegionR1R4R3R2

    AG/MKT/Overview

  • Nodes, Edges, And RegionsEach circle is a node and represents one or more procedural statements (a sequence of process boxes and decision diamonds can map into a single node; each node that contains a condition is called a predicate nodeArrows are called edges and must terminate at a nodeAreas bounded by edges and nodes are called regions, including the area outside the graph

    AG/MKT/Overview

  • Cyclomatic ComplexityCyclomatic complexity provides a quantitative measure of the logical complexity of a programIt is the upper bound for the number of tests that must be conducted to assure that all statements have been executed at least onceCyclomatic complexity, V(G) is given by the graph

    V(G) = E - N + 2, where E is the number of flow graph edgesand N is the number of flow graph nodes

    V(G) = P + 1, where P is the number of predicate nodescontained in the flow graph

    V(G) = number of regions

    AG/MKT/Overview

  • Unit TestingInterfaceLocal data structureBoundary conditionsIndependent pathsError-handling paths

    AG/MKT/Overview

  • Boundary TestingLast and probably most important unit test stepErrors often occur when nth element of n-dimensional array is processed, when ith repetition of loop with i passes is invoked, when max or min allowable value is encounteredExercise data structure, control flow, and data values just below, at, and just above maxima and minima

    AG/MKT/Overview

  • Integration TestingConstruct program structure while testing to uncover errors associated with interfacingData can be lost across interfaceOne module can have an inadvertent adverse effect on another moduleSubfunctions, when combined, may not provide the desired total functionIndividually acceptable imprecision may be magnified to unacceptable levels

    AG/MKT/Overview

  • System TestingRecovery testing is a system test that forces software to fail in a variety of ways and verifies that