Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt).



Similar documents
International Journal of Advance Research in Computer Science and Management Studies

A. Waterfall Model - Requirement Analysis. System & Software Design. Implementation & Unit Testing. Integration & System Testing.

Best Practices, Process

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Keywords document, agile documentation, documentation, Techno functional expert, Team Collaboration, document selection;

Proposed C.E.M (Cost Estimation Metrics): Estimation of Cost of Quality in Software Testing

Quality Management. Lecture 12 Software quality management

STS Federal Government Consulting Practice IV&V Offering

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004

Unit 6: INTRODUCTION TO QUALITY ASSURANCE and TOTAL QUALITY MANAGEMENT (key-words: pre-fabrication, site assembly, integrated systems)

Basic Testing Concepts and Terminology

Service Delivery Module

Optimization of Software Quality using Management and Technical Review Techniques

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

Agile Software Development Methodologies and Its Quality Assurance

Lecture 1: Introduction to Software Quality Assurance

Process Models and Metrics

Information Security Managing The Risk

TEN GOLDEN RULES FOR COST SAVING IN SOFTWARE

Page 1 of 7 Effective Date: 12/18/03 Software Supplier Process Requirements

Volume 11 Issue 7 Version 1.0 December 2011 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals Inc.

Kunal Jamsutkar 1, Viki Patil 2, P. M. Chawan 3 (Department of Computer Science, VJTI, MUMBAI, INDIA)

SOFTWARE ENGINEERING

Effective Software Verification for Medical Devices

Latest Trends in Testing. Ajay K Chhokra

Software Quality Assurance Plan

Smarter Balanced Assessment Consortium. Recommendation

A Brief Overview of Software Testing Techniques and Metrics

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

An Introduction to. Metrics. used during. Software Development

CDC UNIFIED PROCESS PRACTICES GUIDE

Effective Software Security Management

Introduction to Software Engineering. 8. Software Quality

Software Quality Testing Course Material

Document Control. White Paper By Galaxy Consulting. At Your Service Today Tomorrow We Appreciate The Privilege Of Serving You! Abstract.

(COMPANY LOGO) CGMP COMPUTERIZED SYSTEM VENDOR AUDIT QUESTIONNAIRE

Peer Review Process Description

An integrated life cycle quality model for general public market software products

Build (develop) and document Acceptance Transition to production (installation) Operations and maintenance support (postinstallation)

V. Phani Krishna et al, / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (6), 2011,

Software Engineering Compiled By: Roshani Ghimire Page 1

Defect Management in Agile Software Development

Software Configuration Management Plan

Nova Software Quality Assurance Process

Verification and Validation of Software Components and Component Based Software Systems

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

MNLARS Project Audit Checklist

Levels of Software Testing. Functional Testing

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008

Total Quality. 1) Quality

Peer Review Process Description

copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc.

Software Quality and Agile Methods

Software Quality and Assurance in Waterfall model and XP - A Comparative Study

EVALUATING SOFTWARE ENGINEERING PRACTICES IN PALESTINE

Cleanroom Software Engineering: Towards High-Reliability Software

Evolving a Ultra-Flow Software Development Life Cycle Model

the write choice: a primer on outsourcing transcription services

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

International Journal of Advanced Research in Computer Science and Software Engineering

Comparative Study of Automated Testing Tools: Selenium, Quick Test Professional and Testcomplete

Modeling the Mobile Application Development Lifecycle

Modeling Software Maintainability and Quality Assurance in the Agile Environment

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Measurable Software Quality Improvement through Innovative Software Inspection Technologies at Allianz Life Assurance

Peer Review in Software Development: A Survey

Application of software product quality international standards through software development life cycle

Measurement Information Model

Screen Design : Navigation, Windows, Controls, Text,

Testing Websites with Users

Quality Assurance Plan

Test Automation Framework

About this guide. 4 The syllabus requires knowledge of this topic This is material that may be of interest to the reader but is

Software Quality Assurance. Software Engineering: A Practitionerʼs Approach, 7/e by Roger S. Pressman

Manufacturing View. User View. Product View. User View Models. Product View Models

2. RELATIONAL WORK. Volume 2, Issue 5, May 2013 Page 67

Darshan Institute of Engineering & Technology Unit : 7

Improved Software Testing Using McCabe IQ Coverage Analysis

Module 12. Software Project Monitoring and Control. Version 2 CSE IIT, Kharagpur

International Software Test Institute

Software Project Management Matrics. Complied by Heng Sovannarith

Software Quality Assurance Plan. Introduction

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

Noorul Islam College of Engineering M. Sc. Software Engineering (5 yrs) IX Semester XCS592- Software Project Management

How To Write Software

Agile Processes and Methodologies: A Conceptual Study

Serena Dimensions CM. Develop your enterprise applications collaboratively securely and efficiently SOLUTION BRIEF

Use of Non-IT Testers in Software Development

QUALITY ASSURANCE IN EXTREME PROGRAMMING Plamen Balkanski

Information Technology Engineers Examination. Information Security Specialist Examination. (Level 4) Syllabus

Essentials of the Quality Assurance Practice Principles of Testing Test Documentation Techniques. Target Audience: Prerequisites:

Do You Have the Right Stuff to be a Good Tester?

CSC 408F/CSC2105F Lecture Notes

AN INNOVATIVE SQA SERVICE MATURITY MODEL USING CMMI AND ITIL

IT Professional Standards. Information Security Discipline. Sub-discipline 605 Information Security Testing and Information Assurance Methodologies

Transcription:

Volume 3, Issue 10, October 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Enhancing Software Quality Using Quality Assurance Practices in the Project Life-Cycle Divya Bindal,Jyoti Tamak Department of CSE UIET Kurukshetra University, Kurukshetra, Haryana, India Abstract: Due to the widespread acceptance, and use of software systems in various areas like ecommerce, banking, medical etc software bugs are proving to be costly and sometimes fatal. To avoid software bugs Software Quality Assurance (SQA) involves in the entire software development process - monitoring and improving the process, making sure that any agreed-upon standards and ensuring that problems are found and removed.. This paper emphasizes the importance of Software Quality Assurance in the product life cycle and also discuss how it improves the Software Quality. Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt). 1. Introduction Achieving a high level of product quality is the prime objective of every organization & Quality can be defined as characteristic or attribute of something. By attribute, we mean something which we can measure and compare it with some known standards. Functionality, Portability, Usability, Reliability, Maintainability & Efficiency are the Quality attributes of software Functionality: Functionality is defined as the required functions available in the software. Portability: Portability is how easy is to transfer the software to another environment. Usability: Usability is how easy to use the software. Reliability: Reliability is the ability of software to function under given environmental conditions for particular amount of time by taking into account all precisions of the software. Maintainability: Maintainability is how easy to modify the software. Efficiency: Efficiency is how efficient is the software. Objective of this paper is to outline the Quality Assurance activities for enhancing software quality. 2. Software Quality Assurance Software Quality Assurance as a planned and systematic pattern of actions necessary to provide adequate confidence that the item or product conforms to established technical requirements[1]. SQA does this by checking that: Plans are defined according to standards; Procedures are performed according to plans; Products are implemented according to standards. Software Quality Assurance is more challenging than Software Testing because solving problems is a high-visibility process while preventing problems is a low-visibility process. During Software Testing we know what the problem is and we are trying to fix the problem, which is easier than preventing the problem before it occurred. Software Quality Assurance Software Quality Quality Assurance Specification Language Factors & Models Inspection Testing Techniques Reliability Analysis Fig 1 Software Quality Assurance 2013, IJARCSSE All Rights Reserved Page 1451

3. Role of SQA staff Persons involved in SQA staff are: Software engineers, project managers, customers, sale people etc Role of Engineers involved in Quality Assurance work: apply technical methods and measures conduct formal technical review perform well-planned software testing SQA staff should concentrate on those items that have a strong influence on product quality. They should check as early as possible that the: Selection of an appropriate life cycle. Development team members have defined tasks and responsibilities. Documentation plans are implemented. Documentation contains what it should contain. Documentation and coding standards are followed. Standards, practices and conventions are adhered to. Metric data is collected and used to improve products and processes. Reviews and audits take place and are properly conducted. Tests are specified and rigorously carried out. Use appropriate tools, techniques and methods. Software is stored safely and securely. Proper records are kept of all activities. Staff are properly trained. Risks to the project are minimised. 4. Architecture of SQA SQA Component 1. Planning from the project initiation and planning stage Activities Review and plan the project in its entirety Create the QA plan 2. Management of the Project lifecycle activities and components Create a defect removal and defect injection prevention 3. Refactoring the Management of all SQA components Instigate Software Quality improvement 5. Quality Assurance Activities Following are the activities of Quality Assurance: 5.1 Formal Technical Review Cost of defect fixing after the release of the product is around 60-100x & the Purpose of conducting review is to minimize the defect ratio as early as possible in Software Development life cycle. In Review artefacts of software product (Technical specifications, designs, source code, user documentation, support and maintenance documentation, test plans, test specifications, standards etc) are examined by project stockholders, user representatives, or other interested parties for feedback or approval. Review can be formal or informal. Informal reviews are referred as walkthrough and formal as Inspection. Walkthrough: Method of conducting informal group/individual review is called walkthrough, in which a designer or programmer leads members of the development team and other interested parties through a software product, and the participants ask questions and make comments about possible errors, violation of development standards, and other problems or may suggest improvement on the article, walkthrough can be pre planned or can be conducted at need basis and generally people working on the work product are involved in the walkthrough process. The Purpose of walkthrough is to: - Find problems - Discuss alternative solutions - Focusing on demonstrating how work product meets all requirements. Roles in a walkthrough: 2013, IJARCSSE All Rights Reserved Page 1452

Leader: who conducts the walkthrough, handles administrative tasks, and ensures orderly conduct. Recorder: who notes all anomalies (potential defects), decisions, and action items identified during the walkthrough meeting. Author: who presents the software product in step-by-step manner at the walk-through meeting. Advantages of Walkthrough: Senior people get new ideas and insights from new people. Improves Quality Enables observation of different approaches to software analysis, design, and implementation. Reduces risk of discontinuity & useless code since several people become familiar with parts of software that they may not have otherwise seen. Disadvantages of Walkthrough: Meetings can be extremely time consuming and can be hard to manage when participants are separated by many time zones. There is real lack of diversity in any code walk-through with the author driving the process. Walk through tend to be rather shallow with little time allowed to look for the more subtle problems within the code. Inspection: An inspection is a formal, rigorous, in-depth group review designed to identify problems as close to their point of origin as possible. Inspection is a recognized industry best practice to improve the quality of a product and to improve productivity, Inspections is a formal review and generally its need is predefined at the start of the product planning. The objectives of the inspection process are to Find problems at the earliest possible point in the software development process. Verify that the work product meets its requirement Ensure that work product has been presented according to predefined standards Provide data on product quality and process effectiveness Inspection advantages are to build technical knowledge and skill among team members by reviewing the output of other people Increase the effectiveness of software testing. Inspection Process Following are review phases: Planning Overview Preparation Examination meeting Roles in an Inspection Leader: The inspection leader shall be responsible for administrative tasks pertaining to the inspection. Recorder: The recorder should record inspection data required for process analysis. Reader: The reader shall lead the inspection team through the software product in a comprehensive and logical fashion. Author: author plays the following roles: - The author shall be responsible for the software product meeting its inspection entry criteria - For contributing to the inspection based on special understanding of the software product. - Performing any rework required to make the software product meet its inspection exit criteria.. Inspector: Inspectors shall identify and describe anomalies in the software product. Advantages of Inspection Most programs run correctly first time after inspection. Error reduction by a factor of 5. Improvement in productivity by 14% to 25%. Percentage of errors found by inspection is 58% to 82%. Cost reduction of 50%-80%. Increased morale, reduced turnover. Better estimation and scheduling (more knowledge about defect profiles). Better management & recognition of staff ability. Disadvantages of Inspection Examines a product once its author has finished it. Focus on small part of a design, not the whole thing. All reviewers must agree on the result. Enough people so that all the relevant expertise is available. 5.2 Control of Change: SQA provides formal management of changes to the software and documentation. Need of Control on Change: 2013, IJARCSSE All Rights Reserved Page 1453

Manage the structure of a software system over its lifetime Bring order to the chaos of continually evolving software systems. Change committee includes Senior Developers & Engineers. Determines desirability of a change Detect conflicting/overlapping changes. Estimate the cost & impact of changes. Schedule changes relative to software releases. Tracks the change process. Access & Synchronization control Check-in (modified version) unlock Software Engineer Access Control Ownership info Project Repository lock Check-out Access control ensures the software engineer is authorized to check out & synch. Control locks the object at check-out & unlocks at check-in. Benefits of Control on Change Prevent unauthorized access to assets. Coordinate, track and manage change activities. Account for and report the progress of development efforts. Ability to deliver revisions, updates and cross-platform versions, faster. Improved customer satisfaction. Less time wasted fixing old code. Confidence that each release addresses all the requested changes. 5.3 Software Testing Testing is the process of detecting errors by running the actual software and verifying that it works as it should. It is by far the most popular QA activity. Need of Software Testing Formal technical reviews are cheaper and more effective than testing, but are often ignored. Effective testing lies in intelligently choosing the relatively few test cases that will actually be executed Test all requirements and features defined in the requirements spec. and functional spec. Focus on scenarios that users are likely to encounter in practice. Test cases should not be redundant. Analyze the program s design and code to find potential weak areas. Analyze all points at which data enters the system and look for ways to attack it. Approaches for test case design are generally divided into two broad categories: Black Box Testing The tester has limited knowledge of the inner workings of the item being tested & Test cases are based on the specification of the item's external behaviour. White Box Testing The tester has knowledge of the inner workings of the item being tested &Test cases are based on the specification of the item's external behavior & knowledge of internal implementation. 5.4 Record Keeping & Reporting Collect outputs & reports of SQA activities. Disseminate reports to software managers. 2013, IJARCSSE All Rights Reserved Page 1454

Maintain archive of SQA reports. Maintain log of software development activity (especially testing) to satisfy legal requirements. Maintain institutional memory of the software development effort. 6. Advantages of SQA Following are some advantages of SQA: Evaluate Performance level Identify strengths & Weaknesses Provide Feedback Improve Quality Monitor & Maintain Standards Advantag es of SQA Measure individual Attainment Plan learning Fig 2 Advantages of SQA Provide info to employers Award Qualification Make Future Choices 7. Conclusion Software development is complex and is error prone Many problems that are faced during software development can be tackled, by adopting Quality assurance practices in the product life cycle. Software Quality Assurance as a planned and systematic pattern of actions necessary to provide adequate confidence that the item or product conforms to established technical requirements. Software Quality Assurance is more challenging than Software Testing because solving problems is a high-visibility process while preventing problems is a lowvisibility process. Software Quality Assurance activities used in product life cycle for improving software quality are Formal Technical Review, Control on Change, Software Testing, Record Keeping etc. SQA activities in the product cycle Provide Feedback, Monitor & Maintain Standards, Evaluate Performance level etc. References 1) Roger Pressman, Software Engineering A practitioner Approach, Mc.GrawHill. 2) Mark Kevitt, Best Software Test & Quality Assurance Practices in the project Life-cycle,April 2008. 3) Software Testing and Quality Assurance(Source: http://www.software-quality-assurance.info/). 4) James A. Whittaker and J. H. Poore Statistical Testing for Cleanroom Software Engineering in 1992 IEEE. 5) Alberto Avritzer and Elaine J. Weyuker The Automatic Generation of Load Test Suites and the Assessment of the Resulting Software IEEE Transactions On Software Engineering, VOL. 21, NO. 9, September 1995. 2013, IJARCSSE All Rights Reserved Page 1455