Transcription of Best Software Quality Assurance Practice Process in the ...
1 Page 1 of 225 best Software Test & Quality Assurance practices in the project Life-cycle An approach to the creation of a Process for improved test & Quality Assurance practices in the project life-cycle of an SME. Mark Kevitt, BSc University: Dublin City University Supervisor: Renaat Verbruggen School Computer Applications April 2008 Page 2 of 225 Abstract The cost of Software problems or errors is a significant problem to global industry, not only to the producers of the Software but also to their customers and end users of the Software . There is a cost associated with the lack of Quality of Software to companies who purchase a Software product and also to the companies who produce the same piece of Software .
2 The task of improving Quality on a limited cost base is a difficult one. The foundation of this thesis lies with the difficult task of evaluating Software from its inception through its development until its testing and subsequent release. The focus of this thesis is on the improvement of the testing & Quality Assurance task in an Irish SME company with Software Quality problems but with a limited budget. Testing practices and Quality Assurance methods are outlined in the thesis explaining what was used during the Software Quality improvement Process in the company. Projects conducted in the company are used for the research in the thesis.
3 Following the Quality improvement Process in the company a framework for improving Software Quality was produced and subsequently used and evaluated in another company. Page 3 of 225 Table of contents 1 Chapter One Introduction .. 5 A Software company with Software Quality problems .. 5 Aim .. 5 Objectives .. 6 2 Chapter Two - Methodology .. 7 Action Research .. 7 The type of Action research used in this 9 3 Chapter Three - What is Software testing .. 11 Principles of Software testing .. 11 Principal testing methods .. 12 Functional testing (black box) .. 12 Structural testing (white box).
4 14 Grey box testing .. 15 Thread Testing .. 16 System Testing .. 17 The Test Process .. 20 Test Planning .. 21 Manage Test 24 Summary .. 35 4 Chapter Four Quality Assurance .. 37 Complications with Software and its Quality Assurance .. 37 Factors that impact Software Quality .. 39 Software Quality Assurance .. 43 Verification versus Validation .. 45 Software Quality measurement .. 46 Software Defects .. 48 Classification of Software Errors .. 49 Structure of Software Quality Assurance (SQA) .. 52 Planning from the project initiation and project planning stage .. 53 Management of the Project life-cycle activities and components.
5 57 Defect Prevention 65 Capturing and analysing defect metrics .. 67 Quality Management Models .. 72 In Process metrics for Software testing .. 74 Refactoring the Management of all SQA components .. 77 Software Quality Management .. 77 The SEI Process Capability Maturity model .. 79 Software Process Assessment .. 81 Software Quality Auditing .. 83 Summary .. 84 5 Chapter Five Software Test and Quality Assurance Practice Improvement .. 85 The first steps to test and QA Practice improvements .. 85 Industry background .. 86 Description of company X BMS system .. 87 Research and Development department description.
6 90 The Quality problem that is to be tackled .. 93 The investigation .. 94 The investigation 95 Page 4 of 225 The proposal to the company .. 105 My proposed solution .. 106 The Principal design factors behind my proposed solution .. 106 An Initial model .. 109 Summary .. 114 6 Chapter Six - Implementation of improvements .. 115 Company X - HVAC Controller Project .. 117 HVAC Project description .. 117 HVAC Plan .. 118 HVAC Project Implementation (Execution and Observation) .. 127 HVAC controller project reflection .. 134 Company X CNET Project Repeat improvements .. 136 CNET Project description.
7 136 CNET Plan .. 137 CNET Project Implementation (Execution and Observation) .. 139 CNET Controller Project Reflection .. 142 Company X UEC8 Engineering Application .. 144 UEC8 Project description .. 144 UEC8 Plan .. 145 UEC8 Project Implementation (Execution and Observation) .. 146 UEC8 project reflection .. 149 7 Chapter Seven - Development of a Framework .. 151 Evolved Quality Assurance framework .. 154 Secondary Independent Assessment of my proposed Solution .. 160 Company Y - Project FIIS Application .. 162 FIIS Project description .. 162 FIIS Plan .. 163 FIIS Project Implementation (Execution and Observation).
8 166 FIIS project reflection .. 169 Summary .. 170 8 Chapter Eight - Conclusions and Further work .. 171 Conclusion .. 171 Limitations of research .. 173 Improvements to practices .. 174 Further Work .. 175 9 Appendices, Glossary and Bibliographies .. 176 Appendix A Company X Process documentation .. 176 Appendix B Glossary of terms .. 177 Bibliography .. 179 Web Bibliography .. 180 Page 5 of 225 1 Chapter One Introduction A Software company with Software Quality problems This thesis is focused on the creation and provision of a testing & Quality Assurance (QA) Process for Software Quality improvement in an Irish company (the company) and also for the creation of a framework for similar Quality improvements in the Process for other company s.
9 Employed in the company as a testing professional I have the responsibility to lead a test department and to ensure that the Software released to the customers is of the highest standard. To raise the bar on this standard I decided to conduct research into testing and QA practices and to implement improved practices within the company. This thesis is a product of the research into test and QA practices and for the provision of an improved test Process in the company. This Process will combine elements of testing and QA into one Process , this one Process in turn will be inserted into the company s development lifecycle.
10 The research was agreed with academic representatives from DCU University and with senior management from the company. I conducted this research on a part time basis with the University while working full time in the company. Aim The aim of this thesis is to investigate the best test and QA practices in industry and to design and evaluate a Process for implementing best practices in the Software lifecycle of a small to medium enterprise (SME) over successive projects. Page 6 of 225 Objectives There are a number of objectives for this paper, the first is to define the principles of Software testing, describe the numerous testing methodologies and how to effectively conduct this testing on projects in industry.