Monday, September 23, 2024

Software Inspection Process Improvement

Inspection Activities - Operation Analysis - Process Improvement


Three Major Channels of Process Improvement.
1. Process Redesign by Process Planning Team.
2. Process Improvement Study by Industrial Engineering Team.
3. Continuous #Improvement by Involving Shop Floor Employees and All Employees.
Continuous Improvement - Employee Participation Principle of Industrial Engineering



Software Testing

Carnegie Mellon University

18-849b Dependable Embedded Systems

Spring 1999

Authors: Jiantao Pan


Abstract:

Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. [Hetzel88] Although crucial to software quality and widely deployed by programmers and testers, software testing still remains an art, due to limited understanding of the principles of software. The difficulty in software testing stems from the complexity of software: we can not completely test a program with moderate complexity. Testing is more than just debugging. The purpose of testing can be quality assurance, verification and validation, or reliability estimation. Testing can be used as a generic metric as well. Correctness testing and reliability testing are two major areas of testing. Software testing is a trade-off between budget, time and quality.


Basic Practices for Inspection Improvements 

Paper "Looking for inspection improvements through base practices" by Ilkka Tervonen, Juha Iisakka and Lasse Harjumaa

1. INTRODUCTION

For inspection process improvement,  updating of checklists, implementation of new forms and the definition of new metrics for measurement data are being attempted. Improvement measures that are most relevant to the inspection process in the testing area are available in   the Testing Maturity Model (TMM) [1], Testability Maturity Model [4] and Test Process Improvement Model (TPI) [10].  

A new capability model tailored especially to inspection process evaluation and the search for relevant improvement suggestions is proposed in this paper.

Inspection in software field is traditionally defined in terms of steps such as entry, planning, kickoff meeting, individual inspection, logging (inspection) meeting, edit, follow up, exit and release [3],[6].

There are six defined goals in inspection process. 

(1) to identify defects in an artefact, 

(2) to estimate the quality of an artefact, 

(3) to improve product quality, 

(4) to provide data for software development  process improvement, 

(5) to provide the means for knowledge transfer, and 

(6) to improve the effectiveness of the software development process.


The suggested practices are classified into three sets. 

1): supporting activities, which help in carrying out an instance of the inspection process, the core set of activities  which are the essence of the inspection process implementation, and organisational activities, which ensure continuous improvement and efficient organisation of the inspection process. 

The supporting activities are

  • "Support with computer tools", 
  • "Maintain rules and checklists" and 
  • "Refine information”. 
  • The core set of  practices  include the activities 
  • "Check the preconditions for inspection", 
  • "Plan the inspection", 
  • "Find issues in the artefact", 
  • "Categorise defects", 
  • "Make corrections" and 
  • "Conclude the inspection".


The organisational set consists of the rest of the activities  

  • "Organise the inspection", 
  • Train the participants" and 
  • "Establish and improve the inspection process".



The  practices of the inspection process

  • Categorise defects
  • Make corrections
  • Find issues in the artefact
  • Plan the inspection
  • Check preconditions for inspection
  • Maintain rules and checklists
  • Refine information
  • Support with computer tools
  • Organise the inspection
  • Establish


Checklists, for example, are characterised as follows:

- checklists are tools to be used by inspectors; lists of topics which should be checked in a specific

artefact

- checklists are derived from rules

- checklists should be tailored to specific baselines and roles, for example

- checklists should be up to date

- focus on the discovery of major defects


SOME GENERAL SUGGESTIONS FOR INSPECTION IMPROVEMENTS

Researchers in the field of software inspection have been discussing the requirements for a reorganised inspection process [7], [9], focusing especially on reducing the number of logging meetings. In a previous paper [7] some new ways to organise an inspection meeting are presented. 

There are some general suggestions for improvements presented in the area of software inspection. 

Gilb [5], for example, introduces 24 key tips for improving the inspection process, and classifies them into eight groups: inspection strategy, entry conditions, planning, individual checking, the logging meeting, process brainstorming, exit conditions and inspection statistics. 


Some of the key tips 

Inspection strategy

* Make sure there are adequate standards for identifying defective practices.

*Give the inspection team leaders proper training, coaching after the initial training, formal certification and statistical follow-up, and be prepared to withdraw their licence to inspect if necessary.


Planning phase 

* Plan inspections well, using a master plan.

* Plan inspections to address the relevant purposes.

* Inspect early and often, while documents are still being written.

* Use sampling to understand the quality level of the document.

* Check against source and kin documents; check these for defects, too.

* Check significant portions of the material - avoid checking commentary.

* Allocate special defect-searching roles to people in the team.

Inspection statistics 

* Build or buy an automated software tool to process basic inspection data.

* Measure the benefits gained from using inspections.


References

[1] Burnstein I., et al., A Testing Maturity Model for Software Test Process Assessment and improvement, Software Quality Professional, vol 1, no 4, 1999

[2] Emam K., El J., Drouin J., Melo W., SPICE: The Theory and Practice of Software Process Improvement and Capability Determination, IEEE Computer Society, 1998

[3] Fagan M.E., Design and Code Inspection to Reduce Errors in Program Development, IBM Systems Journal, vol 15, no 3, 1976, pp.182-211

[4] Gelperin, D., and Hayashi A., How to support better software testing, Application Trends, May, 1996, pp. 42-48.

[5] Gilb T., Planning to get the most out of inspections, Software Quality Professional, vol 2, no 2, 2000

[6] Gilb T., and Graham D.: Software Inspection, Addison-Wesley, Wokingham, England, 1993

[7] Iisakka J., and Tervonen I., Painless Improvements to the Review Process, Software Quality Journal, 7, 1998, pp. 11-20

[8] i3GO, The URL of the Improved Inspection Initiative Group in Oulu is http://www.tol.oulu.fi/i3/

[9] Johnson P.M., Reengineering Inspection, Communications of the ACM, vol 41, no 2, 1998, pp. 49-52

[10] Koomen, T., and Pol M., Test Process Improvement: A practical step-by-step guide to structured testing, AddisonWesley, 1999

[11] Kuvaja P. et al., Software Process Assessment and Improvement, The Bootstrap Approach, Oxford, Blackwell, 1994

[12] Paulk M. et al., The Capability Maturity Model: Guidelines for Improving the Software Process, Addison-Wesley, 1995


Looking for inspection improvements through base practices by Ilkka Tervonen, Juha Iisakka and Lasse Harjumaa

Department of Information Processing Science, University of Oulu, P.O. Box 3000, FIN-90014 University of Oulu, Finland


News and Articles Related to Software Inspection Process Improvement


Welcome to ISTQB®

ISTQB® is the leading global certification scheme in the field of software testing.

As of Apr 2023, ISTQB® has administered over 1.2 million exams and issued more than 845k certifications in over 130 countries. With its extensive network of Accredited Training Providers, Member Boards, and Exam Providers, ISTQB® is one of the biggest and most established vendor-neutral professional certification schemes in the world.

ISTQB® terminology is industry recognized as the defacto language in the field of software testing and connects professionals worldwide.

Join our network of software testing professionals by becoming certified today!

https://www.istqb.org/

Sample Exam Answers

https://astqb.org/assets/documents/ISTQB_CTFL_Sample-Exam-Answers_v4.0.pdf

Glossary for Software Testing

https://www.ctqb.org/en/downloads/istqb.html?file=files/content/ctqb/downloads/istqb/Glossary-terms-version-3.7.pdf&cid=33119

https://www.linkedin.com/pulse/what-changed-new-istqb-syllabus-2023-40-hassen-dai/

https://github.com/jalizadeh/ISTQB-Exam-Questions   - Chapterwise


2023

ChatGPT and Software Testing.

by Ajay Balamurugadas

June 21, 2023 

https://www.thetesttribe.com/blog/chatgpt-for-software-testing/


How Will Software Testing Change In 2023?

Forbes Technology Council

Joel Montvelisky

Co-Founder and Chief Solution Architect at PractiTest-Test Management. OnlineTestConf founder and chairman.

Developers can test software elements and their own code early on, identifying and resolving errors earlier in the development process.

The testing automation market is expected to grow at a CAGR of 16.4% between 2022-2027. Organizations are investing  more resources in their automation infrastructure. Hiring technical testers  responsible for writing and maintaining company’s automation work is also increasing.


Testing In Production is Increasing

In DevOps methodologies, releases are happening as fast as possible, pushing the software testing efforts to the right side of the deployment threshold. Testing in production is being done and issue are being resolved in a live environment. 



2022

Nasscom - KPMG -‘Software Testing: Trends shaping the Industry’ shares a quick view of the global and Indian trends in software testing with insights for businesses, testing professionals & other stakeholders. It is designed to offer a thought on the industry and how digital transformation is blurring boundaries between development, testing and operations teams with special focus on testing.

May 2022

Automating the Software Inspection Process

Fraser Macdonald

1995, Automated Software Engineering

https://www.academia.edu/48963309/Automating_the_Software_Inspection_Process

Monitoring Software Inspections With Prescriptive Metrics

March 1998

Authors:

Ilkka Tervonen

University of Oulu

Juha Iisakka

University of Oulu

https://www.researchgate.net/publication/2409746_Monitoring_Software_Inspections_With_Prescriptive_Metrics

1999

Chapter 3 Using Formal Inspections in Software Quality Assurance

http://users.csc.calpoly.edu/~jdalbey/205/Resources/Inspections/UsingInspections.html

2000
A Path to Virtual Software Inspection

Henrik Hedberg
https://www.academia.edu/12219257/A_Path_to_Virtual_Software_Inspection

A tailored capability model for inspection process improvement

I. Tervonen; J. Iisakka; L. Harjumaa

Abstract:

Software inspection is recognised as the most effective means of finding defects. In spite of its important role in software development, existing capability models have not addressed inspection issues or looked for inspection-related improvement activities to a sufficient extent. The inspection-tailored capability model presented provides a method for evaluating inspection process capability and supports the location of weak points in a company's inspection process. The first experiments reported are promising, and the evaluation process discovered correctly focused improvement ideas which were also agreed on by the company concerned.

Published in: Proceedings Second Asia-Pacific Conference on Quality Software, Hong Kong, China

Date of Conference: 10-11 Dec. 2001

Date Added to IEEE Xplore: 07 August 2002

DOI: 10.1109/APAQS.2001.990030

https://ieeexplore.ieee.org/document/990030/citations#citations

 

1.L. Harjumaa, I. Tervonen, P. Vuorio, "Improving software inspection process with patterns", Quality Software 2004. QSIC 2004. Proceedings. Fourth International Conference on, pp. 118-125, 2004.

2.Lasse Harjumaa, Ilkka Tervonen, Sirpa Salmela, "Steering the inspection process with prescriptive metrics and process patterns", Quality Software 2008. QSIC '08. The Eighth International Conference on, pp. 285-293, 2008.

3.Lasse Harjumaa, Ilkka Tervonen, Pekka Vuorio, Product Focused Software Process Improvement, vol. 3009, pp. 62, 2004.


2003

https://wiki.c2.com/?SoftwareInspection


Books on Software Testing



https://books.google.co.in/books?id=zQg3EAAAQBAJ  

2021

https://books.google.co.in/books?id=Q30wEAAAQBAJ   




2020

https://books.google.co.in/books?id=hRwGEAAAQBAJ   

2015

https://books.google.co.in/books?id=cSpzCQAAQBAJ    

2009

https://books.google.co.in/books?id=fgaBDd0TfT8C    




2005

The ROI from Software Quality

Khaled El Emam

CRC Press, 09-Jun-2005 - Business & Economics - 296 pages

The ROI from Software Quality provides the tools needed for software engineers and project managers to calculate how much they should invest in quality, what benefits the investment will reap, and just how quickly those benefits will be realized. This text provides the quantitative models necessary for making real and reasonable calculations



New.

Popular E-Book on IE,

Introduction to Modern Industrial Engineering.  #FREE #Download.

In 0.5% on Academia.edu. 10,600+ Downloads so far. 

https://academia.edu/103626052/INTRODUCTION_TO_MODERN_INDUSTRIAL_ENGINEERING_Version_3_0


Ud 23.9.2024, 23.9.2023, 23.9.2022, 23 Sep 2021

Pub 5 Dec 2020




No comments:

Post a Comment