step methodology

7
Quality Assurance We take every care to ensure that the software we build satisfies our client's requirements. The only way to ensure that is to perform quality assurance throughout the software lifecycle right from requirements elicitation, analysis and understanding of the business objectives. This understanding enables the team to develop a comprehensive quality assurance plan for the project that includes the following elements:  Test Plan and Test Cases - We develop a complete testing plan based on the requirements. The test plan includes unit, integration and system testing. The test plan includes all the test cases that typically cover functionality, error handling, performance, scalability, and fail over, among other required tests. The test plan and test cases are validated with the client during the early stages of a project, and are refined and enhanced during detailed design and coding. Traceability Matrix - During the software lifecycle we trace the requirements to the design components, to the code modules, and to the test cases. This enables us to track changes to the requirements and to validate if the test plan covers all requirements and all design elements. Peer reviews of designs and code - Depending on the size and duration of a project, we conduct design and code reviews with architects and engineers from outside the project. These reviews provide an opportunity for valuable feedback and independent perspective. Acceptance Plan - At the beginning of each iteration of a project, we develop a detailed acceptance plan that describes all the expected deliverables during or at the end of the iteration. The client signs off on the acceptance plan to indicate agreement on the expected results. Minveli Infotech quality assurance team is responsible for implementing, tracking and adjusting the quality assurance plan to make sure that it is completed successfully by the delivery date, conducting the required testing and establishing a complete regression test suite for the product that is as automated as possible.  Testing process Pic: Minveli Infotech - Software Quality Assurance Process Analysis Requirements: gathering and analyzing customer requirements. Software Test Plan (STP): definition of scope and goals; elaboration of appropriate testing methodologies; preparation of software testing strategy; assigning roles and responsibilities ; definition of resource requirements, start and completion criteria. Test Environment: setting up the test infrastructure, identification of testing environment and test tools, installation and configuration of the product. 1

Upload: gur-vir

Post on 05-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

8/2/2019 STEP Methodology

http://slidepdf.com/reader/full/step-methodology 1/6

Quality Assurance

We take every care to ensure that the software we build satisfies our client's requirements. The only way toensure that is to perform quality assurance throughout the software lifecycle right from requirementselicitation, analysis and understanding of the business objectives. This understanding enables the team todevelop a comprehensive quality assurance plan for the project that includes the following elements: 

Test Plan and Test Cases - We develop a complete testing plan based on the requirements. The testplan includes unit, integration and system testing. The test plan includes all the test cases that typicallycover functionality, error handling, performance, scalability, and fail over, among other required tests. Thetest plan and test cases are validated with the client during the early stages of a project, and are refined andenhanced during detailed design and coding.

Traceability Matrix - During the software lifecycle we trace the requirements to the design components, tothe code modules, and to the test cases. This enables us to track changes to the requirements and tovalidate if the test plan covers all requirements and all design elements.

Peer reviews of designs and code - Depending on the size and duration of a project, we conductdesign and code reviews with architects and engineers from outside the project. These reviews provide an

opportunity for valuable feedback and independent perspective.

Acceptance Plan - At the beginning of each iteration of a project, we develop a detailed acceptance planthat describes all the expected deliverables during or at the end of the iteration. The client signs off on theacceptance plan to indicate agreement on the expected results.

Minveli Infotech quality assurance team is responsible for implementing, tracking and adjusting the qualityassurance plan to make sure that it is completed successfully by the delivery date, conducting the requiredtesting and establishing a complete regression test suite for the product that is as automated as possible. 

Testing process

Pic: Minveli Infotech - Software Quality Assurance Process

• Analysis Requirements: gathering and analyzing customer requirements.

• Software Test Plan (STP): definition of scope and goals; elaboration of appropriate testingmethodologies; preparation of software testing strategy; assigning roles and responsibilities; definitionof resource requirements, start and completion criteria.

• Test Environment: setting up the test infrastructure, identification of testing environment and testtools, installation and configuration of the product.

1

8/2/2019 STEP Methodology

http://slidepdf.com/reader/full/step-methodology 2/6

• Test Metrics: description of areas to be measured, development and collection of metrics.

• Test Design and Implementation: development of test scenarios, test cases, test check-list, testprocedures, test scripts, development of test applications, etc.

• Test Execution: performance of testing, both static or dynamic, which is provided for usage of manualand automatic test cases as required by STP and STS.

• Defect Management (Bug Tracking): recording testing results, defect description (ProblemReports, Change Requests), defect review and testing results analysis, errors correction, defectresolution verification.

• Reporting: status reports, weekly reports, milestone reports, closure report.

1 Quality Assurance Presentation - Presentation Transcript1. QUALITY ASSURANCE FRAMEWORK 2. AGENDA

o 1.What is Quality?o 2.What is Software Quality Assurance?o 3.Components Of Quality Assurance.

o 4.Software Quality Assurance Plan.o 5.Quality Standards.3. What is Quality?o 1.Accroding to computer literature Quality means“Meeting Requirement”.o 2.The product has something that other similar productsdo not that adds value. (Product based Definition).

4. Software Quality Assuraceo Systematic activities providing evidence of the fitness foruse of the total software product.o

It is achieved through the use of established guidelinesfor quality control to ensure integrity and prolonged life of software.o It is a planned effort to ensure that a software productfulfils criteria and has additional attributes specific to the product.5.o It is the collection of activities and functions used tomonitor and control a software project so that specific objectives areachieved with the desired level of confidence.o It is not the sole responsibility of the software quality assurance group but is determined by theconsenses of the project manager ,project leader, project personnel,

and the users.Software Quality Assurace6. Components of Quality Assurance7. Software Testingo Software testing is a popular risk management strategy.Itis used to verify that functional requirements were met.

2

8/2/2019 STEP Methodology

http://slidepdf.com/reader/full/step-methodology 3/6

o  The major purpose of verification and validation activitiesis to ensure that software design, code, and documentation meet allthe requirements imposed on them.8. Quality Controlo Quality control is defined as the processes and methods

used to monitor work and observe whether requirements are met.Itfocuses on reviews and removal of defects before shipment of products.o For small projects,the project personnel’s peer group orthe department’s software quality coordinator can inspect thedocuments.on large projects a configuration control board may beresponsible for qualitycontrol9. Software Configuration Management.o It is concerned with the labeling, tracking and controllingchanges in the software elements of a system.o It consists of activities that ensure that design and code

are defined and cannot be changed without a review of the effect of the change itself and its documentation.

10. Elements of software configuration management.11. Component Identification

o A basic software configuration management activity is toidentify the Software components that make up deliverable at eachpoint of development.o In order to mange the development process one mustestablish methods and name the component standards.

12. Version controlo Software is frequently changed as it evolves through asuccession of temporary states called versions.o A software configuration managemento facility for controlling versions is a software configurationmanagement repository or library.13. Configuration Buildingo  To build a software configuration one needs to identify thecorrect components versions and execute the component buildprocedures.This is often called Configuration building.o Software configuration management uses differentapproaches for selecting versions.The simplest method is tomaintain all the component verisons.14. Change control

o Software Change control is the process by which amodification to a software component is proposed.o Modification of a configuration has four elements : achange request, an impact analysis of the change,a set of 

3

8/2/2019 STEP Methodology

http://slidepdf.com/reader/full/step-methodology 4/6

modifications and additions of new components and a method forreliably installing new componets.

15. Software Quality Assurance Plano Software quality assurance plan is an outlineof quality measures to ensure quality levels withinasoftware development effort.o  The plan provides the framework and guidelines fordevelopment of understandable and maintainable code.16. Step to develop and implement a Software quality Assurance Plano Step 1. Document the plan.o Step 2.Obtain Management Acceptance.

o Step 3.Obtain development acceptance.

o Step 4.Plan for implementation of the SQA Plan.o Step 5.Execute the SQA Plan.

17. Quality Standards.o ISO9000

o CMM( Capability Maturity Model)

o PCMM(People Capability Maturity Model)

o CMMI

Timing of STEP Activities

STEP specifies when the testing activities and tasks are to be performed, as well as what thetasks should be and their sequence, as shown in Figure 1-5. The timing emphasis is based ongetting most of the test design work completed before the detailed design of the software. Thetrigger for beginning the test design work is an external, functional, or black box specification of the software component to be tested. For higher test levels (e.g., acceptance or system), theexternal specification is equivalent to the system requirements document. As soon as thatdocument is available, work can (and should) begin on the design of the requirements-basedtests.

 Figure 1-5: Activity Timing at Various Levels of Test

4

8/2/2019 STEP Methodology

http://slidepdf.com/reader/full/step-methodology 5/6

The test design process continues as the software is being designed and additional tests based onthe detailed design of the software are identified and added to the requirements-based tests. Asthe software design process proceeds, detailed design documents are produced for the varioussoftware components and modules comprising the system. These, in turn , serve as functionalspecifications for the component or module, and thus may be used to trigger the development of requirements-based tests at the component or module level. As the software project moves to

the coding stage, a third increment of tests is designed based on the code and implementationdetails.

Key Point The goal at each level is to complete the bulk of the test design work as soon

as possible.

Test inventory and design activities at the various levels overlap. The goal at each level is tocomplete the bulk of the test design work as soon as possible. This helps to ensure that therequirements are "testable" and well thought out and that defects are discovered early in theprocess. This strategy supports an effective software review and inspection program.

Measurement phase activities are conducted by level. Units are executed first, then modules orfunctions are integrated and system and acceptance execution is performed. The sequentialexecution from small pieces to big pieces is a physical constraint that we must follow. A majorcontribution of the methodology is in pointing out that the planning and acquisition phases arenot so constrained; and furthermore, it's in our interest to reverse the order and begin to developthe high-level test sets first - even though we use them last!

The timing within a given test level is shown in Figure 1-6 and follows our natural expectation.Plans and objectives come first, then test design, then implementation, then finally executionand evaluation. Overlap of activities is possible.

 Figure 1-6: Activity Timing at Various Levels of Test

Work Products of STEP

Another aspect of the STEP process model is the set of work products produced in each phase andactivity. STEP uses the word "testware" to refer to the major testing products such as test plansand test specification documents and the implemented test procedures, test cases, and test datafiles. The word "testware" is intentionally analogous to software and, as suggested by Figure 1-7,is intended to reflect a parallel development process. As the software is designed, specified, andbuilt, the testware is also designed, specified, and built.

5

8/2/2019 STEP Methodology

http://slidepdf.com/reader/full/step-methodology 6/6

 Figure 1-7: Parallel, Mutually Supportive Development

These two broad classes of work products support each other. Testware development, by relyingon software work products, supports the prevention and detection of software faults. Softwaredevelopment, by reviewing testware work products, supports the prevention and detection of testware faults.

STEP uses IEEE standard document templates as a recommended guideline for documentstructure and content. Figure 1-8 lists the documents that are included in this book.

Roles and Responsibilities in STEP

Roles and responsibilities for various testing activities are defined by STEP. The four major rolesof manager, analyst, technician, and reviewer are listed in Table 1-4.

Table 1-4: Roles and Responsibilities

Role Description of Responsibilities

Manager Communicate, plan, and coordinate.

Analyst Plan, inventory, design, and evaluate.

Technician Implement, execute, and check.Reviewer Examine and evaluate.

These roles are analogous to their counterpart roles in software development. The test manageris responsible for providing overall test direction and coordination, and communicating keyinformation to all interested parties. The test analyst is responsible for detailed planning,inventorying of test objectives and coverage areas, test designs and specifications, and testreview and evaluation. The test technician is responsible for implementation of test proceduresand test sets according to the designs provided by the analyst, for test execution and checking of results for termination criteria, and for test logging and problem reporting. The test reviewerprovides review and oversight over all steps and work products in the process.

The STEP methodology does not require that these roles be filled by different individuals. Onsmall projects, it's possible that one person may wear all four hats: manager, analyst, technician,and reviewer. On larger projects and as a test specialty becomes more refined in anorganization, the roles will tend to be assigned to different individuals and test specialty careerpaths will develop.

Key Point On smaller projects, it's possible that one person may wear all four hats:manager, analyst, technician, and reviewer.

6