Identification and Analysis of Combined Quality Assurance Approaches

Size: px
Start display at page:

Download "Identification and Analysis of Combined Quality Assurance Approaches"

Transcription

1 Master Thesis Software Engineering Thesis no: MSE-2010:33 November 2010 Identification and Analysis of Combined Quality Assurance Approaches Vi Tran Ngoc Nha School of Computing Blekinge Institute of Technology SE Karlskrona Sweden

2 This thesis is submitted to the School of Engineering at Blekinge Institute of Technology in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering. The thesis is equivalent to 24 weeks of full time studies. Contact Information: Author: Vi Tran Ngoc Nha Address: Kaiserslautern, Germany External advisor(s): Frank Elberzhager Fraunhofer Institute for Experimental Software Engineering, Kaiserslautern, Germany External advisor(s): Prof. Dr. Dr. h. c. Dieter Rombach Executive Director, Fraunhofer IESE, Kaiserslautern Germany University advisor: Dr. Tony Gorschek Blekinge Institute of Technology School of Computing Blekinge Institute of Technology SE Karlskrona Sweden Internet : Phone : Fax : ii

3 ABSTRACT Context: Due to the increasing size and complexity of software today, the amount of effort for software quality assurance (QA) is growing and getting more and more expensive. There are many techniques lead to the improvement in software QA. Static analysis can obtain very good coverage while analyze program without execution, but it has the weakness of imprecision by false errors. In contrast, dynamic analysis can obtain only partial coverage due to a large number of possible test cases, but the reported errors are more precise. Static and dynamic analyses can complement each other by providing valuable information that would be missed by using isolated analysis technique. Although many studies investigate the QA approaches that combine static and dynamic QA techniques, it is unclear what we have learned from these studies, because no systematic synthesis exists to date. Method: This thesis is intended to provide basic key concepts for combined QA approaches. A major part of this thesis presents the systematic review that brings details discussion about state of the art on the approaches that combine static and dynamic QA techniques. The systematic review is aimed at the identification of the existed combined QA approaches, how to classify them, their purposes and input as well as introduce which combination is available. Result: The results show that, there are two relations in the combination of static and dynamic techniques such as integration and separation. Besides, the objectives of combined QA approaches were introduced according to QA process quality and product quality. The most common inputs for combined approaches were also discussed. Moreover, we identified which combination of static and dynamic techniques should or should not be used as well as the potential combination for further research. Keywords: Quality assurance, Static analysis, Dynamic analysis, Testing, Inspection, Systematic review.

4 ACKNOWLEDGEMENTS This thesis is performed with the sincere help and contributions of several people. I would like use this opportunity to express my gratitude to them. It is a pleasure to thank my thesis supervisor Frank Elberzhager for invaluable guidance and support throughout the thesis. His encouragement and advice developed my inspiration and understanding of the topic. I am also thankful to my EMSE co-supervisor Dr. Tony Gorschek from Blekinge Institute of Technology for his review and important comments. Moreover, I would like to thank the library staffs of Fraunhofer Institute for Experimental Software Engineering and Blekinge Institute of Technology for their help to get useful papers and books. Lastly, I am deeply grateful to my family and EMSE friends for their support, encouragement and always being with me through all the challenges I faced. ii

5 CONTENTS 1 INTRODUCTION MOTIVATION AIMS AND OBJECTIVES RESEARCH QUESTIONS EXPECTED OUTCOMES STRUCTURE OF THESIS TERMINOLOGIES BACKGROUND SOFTWARE QUALITY QUALITY ASSURANCE STATIC QA TECHNIQUES Inspection Walkthrough Static code analysis DYNAMIC QA TECHNIQUES COMBINED QUALITY ASSURANCE APPROACH RELATED WORK RESEARCH METHODOLOGY BRIEF DESCRIPTION OF RESEARCH METHODOLOGY RESEARCH METHODOLOGY IN THE CONTEXT OF THIS TOPIC MAPPING BETWEEN RESEARCH METHODOLOGIES AND RESEARCH QUESTIONS SYSTEMATIC REVIEW PLANNING AND CONDUCTING SYSTEMATIC REVIEW PROCESS Planning the review Conducting the review Reporting the review PLANNING THE REVIEW The need of systematic review Defining research question Review protocol Study quality criteria Data extraction strategy Synthesis of the extracted data Review protocol evaluation CONDUCTING REVIEW Primary study selection Data extraction Study quality assessment SYSTEMATIC REVIEW RESULT CHARACTERISTIC OF PRIMARY STUDIES Publication year Publication channel RESEARCH RESULTS SQ1. What are existing approaches that combine static and dynamic quality assurance techniques? SQ2. Which kinds of evidence is there that support the combined quality assurance (CQA) approaches? SQ3. What are the objectives of CQA approaches? SQ4. Which CQA approaches exist? What are the common static techniques and dynamic techniques used in CQA approaches? SQ5. Which input is used for static techniques in CQA approaches? iii

6 7 THREATS TO VALIDITY INTERNAL VALIDITY EXTERNAL VALIDITY CONCLUSION SUMMARY OF FINDINGS SQ1. What are existing approaches that combine static and dynamic quality assurance techniques? SQ2. Which kinds of evidence is there that support the combined quality assurance (CQA) approaches? SQ3. Which CQA approaches exist? What are the common static techniques and dynamic techniques used in CQA approaches? SQ4. Which CQA approaches exist? What are the common static techniques and dynamic techniques used in CQA approaches? SQ5. Which input is used for static techniques in CQA approaches? INTERPRETATION FUTURE WORK Create a framework to select suitable quality assurance strategy Extension of the systematic review Conduct a systematic review for quality assurance effort reduction approaches BIBLIOGRAPHY APPENDIX A Test case prioritization (TCP) Test case reduction (TCR) Automated testing Fault-proneness prediction Combined quality assurance approach APPENDIX B APPENDIX C APPENDIX D iv

7 LIST OF FIGURES Figure 1: Thesis structure... 3 Figure 2: Five steps of Inspection... 8 Figure 3: Technical dimensions of software inspection... 9 Figure 4: Five steps in walkthrough Figure 5: The two basic dimensions of test techniques Figure 6: Systematic review process Figure 7: Review protocol Figure 8: Selection of primary studies Figure 9: Distribution of studies by publication year Figure 10: Distribution of studies by publication channel Figure 11: Classification of Combined Quality Assurance approaches Figure 12: Classification based on type of study Figure 13: Distribution of studies by year Figure 14: Type of study- Direct Investigation Figure 15: Type of Empirical study Figure 16: Study objectives QA process quality Figure 17: Study Objectives - Product quality Figure 18: Static techniques Figure 19: Dynamic techniques Figure 20: Input of static techniques v

8 LIST OF TABLES Table 1: Terminologies used in the thesis report... 4 Table 2: Research methodology mapping Table 3: Question structure Table 4: Search string attributes Table 5: Search string formation Table 6: Quality checklist Table 7: A sample of data extraction form Table 8: Quality checklist summary Table 9: List of publication channel Table 10: Static techniques Table 11: Dynamic techniques Table 12: Combination of static and dynamic techniques in CQA Table 13: QA effort reduction approaches vi

9 1 INTRODUCTION 1.1 Motivation Nowadays software system is playing an increasingly important role in our society. Since software systems are growing up in both size and complexity, developing high quality and reliable systems is becoming more challenging and more expensive. Building software products on time, within budget and with highest quality is the demand in the area of software quality assurance [6]. The significant cost for software development is for quality assurance activities. Studying the techniques that lead to improvement of quality assurance or testing effectiveness will helps to reduce cost and effort. Combined QA that use both static and dynamic QA techniques is one of the approaches. This master thesis will explore the quality assurance (QA) approaches that combine static and dynamic QA techniques. Except from the goal of reducing cost and effort, the combined QA approaches which concern about other goals in literature are also taken into account. There are many techniques used to improve testing efficiency in software quality assurance. Quality assurance techniques are divided into 2 types: static and dynamic QA techniques. Static QA techniques is a technique which help to check the software without executing the system while dynamic QA techniques test the system by running it [5,6]. However, most of existing approaches is often performed static QA techniques separately from dynamic QA techniques that often lead to the waste of effort in software quality assurance. Combining static and dynamic QA techniques by using both static QA techniques and dynamic QA techniques is one of the approach that can helps tackle this problem [8]. There are already significant empirical studies discussing about testing effectiveness and quality [1,3,4,7] but no systematic review have been done for summary and classification of all the combined approaches. In this thesis the state of art about combined software quality assurance will be presented. In details, the existing approaches for combining static and dynamic QA activities will be identified and analyzed. Later, a classification of these approaches will be provided. This thesis will cover the empirical research in this area. The state of the art will be examined on the principles of a systematic literature review from Kichenham [9] to gain a solid overall impression. 1.2 Aims and objectives The aim of this master thesis is to study combined quality assurance (QA) approaches focusing on combining static and dynamic QA techniques. In order to achieve this target, the following tasks need to be done: Identify the quality assurance approaches that combine or integrate static and dynamic QA techniques. 1

10 Identify the objective of combined approaches. Identify which static QA techniques are used in combined approaches. Identify which dynamic QA techniques are used in combined approaches. Identify the input of combined approaches. Analyze and synthesize the result of these studies. Classify those techniques based on the manner and behavior of techniques Point at gaps in current knowledge regarding combined quality assurance approach 1.3 Research questions In the following, a set of research questions is listed. The major research question (RQ) is divided into several sub questions (SQ). Answering the SQs allows us to answer the main research question RQ. RQ: Which software quality assurance approaches / methods / techniques that combine static and dynamic quality assurance techniques? SQ1. What are existing approaches that combine static and dynamic quality assurance techniques? SQ2. Which kinds of evidence is there that support the combined quality assurance (CQA) approaches? SQ3. What are the objectives of CQA approaches? SQ4. Which CQA approaches exist? What are the common static techniques and dynamic techniques used in CQA approaches? SQ5. Which input is used for static techniques in CQA approaches? 1.4 Expected outcomes The expected outcome is a thesis report which contains three main aspects. Firstly, this report will introduce the available combined quality approaches that combine static and dynamic QA techniques in literature. Secondly, the objectives and environment factors related to the approaches will be identified and analysis. Finally, the classification of the reviewed approaches will be proposed by following the principles of a systematic literature review. 2

11 1.5 Structure of thesis Figure 1 shows the overall structure of this thesis. The content is logically divided into three main parts, namely background research, research design and research contribution. Figure 1: Thesis structure In Background Research the reader is equipped with the essential information to follow the topics in the following parts. Chapter 1 (Introduction) present briefly the topic area, the necessity of the work and research questions. Chapter 2 (Background) introduces the software quality, software quality assurance, quality assurance techniques, static and dynamic, testing and inspection. The chapters in Background Research can be skipped if the reader is already familiar with these topics. Chapter 3 (Related Work) presents a brief summary of the related work regarding the combined quality assurance approaches. In Research Design the implementation details of the conducted research are presented. Chapter 4 (Research Methodology) depicts the strategy how the stipulated research questions will be answered. Furthermore, the design of the systematic review is illustrated in Chapter 5 (Systematic Review Planning and Conducting). It includes a detailed review protocol which aims to add traceability to the review and to support a possible replication in the future. In Research Contribution the original work of this thesis is presented. Chapter 6 (Systematic review results) analyses the gathered information through the systematic review and presents the findings. In Chapter 7 (Threats to validity), validity threats regarding the research work are discussed. The thesis work closes with Chapter 8 (Conclusion and Future work). 3

12 1.6 Terminologies In this work, there are several terms which are used frequently. Table 1 provides the short definition of terminologies used in the thesis report. The background details of each terminology are introduced in Chapter 2. Table 1: Terminologies used in the thesis report Term Quality assurance Static quality assurance techniques Dynamic quality assurance techniques Combined quality assurance Evidence Systematic Literature review Definitions Quality assurance involves evaluating overall project performance to provide the confidence that the project will satisfy the relevant quality standards [13]. The objective of quality assurance activities is to quantify the quality of software artifacts and providing guideline for quality improvement. Static techniques contain all techniques that do not need to run the software but operate on the code and/or other documents to observe their properties, mainly detect their defects. Dynamic analysis is the process of examining the properties of a program based on its behavior during runtime and requires program execution. Static and dynamic QA techniques usually are applied in QA activities separately and replaceable for each other. Combined QA is all the approaches that use both static and dynamic for defect detection. Type of study that primary studies conduct. A means of identifying, evaluating and interpreting all available research relevant to a particular research question, topic area, or phenomenon of interest [23]. 4

13 2 BACKGROUND This chapter provides the background of frequently used term throughout this report as well as the background of related concepts, e.g. software quality, software quality assurance, quality assurance techniques, static and dynamic quality assurance, testing and inspection. 2.1 Software quality Software quality is an open topic for discussion and hence, there are many definitions of software quality in practitioner community. IEEE standard defines software quality as: (1) The degree to which a system, component, or process meets specified requirements. [10] (2) The degree to which a system, component, or process meets customer or user needs or expectations. [10] In other definition, Software quality is seen as measurement of how well software is designed and how well the software conforms to that design [11]. Both definitions highlight the role of quality of requirement (how to build a right software) and quality of implementation (how to build a software rightly). Therefore, in order to ensure the quality of software, it is concerned two aspects, quality assurance of requirement (validation) and quality assurance of implementation (verification). The software quality can be expressed by quality attributes, those are a feature or characteristic that affects an item s quality [10]. To best of our knowledge, there is no generally accepted set and description of quality attributes but a well-known set is defined in the standard ISO 9126 [12]: Functionality Reliability Usability Efficiency Maintainability Portability 2.2 Quality assurance Quality assurance (QA) is defined by the IEEE in [10] as following: (1) A planned and systematic pattern of all actions necessary to provide adequate confidence that an item or product conforms to established technical requirements. 5

14 (2) A set of activities designed to evaluate the process by which products are developed or manufactured. Quality assurance involves evaluating overall project performance to provide the confidence that the project will satisfy the relevant quality standards [13]. Quality assurance can be focused on the product or the process. In this work, we focus on the first aspect of quality assurance. The objective of quality assurance activities is to quantify the quality of software artifacts and providing guideline for quality improvement. Quality assurance differs from quality control in that quality control is a set of activities, which focus on evaluating quality of developed product. The process is conducted during or after the production of product. Meanwhile, quality assurance focuses on reducing the cost of ensuring quality by a variety of activities performed throughout the development and manufacturing process. Therefore, the main objective of quality assurance is cost effectiveness of QA activities. There are various kind of QA techniques and methods used to quarantine software quality, i.e., preventing defects or detecting exiting defects. The QA activities that focuses on detecting exiting defects is also called Verification and validation, which is defined by the IEEE [10] as follows: Verification and validation is the process of determining whether the requirements for a system or component are complete and correct, the products of each development phase fulfill the requirements or conditions imposed by the previous phase, and the final system or component complies with specified requirements. We distinguish the two relevant concepts: verification and validation: Verification is the process of evaluating a system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase. Validation is the process of evaluating a system or component during or at the end of the development process to determine whether it satisfies specific requirements. Within verification and validation techniques, there are two main categories, namely (1) static and (2) dynamic techniques. Static techniques contain all techniques that do not need to run the software but operate on the code and/or other documents and detect their defects. On the contrary, dynamic analysis runs the compiled software with the aim to observe failures. The main dynamic analysis method is software testing. In this report, we use the term static QA techniques and dynamic QA techniques to refer to the term static and dynamic techniques mentioned above. 6

15 2.3 Static QA techniques The popular static QA techniques are inspection, review, walkthrough and code static analysis Inspection Inspections are one of the most well-known forms of static analysis because they can detect defect in early stages of development process. The first structured software inspection method was introduced by Michael Fagan [14]. He proposed the approach of a formal inspection process, which includes five main steps as following: Overview: An overview is the beginning step of inspection process. The meeting is hold with the presence of author and the inspection team. During the meeting, the author of the produced document describes the general area of work and gives detailed information of inspected document. Preparation: Each inspector analyzes the artifact and any supporting documentation independently to detect potential defects. All potential defects are recorded. Inspection: An inspection meeting is held with all team members. One reader paraphrases the artifact. During this process, inspectors can stop the reader and raise any issue they have found, either in preparation time or at the meeting. The issue is discussed until agreement is reached. The agreed defects will be classified based on defect characteristic as well as its severity (major or minor). After the meeting, the detail report during inspection will be documented by the moderator. The author of this artifact will rework based on the report. Rework: The author of the artifact made modifications based on the meeting report to correct all found defects. Follow-up: All required alterations are ensured to be made by the moderator. The moderator then decides whether the artifact needs to be re-inspected. The decision depends on the quantity and quality of the rework. 7

16 Figure 2: Five steps of Inspection [14] According to Fagan, the results of inspections should never be used as criteria for assessment of programmers [14]. Inspections are self-improvement processes because inspection results are used as feedback for both defects removal and professional development. Inspection statistics, such as inspection rates and error density, are collected and used for determining characteristics of inspections and for process improvement as well as defect hindrance. Since then many variations on the process and the reading techniques have been proposed. We refers to the classification of inspection techniques in [15]. The work uses four dimensions to classify inspection techniques, which are: Technical dimension: methodological variations Economic dimension: economic effects on the project and vice versa Organizational dimension: effect on the organization and vice versa Tool dimension: support with tools The process of an inspection typically consists of the phases planning, overview, detection, collection, correction, and follow up. In the planning phase, a particular inspection is organized when artifacts pass the entry criteria to the inspection. We need to select the participants, assign them to roles and schedule the meetings. The overview phase sometimes called kickoff meeting is not compulsory and the literature differs in this respect. This phase is intended to explain the artifact and its relationships to the inspectors. This can be helpful for very complex artifacts or for early documents such as requirements descriptions. The next phase defect detection is the main part of the inspection. This is often divided into 8

17 preparation and a meeting. How the details of this phase look like differs in the literature. Some authors suggest that already the preparation part should be used for defect detection while others propose to only try to understand the artifact and do the actual defect detection in the meeting part. Besides the difference in the steps, sequences of processes of inspections, the other difference lies in the use of reading techniques. There are many available reading techniques used in inspection, such as perspective based reading, checklist based reading, defect based reading and etc Walkthrough Figure 3: Technical dimensions of software inspection [15] A structured walkthrough is an organized procedure for a group of people to review and discuss the technical aspects of software development and maintenance work products [16]. The major objectives of a structured walkthrough are to find errors and to improve the quality of the product. The basic purpose of a walkthrough is error detection, not error correction. When the walkthrough is completed, the author of the work product is responsible for taking the necessary actions to correct the errors. Walkthrough is considered as a simplified version of formal inspection process. Each participant in the structured walkthrough process has a specific role. For a small size project, a person may have multiple roles. These roles are; coordinator, producer, reviewer and scribe. The coordinator contacts participants, prepares and distributes documentation, and selects a schedule for the walkthrough. Participants spend time preparing for the walkthrough by examining the product. The walkthrough, which is a group activity, is the central component of the review process where all participants meet and discuss or comment on the product. Then, a list of the comments is made and passed to the producer. This list is used to make changes in the product. A final management summary is also produced by the coordinator. Feedback is not used to control the development process. Walkthrough process and its participants are given in Figure 2. 9

18 2.3.3 Static code analysis Figure 4: Five steps in walkthrough [16] Static code analysis is a method that aims to find defects in code without actually executing programs. The analysis is often performed with supports of software tools. There are various techniques of static code analysis, which can be classified into four main categories, namely data flow analysis, control flow analysis, program slicing and formal methods. Data flow analysis: to detect ineffective code and identify data flows that is not suit to practice such as variable are written before they are read. It is also known as symbolic form of analysis without considering specific data values. Control flow analysis: translate the program into a flow graph to detect poorly structured code and identify inaccessible code and non-termination classes. Program slicing: A slice is the set of program statements that affected a given value [11]. Program slicing focuses on a particular subset of variables involving in a given part of the program. Program slicing improves re-testing by selecting test case for regression tests or improve program comprehension. Formal methods: Formal methods use mathematical logic and reasoning (proof) to establish correctness and point out the gap between abstract designs and concrete code. Formal methods can be applied to design specification and code. Model checking and symbolic analysis are common types of formal methods. 10

19 2.4 Dynamic QA techniques The main dynamic analysis is software testing. There are many definitions about testing, few of them are: 1. the process of using a system or component under given circumstances, of observing or noting the results, and carrying out an evaluation of the system or component from a given perspective [17] 2. the process of executing a program with the purpose of detecting defects [18] 3. is questioning a product in order to evaluate it [19] Software testing also provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. There are various possibilities to classify different test techniques. We base our classification on standard books about testing [18, 20] and the classification in [2]. One can identify at least two dimensions to structure the techniques: (1) The granularity of the test object and (2) the test case derivation technique. Fig. 2.2 shows these two dimensions and contains some concrete examples and how they can be placed according to these dimensions. The types of test case derivation can be divided on the top level into (1) functional and (2) structural test techniques. The first only uses program specification to generate test cases, whereas the latter relies on the source code and the specification. In functional testing generally techniques such as equivalence partitioning and boundary value analysis are used. The tested component is viewed as a black box, and their behaviors are determined by studying its inputs and associated outputs [13]. Structural testing is often divided into control-flow and data-flow techniques. Control flow testing techniques require understanding of source code. This family studies a series of paths throughout the program, thereby examining the program control model. Data flow testing aims at examining program paths and sequence events, which consider the data state, number and type of uses of variables. On the granularity dimension, we often see the phases unit, module or component test, integration test, and system test. In unit tests, only basic components of the system are tested using stubs to simulate the environment. Unit testing includes white box (clear box or glass box), black box and gray box. The white-box approach generates test cases according to the information derived from the source code of the software under test. White box use control flow testing and data flow testing when the source code is already developed. The black-box approach, on the other hand, generates test cases from information derived from the specification without understanding about the software structure. the classification-tree method (CTM) 11

20 During integration tests the components are combined and their interaction is analyzed as a group. It occurs after unit testing and before system testing. Integration testing takes as its input modules that have been unit tested, groups them in larger aggregates, applies tests defined in an integration test plan to those aggregates, and delivers as its output the integrated system ready for system testing [21]. Finally, in system testing the whole system is tested, often with some similarity to the later operational profile. The system testing is normally conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. The testing techniques using the scope of black box testing, and as such, should require no knowledge of the inner design of the code or logic. Besides, there are some special types of testing either with a special purpose or with the aim to simplify or automate certain parts of the test process. Random testing technique generates random test cases without following any prioritization or pre-established guidelines but use a stochastic approach to cover the input range. Mutation operators base mutation testing techniques on modeling typical programming faults, which is dependent on the programming language. Each mutation operator can applied to generate several mutants (programs that are the same as the original program except one modified sentence by the mutation operator). Model-based testing i.e. uses explicit behavior models as basis for test case derivation, possibly with an automatic generation. Figure 5: The two basic dimensions of test techniques [15] 2.5 Combined quality assurance approach Static and dynamic QA techniques usually are applied in Quality Assurance (QA) activities separately and replaceable for each other. Some of studies have shown the advantages to combine static and dynamic QA techniques. To get an overview picture of combined QA approaches and to reason about the performance of the reviewed approaches, a systematic review is conducted. Literature provides various examples of combined approaches with varying methodologies. The aim of this study is to identify the 12

21 different approaches and to put them in a systematic context. The main outcomes from this review are to find out the methods that combined quality assurance activities and their purpose. Apart from that, it is also subject of interest to know the context of these methods, i.e. to see what is the focus of the reviewed approaches, the requirement to use them as long as their performance. 13

22 3 RELATED WORK A preliminary study on the literature indicates that no systematic reviews on combined quality assurance (CQA) approaches have been conducted before. However, several studies which are related to the area of quality assurance, especially testing and inspection are identified. Although the studies reside in the same area, they do not focus on the issues addressed in this thesis work. In 1987, Basily and Selby [77] conducted a control experiment to compare three software testing techniques, e.g. code reading, functional testing and structural testing. The comparison strategy is based on three aspects, e.g. fault detection effectiveness, fault detection cost and class of detected fault. The subjects of this study are 32 professional programmers and 42 advance students. The result shows that code reading and functional testing is both superior than structural testing. Code reading detected more interface faults and functional testing detected more control faults. For the purpose of estimation the percentage of faults detected, code readers gave the most accurate estimates while functional testers gave the least accurate estimates. This experiment is considered as the milestone for comparing testing techniques and giving motivation for using both code reading and testing techniques to detect different types of defects. Oliver Laitenberger [78] in 1998 contributes a controlled experiment to characterize the effects of code inspection and structural testing on software quality. In this experiment, C-module is test with 20 subjects. The result shows that inspection significantly outperforms the defect detection effectiveness of structural testing as well as inspection and structural testing are not complemented each other well. Then, the suggestion is given that inspection should be used along with other testing techniques, such as boundary value analysis, to achieve a better defect coverage. This experiment is a starting point and encourages other researchers to investigate the optimal mix of defect detection techniques. A study by Per Runeson, Carina Andersson, and Thomas Thelin entitled What do we know about defect detection methods provides the survey about empirical studies which compare inspection and testing. They summarize 12 studies nine experiments on code defects, one experiment on design defects, and two case studies on detection process to search for evidence that would help developers choose between defect detection methods. The comparison data about average values of effectiveness and efficiency for defect detection is also given. This summary of the empirical studies can be considered as a general guide for which defect detection methods to use for different purposes and at different development stages. Although it mentions strategy of selecting defect detection techniques but this result is not novel or strictly empirically based. Furthermore, the study does not provide overall picture of CQA approaches. This thesis is intended to identify CQA approaches that use both static and dynamic techniques for defect detection and put them in a systematic manner. This thesis will explore the objective and procedure of 14

23 each approach in more details. Furthermore, the common combination of static and dynamic techniques as well as the potential combination for further research is also discussed. 15

24 4 RESEARCH METHODOLOGY To answer the research questions in this topic, two research methods were used: literature review and systematic literature review. Before describing how each of these research methods is used, their definition and process are introduced in Section 4.1. Section 4.2 provides a flow chart to illustrate how the chosen research methods were applied in this study to answer the research questions. In Section 4.3, every research questions is mapped to research method which is used to answer that research question. 4.1 Brief description of Research Methodology This thesis conducts a systematic review on combined quality assurance approaches. The brief definition and the process of systematic review is given as following. According to Kitchenham et al., Systematic review (also referred as a systematic literature review) is considered a secondary study which reviews all studies related to a specific research topic, to answer the research question by identifying, analyzing and interpreting all relevant evidence [23]. Systematic review is performed by following a well-defined methodology that is unbiased and (to some extent) repeatable. The most common reasons for performing a systematic review are: to summarize the existing evidence of the research question, to identify a gap in current research and to provide a background for new research activities [23]. Kitchenham recommend three phases to do systematic review: planning the review, conducting the review and report the review. In first phase, the most important steps are to define the research question and develop a review protocol. Review protocol is the procedure and purpose to do the systematic review [24]. The review protocol helps to reduce the possibility of researcher bias as well as for researcher to focus on their research goals. In conducting review phase, the main activities are selecting the primary studies based on defined search strategy, accessing the quality of the studies, extracting data from the studies for further analysis and synthesizing data to draw final answer for the research question. And then, in the last phase, the review is documented in an appropriate format and evaluates the report to ensure the validity and quality of the report. 4.2 Research Methodology in the context of this topic To answer the research question, a systematic review was conducted. All the steps of the systematic review were performed with the consideration of these aspects, from forming the research questions, design the review protocol in planning phase, select related primary studies, and extract and synthesis 16

25 data from these studies in the conducting phase, as well as document the results in the reporting phase. This method incorporates the data extraction strategy of the systematic review so that the data can be collected in a systematic way and is usable for later use in conceptual analysis. According to the findings from the data synthesis, the categorization and generalization are proposed to do the classification of combined quality assurance approaches. The detail description of each phase for this systematic review is provided in the following chapter. Chapter 5 provides the planning and conducting for the review and chapter 6 is the summary and synthesis of the result. 4.3 Mapping between Research methodologies and research questions Table 2 describes mapping between research methodologies and research questions to explain the purpose for each research question and which research methodology is applied to answer it. Table 2: Research methodology mapping Research Question RQ. Which software quality assurance approaches / methods / techniques that combine static and dynamic quality assurance techniques? SQ1. What are existing approaches that combine static and dynamic quality assurance techniques? SQ2. Which kinds of evidence is there that support the combined quality assurance (CQA) approaches? SQ3. What are the objectives of CQA approaches? Rationale To explore the combined QA approaches that combines static and dynamic QA techniques. Detailed steps followed to answer this question are elaborated in RQ2.1 to RQ2.6. To explore which existing combined quality assurance approaches that are available in literature To identify the evidence or type of study for each approaches To identify the goal and detail objective for each CQA approaches. Research Methodology Systematic review Systematic review Systematic review SQ4. Which CQA approaches exist? To identify which static QA Systematic 17

26 What are the common static techniques and dynamic techniques used in CQA approaches? SQ5. Which input is used for static techniques in CQA approaches? techniques used in CQA approaches and which dynamic techniques used in CQA approaches. To explore which combination of static and dynamic QA techniques are available or which combinations are potential to be performed. To identify which input static QA techniques use in CQA. review Systematic review 18

27 5 SYSTEMATIC REVIEW PLANNING AND CONDUCTING The systematic review process consists of three phases. Those phases are: plan the review, conduct the review and document the review (Figure 6). The execution of each phase requires iteration, feedback and modification to achieve acceptable results. Each of these phases contains a sequence of stages. The general information about systematic review procedure is explained in section 5.1. Section 5.2 is the design of this systematic review and section 5.3 is the details of systematic review conducting. 5.1 Systematic review process Figure 6 illustrates in detail three phases of a systematic review applied in this thesis Planning the review The first phase is planning the review. In this phase the plan of the complete process is made. There are 4 main steps in this phase. Identify the needs for a systematic review: In the beginning, researchers need to investigate whether a systematic review in the same research area has already been conducted before or not. The evidences will be studied for deciding whether the systematic review is still needed and to which extent. Specifying research questions: The research questions of the systematic review are defined in this step. Primary studies identified in this systematic review and the final result must be able to answer these research questions. Development of the review protocol: In this step the review protocol is developed. It describes the details and methods with which the entire systematic review is conducted. A well-documented review protocol ensures that the systematic review is repeatable. Evaluating the review protocol: This step is to ensure that the review protocol has fulfilled certain quality criteria and the review is unbiased. The researcher without involving in developing the protocol will inspect, evaluate and provide feedback to refine the protocol until its quality is satisfied Conducting the review The following phase is conducting the review. There are five steps that are required to be executed in sequence. 19

28 Perform the search: The resource for searching such as digital libraries, journals, and proceedings to conferences, are identified. The search strategy is applied on these resources to collect potential primary studies. Selection of primary studies: In this step, all studies extracted from the previous step are selected according to inclusion and exclusion criteria. Evaluate quality of primary studies: This step is about assessing the quality of the selected studies from the previous stage based on quality checklist or questions defined in the research protocol. Extract necessary data: In this step, the necessary in the selected studies is extracted for further analysis. Analysis and synthesis data: The gathered information in the extraction forms is analyzed and synthesized to answers the research questions Reporting the review The final phase is reporting the review which mainly focus on prepare the results of the systematic review in an appropriate format. The systematic review guideline explains that there are two stages in this phase. Formatting the main systematic review report: There are two type of formats can be used for reporting a systematic review: technical report or PhD/ Master thesis and journal or conference paper. Evaluating the systematic review report: The report should be evaluated for ensuring its quality and validity. 20

29 21

30 5.2 Planning the review The need of systematic review Figure 6: Systematic review process To identify the need of this systematic review, a preliminary search on the topic was performed. The search tried to answer those questions: i. Were systematic reviews regarding combined quality assurance approaches already existed and to which extend? ii. Were literature reviews regarding combined quality assurance approaches already existed and to which extent? To answer these questions, searching on 2 databases Compendex and Inspec is conducted. The search strings were applied on the field: Subject, Title and Abstract ("WN KY" in the search strings). The synonyms for "systematic review" used in the search string. The results obtained 89 papers but none of them answer the research question in Section 4.2. The result shows that performing the systematic review is necessary. Here is the search string used to perform preliminary search: (((("systematic review" OR "research review" OR "research synthesis" OR "research integration" OR "systematic overview" OR "systematic research synthesis" OR "integrative research review" OR "integrative review") WN KY) AND ((inspection or review or "static analysis" or "static quality assurance") WN KY)) AND ((test* or "dynamic analysis" or "dynamic quality assurance") WN KY)) Defining research question This review questions drive the entire systematic review methodology. The question structure is shown in Table 3. Following Kitchenham [23], the question structure is formed with 4 main aspects. Population is the group or team who use the concept in research question. Intervention is the software methodology/tool/technology/procedure that addresses the issue. Comparison is the software engineering methodology/tool/technology/procedure with which the intervention is being compared. Outcomes should relate to factors that has important impact to practitioner. Context is the environment in which the comparison takes place. Table 3: Question structure Population Intervention project manager, tester, developer, quality assurance team combined quality assurance approaches which combine static QA 22

31 techniques and dynamic QA techniques Comparison Outcomes Context quality assurance approaches which use static QA techniques only or dynamic QA techniques only quality assurance improvement software quality assurance RQ: Which software quality assurance approaches / methods / techniques that combine static and dynamic quality assurance techniques? SQ1. What are existing approaches that combine static and dynamic quality assurance techniques? SQ2. Which kinds of evidence is there that support the combined quality assurance (CQA) approaches? SQ3. What are the objectives of CQA approaches? SQ4. Which CQA approaches exist? What are the common static techniques and dynamic techniques used in CQA approaches? SQ5. Which input is used for static techniques in CQA approaches? Review protocol The Figure 7 describes the review procedure which is applied for this systematic review. Firstly, a literature review was performed to have certain background knowledge about methods/techniques which reduce QA effort. These approaches found during this review gave us an orientation and overview for doing a systematic review in combined QA approaches. Before systematic review was conducted, a preliminary search is performed to explore whether there is already systematic review about combined QA approaches and to which extent. This step ensured that this systematic review is necessary and not a duplicate work. After that, the research questions were defined according to the result of literature review. The search strategy including search term, data source, study selection criteria and study quality assessment are indentified before performing study searching. The search strategy was continuously modified during the evaluation until it was satisfied. The review applies search strategy to get the search result from chosen databases and resources. The study selection criteria defined in search strategy are considered to choose the relevant paper based on 23

32 title/ abstract/ full-text. Thus the selected papers resulted from the searching will be reviewed to get the insight of the topic. The important data from those chosen paper will be extracted and analyzed. Based on the extracted data, the classification of combined QA approaches is proposed and the research questions are answered. Preliminary review search The need of systematic review Define research question Research Questions DatasourceI nspec Compendex Define search strategy Search terms Missing Combine search result Develop assess strategy Evaluate search strategy Satisfied Study quality Criteria Select papers based on tiltle/ abstract/ fulltext Study selection criteria Study extracted data Review paper Data Extraction Strategy Synthesis data Classification Framework Figure 7: Review protocol 24

33 a. Search strategies In order to perform the search in this review, four databases were identified. The main two chosen databases are Inspec and Compendex. These databases are the comprehensive database that contains millions of publication, mostly in engineering and computer science domain. Another reason for choosing Compendex and Inspect is Engineering Village interface for using Compendex and Inspect provides advance search feature a user friendly interface. b. Search string The search string is formed based on the key word derived from the research question. There are four attributes in the search string. Search attributes are derived from the thesis title: Identification and analysis of Combined Quality Assurance approaches. Table 4 shows the steps that are applied to form the search string and rationale for each step. Table 5 presents the relevant terms for each search attribute. Table 4: Search string attributes Search attributes Steps Rationale Attribute 1 Synonyms for static QA techniques", different common type of "static QA To minimize the effect of heterogeneous terminology techniques Attribute 2 Synonyms of software To constraint the search in software engineering Attribute 3 Synonyms of dynamic QA To minimize the effect of techniques, different common type heterogeneous terminology of dynamic QA techniques Attribute 4 Relevant term of combine Increase the coverage of search string Table 5: Search string formation Attribute Steps Relevant terms 1 Static QA techniques inspection or review or static analysis or static quality assurance 2 Software Software 3 Dynamic QA test* or dynamic quality assurance or dynamic techniques analysis 4 Combine combin* or integrat* or synergy or trade off or 25

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static

More information

A SYSTEMATIC LITERATURE REVIEW ON AGILE PROJECT MANAGEMENT

A SYSTEMATIC LITERATURE REVIEW ON AGILE PROJECT MANAGEMENT LAPPEENRANTA UNIVERSITY OF TECHNOLOGY Department of Software Engineering and Information Management MASTER S THESIS A SYSTEMATIC LITERATURE REVIEW ON AGILE PROJECT MANAGEMENT Tampere, April 2, 2013 Sumsunnahar

More information

Metrics in Software Test Planning and Test Design Processes

Metrics in Software Test Planning and Test Design Processes Master Thesis Software Engineering Thesis no: MSE-2007:02 January 2007 Metrics in Software Test Planning and Test Design Processes Wasif Afzal School of Engineering Blekinge Institute of Technology Box

More information

Systematic Mapping of Value-based Software Engineering - A Systematic Review of Valuebased Requirements Engineering

Systematic Mapping of Value-based Software Engineering - A Systematic Review of Valuebased Requirements Engineering Master Thesis Software Engineering Thesis no: MSE-200:40 December 200 Systematic Mapping of Value-based Software Engineering - A Systematic Review of Valuebased Requirements Engineering Naseer Jan and

More information

Information and Software Technology

Information and Software Technology Information and Software Technology 53 (2011) 317 343 Contents lists available at ScienceDirect Information and Software Technology journal homepage: www.elsevier.com/locate/infsof Measuring and predicting

More information

A Systematic Review of Automated Software Engineering

A Systematic Review of Automated Software Engineering A Systematic Review of Automated Software Engineering Gegentana Master of Science Thesis in Program Software Engineering and Management Report No. 2011:066 ISSN:1651-4769 University of Gothenburg Department

More information

1. Systematic literature review

1. Systematic literature review 1. Systematic literature review Details about population, intervention, outcomes, databases searched, search strings, inclusion exclusion criteria are presented here. The aim of systematic literature review

More information

A Systematic Review Process for Software Engineering

A Systematic Review Process for Software Engineering A Systematic Review Process for Software Engineering Paula Mian, Tayana Conte, Ana Natali, Jorge Biolchini and Guilherme Travassos COPPE / UFRJ Computer Science Department Cx. Postal 68.511, CEP 21945-970,

More information

Software Quality Assurance Software Inspections and Reviews

Software Quality Assurance Software Inspections and Reviews Software Quality Assurance Software Inspections and Reviews Contents Definitions Why software inspections? Requirements for inspections Inspection team Inspection phases 2 Definitions Manual quality assurance

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Lean software development measures - A systematic mapping

Lean software development measures - A systematic mapping Master Thesis Software Engineering Thesis no: 1MSE:2013-01 July 2013 Lean software development measures - A systematic mapping Markus Feyh School of Engineering Blekinge Institute of Technology SE-371

More information

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

Measurable Software Quality Improvement through Innovative Software Inspection Technologies at Allianz Life Assurance Measurable Software Quality Improvement through Innovative Software Inspection Technologies at Allianz Life Assurance Bernd Freimut, Brigitte Klein, Oliver Laitenberger, Günther Ruhe Abstract The development

More information

Methods Commission CLUB DE LA SECURITE DE L INFORMATION FRANÇAIS. 30, rue Pierre Semard, 75009 PARIS

Methods Commission CLUB DE LA SECURITE DE L INFORMATION FRANÇAIS. 30, rue Pierre Semard, 75009 PARIS MEHARI 2007 Overview Methods Commission Mehari is a trademark registered by the Clusif CLUB DE LA SECURITE DE L INFORMATION FRANÇAIS 30, rue Pierre Semard, 75009 PARIS Tél.: +33 153 25 08 80 - Fax: +33

More information

Information Visualization for Agile Development in Large Scale Organizations

Information Visualization for Agile Development in Large Scale Organizations Master Thesis Software Engineering September 2012 Information Visualization for Agile Development in Large Scale Organizations Numan Manzoor and Umar Shahzad School of Computing School of Computing Blekinge

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE ENGINEERING INTERVIEW QUESTIONS SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing

More information

Measurement Information Model

Measurement Information Model mcgarry02.qxd 9/7/01 1:27 PM Page 13 2 Information Model This chapter describes one of the fundamental measurement concepts of Practical Software, the Information Model. The Information Model provides

More information

How To Write Software

How To Write Software 1 Medical Device Software - Software Life Cycle Processes IEC 62304 2 Credits John F. Murray Software Compliance Expert U.S. Food and Drug Administration Marcie R. Williams Medical Device Fellow Ph.D.

More information

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

Keywords: SQA,Black Box Testing( BBT), White Box testing(wbt). 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

More information

Protocol for the Systematic Literature Review on Web Development Resource Estimation

Protocol for the Systematic Literature Review on Web Development Resource Estimation Protocol for the Systematic Literature Review on Web Development Resource Estimation Author: Damir Azhar Supervisor: Associate Professor Emilia Mendes Table of Contents 1. Background... 4 2. Research Questions...

More information

Human Factors in Software Development: A Systematic Literature Review

Human Factors in Software Development: A Systematic Literature Review Human Factors in Software Development: A Systematic Literature Review Master of Science Thesis in Computer Science and Engineering Laleh Pirzadeh Department of Computer Science and Engineering Division

More information

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

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc. February 2013 1 Executive Summary Adnet is pleased to provide this white paper, describing our approach to performing

More information

Software Engineering Reference Framework

Software Engineering Reference Framework Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of

More information

CSTE Mock Test - Part III Questions Along with Answers

CSTE Mock Test - Part III Questions Along with Answers Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part III paper. 1. Independence is important in testing is mostly due to the fact that (Ans: C) a. Developers

More information

Review Protocol Agile Software Development

Review Protocol Agile Software Development Review Protocol Agile Software Development Tore Dybå 1. Background The concept of Agile Software Development has sparked a lot of interest in both industry and academia. Advocates of agile methods consider

More information

How To Develop Software

How To Develop Software Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

A Framework for Software Product Line Engineering

A Framework for Software Product Line Engineering Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

More information

GQM + Strategies in a Nutshell

GQM + Strategies in a Nutshell GQM + trategies in a Nutshell 2 Data is like garbage. You had better know what you are going to do with it before you collect it. Unknown author This chapter introduces the GQM + trategies approach for

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

Standard for Software Component Testing

Standard for Software Component Testing Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Alain Abran a,b, Kenza Meridji b, Javier Dolado a a Universidad del País Vasco/Euskal Herriko Unibertsitatea b Ecole de technologie

More information

The SPES Methodology Modeling- and Analysis Techniques

The SPES Methodology Modeling- and Analysis Techniques The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München boehmw@in.tum.de Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT

More information

C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering

C. Wohlin and B. Regnell, Achieving Industrial Relevance in Software Engineering Education, Proceedings Conference on Software Engineering C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering Education & Training, pp. 16-25, New Orleans, Lousiana, USA,

More information

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT

SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT SOFTWARE DEVELOPMENT STANDARD FOR SPACECRAFT Mar 31, 2014 Japan Aerospace Exploration Agency This is an English translation of JERG-2-610. Whenever there is anything ambiguous in this document, the original

More information

Guidelines for the Acceptance of Manufacturer's Quality Assurance Systems for Welding Consumables

Guidelines for the Acceptance of Manufacturer's Quality Assurance Systems for Welding Consumables (1987) Guidelines for the Acceptance of Manufacturer's Quality Assurance Systems for Welding Consumables 1. General 1.1 Introduction 1.1.1 The present guidelines are to serve as a supplement to the IACS

More information

An Encompassing Life-Cycle Centric Survey of Software Inspection

An Encompassing Life-Cycle Centric Survey of Software Inspection An Encompassing Life-Cycle Centric Survey of Software Inspection Oliver Laitenberger Fraunhofer Institute for Experimental Software Engineering Sauerwiesen 6 67661 Kaiserslautern, Germany laiten@iese.fhg.de

More information

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

More information

Design of automatic testing tool for railway signalling systems software safety assessment

Design of automatic testing tool for railway signalling systems software safety assessment Risk Analysis VI 513 Design of automatic testing tool for railway signalling systems software safety assessment J.-G. Hwang 1, H.-J. Jo 1 & H.-S. Kim 2 1 Train Control Research Team, Korea Railroad Research

More information

Cloud Computing Organizational Benefits

Cloud Computing Organizational Benefits Master Thesis Software Engineering January 2012 Cloud Computing Organizational Benefits A Managerial Concern Mandala Venkata Bhaskar Reddy and Marepalli Sharat Chandra School of Computing Blekinge Institute

More information

Chapter 4 Software Lifecycle and Performance Analysis

Chapter 4 Software Lifecycle and Performance Analysis Chapter 4 Software Lifecycle and Performance Analysis This chapter is aimed at illustrating performance modeling and analysis issues within the software lifecycle. After having introduced software and

More information

The Improvement of Test Case Selection for the Process Software Maintenance

The Improvement of Test Case Selection for the Process Software Maintenance The Improvement of Test Case Selection for the Process Software Maintenance Adtha Lawanna* Abstract following topics in software-development life cycle (SDLC) Software maintenance is one of the critical

More information

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

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

8. Master Test Plan (MTP)

8. Master Test Plan (MTP) 8. Master Test Plan (MTP) The purpose of the Master Test Plan (MTP) is to provide an overall test planning and test management document for multiple levels of test (either within one project or across

More information

Do you know? "7 Practices" for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd.

Do you know? 7 Practices for a Reliable Requirements Management. by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"

More information

Information Technology Security Evaluation Criteria. ITSEC Joint Interpretation Library (ITSEC JIL)

Information Technology Security Evaluation Criteria. ITSEC Joint Interpretation Library (ITSEC JIL) S Information Technology Security Evaluation Criteria ITSEC Joint Interpretation Library (ITSEC JIL) Version 2.0 November 1998 This document is paginated from i to vi and from 1 to 65 ITSEC Joint Interpretation

More information

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire P3M3 Project Management Self-Assessment Contents Introduction 3 User Guidance 4 P3M3 Self-Assessment Questionnaire

More information

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management

Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management Software Process Improvement Framework for Software Outsourcing Based On CMMI Master of Science Thesis in Software Engineering and Management ZAHOOR UL ISLAM XIANZHONG ZHOU University of Gothenburg Chalmers

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Systematic Mapping Studies in Software Engineering

Systematic Mapping Studies in Software Engineering Systematic Mapping Studies in Software Engineering Kai Petersen,2, Robert Feldt, Shahid Mujtaba,2, Michael Mattsson School of Engineering, Blekinge Institute of Technology, Box 520 SE-372 25 Ronneby (kai.petersen

More information

Software Test Management Involving Client Relationship and Application Virtualization

Software Test Management Involving Client Relationship and Application Virtualization Software Test Management Involving Client Relationship and Application Virtualization Abstract Senior Manager,IBM India Private Limited, Bangalore Dr. Avijit Kar, Professor of Computer Science and Engg.

More information

A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files

A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files A Tool for Mining Defect-Tracking Systems to Predict Fault-Prone Files Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 ostrand@research.att.com Elaine J. Weyuker AT&T Labs

More information

Performing systematic literature review in software engineering

Performing systematic literature review in software engineering Central Page 441 of 493 Performing systematic literature review in software engineering Zlatko Stapić Faculty of Organization and Informatics University of Zagreb Pavlinska 2, 42000 Varaždin, Croatia zlatko.stapic@foi.hr

More information

An Evaluation of Inspection Automation Tools

An Evaluation of Inspection Automation Tools An Evaluation of Inspection Automation Tools Vesa Tenhunen and Jorma Sajaniemi University of Joensuu, Department of Computer Science, P.O. Box 111, FIN-80101 Joensuu, Finland Abstract. A key element in

More information

Optimization of Software Quality using Management and Technical Review Techniques

Optimization of Software Quality using Management and Technical Review Techniques Optimization of Software Quality using Management and Technical Review Techniques Inibehe Emmanuel Akpannah Post Graduate Student (MSc. Information Technology), SRM University, Chennai, India Abstract

More information

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management

A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management International Journal of Soft Computing and Engineering (IJSCE) A Study on Software Metrics and Phase based Defect Removal Pattern Technique for Project Management Jayanthi.R, M Lilly Florence Abstract:

More information

Software quality engineering. Quality assurance. Testing

Software quality engineering. Quality assurance. Testing 4 Software Quality Engineering c Jeff Tian, to be published by John Wiley, 2005 Software quality engineering Quality assurance Testing Figure 1.1. engineering Scope and content hierarchy: Testing, quality

More information

Evaluation of the Effects of Pair Programming on Performance and Social Practices in Distributed Software Development

Evaluation of the Effects of Pair Programming on Performance and Social Practices in Distributed Software Development Master Thesis Software Engineering Thesis no: MSE-2011-52 June 2011 Evaluation of the Effects of Pair Programming on Performance and Social Practices in Distributed Software Development Muhammad Tauqeer

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

EMPIRICAL EVALUATION IN SOFTWARE PRODUCT LINE ENGINEERING

EMPIRICAL EVALUATION IN SOFTWARE PRODUCT LINE ENGINEERING EMPIRICAL EVALUATION IN SOFTWARE PRODUCT LINE ENGINEERING Alvin Ahnassay, Ebrahim Bagheri, Dragan Gasevic Laboratory for Systems, Software and Semantics, Ryerson University Abstract: Context: Software

More information

Sample Exam. 2011 Syllabus

Sample Exam. 2011 Syllabus ISTQ Foundation Level 2011 Syllabus Version 2.3 Qualifications oard Release ate: 13 June 2015 ertified Tester Foundation Level Qualifications oard opyright 2015 Qualifications oard (hereinafter called

More information

Certified Tester. Advanced Level Overview

Certified Tester. Advanced Level Overview Version 2012 Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. Copyright (hereinafter called ISTQB ). Advanced Level Working Group: Mike Smith

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

Fundamentals of Measurements

Fundamentals of Measurements Objective Software Project Measurements Slide 1 Fundamentals of Measurements Educational Objective: To review the fundamentals of software measurement, to illustrate that measurement plays a central role

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

CROATIAN BUREAU OF STATISTICS REPUBLIC OF CROATIA MAIN (STATISTICAL) BUSINESS PROCESSES INSTRUCTIONS FOR FILLING OUT THE TEMPLATE

CROATIAN BUREAU OF STATISTICS REPUBLIC OF CROATIA MAIN (STATISTICAL) BUSINESS PROCESSES INSTRUCTIONS FOR FILLING OUT THE TEMPLATE CROATIAN BUREAU OF STATISTICS REPUBLIC OF CROATIA MAIN (STATISTICAL) BUSINESS PROCESSES INSTRUCTIONS FOR FILLING OUT THE TEMPLATE CONTENTS INTRODUCTION... 3 1. SPECIFY NEEDS... 4 1.1 Determine needs for

More information

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME >

PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME > PROJECT MANAGEMENT PLAN TEMPLATE < PROJECT NAME > Date of Issue: < date > Document Revision #: < version # > Project Manager: < name > Project Management Plan < Insert Project Name > Revision History Name

More information

Enhancing Information Security in Cloud Computing Services using SLA Based Metrics

Enhancing Information Security in Cloud Computing Services using SLA Based Metrics Master Thesis Computer Science Thesis no: MCS-2011-03 January 2011 Enhancing Information Security in Cloud Computing Services using SLA Based Metrics Nia Ramadianti Putri Medard Charles Mganga School School

More information

Software Engineering. How does software fail? Terminology CS / COE 1530

Software Engineering. How does software fail? Terminology CS / COE 1530 Software Engineering CS / COE 1530 Testing How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible to implement Faulty design Faulty code Improperly

More information

Introduction to Computers and Programming. Testing

Introduction to Computers and Programming. Testing Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software

More information

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,

More information

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

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 Overview Software testing is a verification process in which an application of the software or the program meets the business requirements and technology that have dominated

More information

P3M3 Portfolio Management Self-Assessment

P3M3 Portfolio Management Self-Assessment Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire P3M3 Portfolio Management Self-Assessment P3M3 is a registered trade mark of AXELOS Limited Contents Introduction

More information

The W-MODEL Strengthening the Bond Between Development and Test

The W-MODEL Strengthening the Bond Between Development and Test Andreas Spillner Dr. Spillner is working as Professor at the Hochschule Bremen (University of Applied Sciences) where he is responsible for software engineering and real time systems. Dr. Spillner has

More information

An IT Service Taxonomy for Elaborating IT Service Catalog

An IT Service Taxonomy for Elaborating IT Service Catalog Master Thesis Software Engineering Thesis no: MSE-2009-34 December 2009 An IT Service Taxonomy for Elaborating IT Service Catalog Md Forhad Rabbi School of Engineering Blekinge Institute of Technology

More information

SOFTWARE ARCHITECTURE QUALITY EVALUATION

SOFTWARE ARCHITECTURE QUALITY EVALUATION SOFTWARE ARCHITECTURE QUALITY EVALUATION APPROACHES IN AN INDUSTRIAL CONTEXT Frans Mårtensson Blekinge Institute of Technology Licentiate Dissertation Series No. 2006:03 School of Engineering Software

More information

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and

More information

Requirements-Based Testing: Encourage Collaboration Through Traceability

Requirements-Based Testing: Encourage Collaboration Through Traceability White Paper Requirements-Based Testing: Encourage Collaboration Through Traceability Executive Summary It is a well-documented fact that incomplete, poorly written or poorly communicated requirements are

More information

Cost-Optimisation of Analytical Software Quality Assurance. Stefan Wagner

Cost-Optimisation of Analytical Software Quality Assurance. Stefan Wagner Cost-Optimisation of Analytical Software Quality Assurance Stefan Wagner Institut für Informatik der Technischen Universität München Cost-Optimisation of Analytical Software Quality Assurance Stefan Wagner

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Haulsey Engineering, Inc. Quality Management System (QMS) Table of Contents

Haulsey Engineering, Inc. Quality Management System (QMS) Table of Contents Haulsey Engineering, Inc. Quality Management System (QMS) Table of Contents 1.0 Introduction 1.1 Quality Management Policy and Practices 2.0 Quality System Components 2.1 Quality Management Plans 2.2 Quality

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Foundation Level Syllabus International Software Testing Qualifications Board Copyright International Software Testing

More information

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level Syllabus REQB Certified Professional for Requirements Engineering Version 2.1 2014 The copyright to this edition of the syllabus in all languages is held by the Global Association for Software Quality,

More information

The Concern-Oriented Software Architecture Analysis Method

The Concern-Oriented Software Architecture Analysis Method The Concern-Oriented Software Architecture Analysis Method Author: E-mail: Student number: Supervisor: Graduation committee members: Frank Scholten f.b.scholten@cs.utwente.nl s0002550 Dr. ir. Bedir Tekinerdoǧan

More information

Merging Functional Requirements with Test Cases

Merging Functional Requirements with Test Cases School of Technology Department of Computer Science Master Thesis Project 30p, Spring 2014 Merging Functional Requirements with Test Cases By Madhuri Kolla & Mounika Banka Supervisors: Annabella Loconsole

More information

A Comparison of Software Cost, Duration, and Quality for Waterfall vs. Iterative and Incremental Development: A Systematic Review

A Comparison of Software Cost, Duration, and Quality for Waterfall vs. Iterative and Incremental Development: A Systematic Review A Comparison of Software Cost, Duration, and Quality for Waterfall vs. Iterative and Incremental Development: A Systematic Review Susan M. Mitchell and Carolyn B. Seaman Information Systems Department,

More information

PROJECT AUDIT METHODOLOGY

PROJECT AUDIT METHODOLOGY PROJECT AUDIT METHODOLOGY 1 "Your career as a project manager begins here!" Content Introduction... 3 1. Definition of the project audit... 3 2. Objectives of the project audit... 3 3. Benefit of the audit

More information

Testing of safety-critical software some principles

Testing of safety-critical software some principles 1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6

More information

REFLECTIONS ON THE USE OF BIG DATA FOR STATISTICAL PRODUCTION

REFLECTIONS ON THE USE OF BIG DATA FOR STATISTICAL PRODUCTION REFLECTIONS ON THE USE OF BIG DATA FOR STATISTICAL PRODUCTION Pilar Rey del Castillo May 2013 Introduction The exploitation of the vast amount of data originated from ICT tools and referring to a big variety

More information

REQUIREMENTS FOR THE MASTER THESIS IN INNOVATION AND TECHNOLOGY MANAGEMENT PROGRAM

REQUIREMENTS FOR THE MASTER THESIS IN INNOVATION AND TECHNOLOGY MANAGEMENT PROGRAM APPROVED BY Protocol No. 18-02-2016 Of 18 February 2016 of the Studies Commission meeting REQUIREMENTS FOR THE MASTER THESIS IN INNOVATION AND TECHNOLOGY MANAGEMENT PROGRAM Vilnius 2016-2017 1 P a g e

More information

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications

TESSY Automated dynamic module/unit and. CTE Classification Tree Editor. integration testing of embedded applications. for test case specifications TESSY Automated dynamic module/unit and integration testing of embedded applications CTE Classification Tree Editor for test case specifications Automated module/unit testing and debugging at its best

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

Quick Guide: Meeting ISO 55001 Requirements for Asset Management

Quick Guide: Meeting ISO 55001 Requirements for Asset Management Supplement to the IIMM 2011 Quick Guide: Meeting ISO 55001 Requirements for Asset Management Using the International Infrastructure Management Manual (IIMM) ISO 55001: What is required IIMM: How to get

More information

Factors Influencing Software Development Productivity - State of the Art and Industrial Experiences

Factors Influencing Software Development Productivity - State of the Art and Industrial Experiences Factors Influencing Software Development Productivity - State of the Art and Industrial Experiences Adam Trendowicz, Jürgen Münch Fraunhofer Institute for Experimental Software Engineering Fraunhofer-Platz

More information