Regression Test Case Prioritization Based on Historical Test Case Performance Data

Size: px
Start display at page:

Download "Regression Test Case Prioritization Based on Historical Test Case Performance Data"

Transcription

1 Regression Test Case Prioritization Based on Historical Test Case Performance Data Andreas Ljung Department of Computer Science Lund University, Faculty of Engineering May 14, 2010

2 Contact information Author: Andreas Ljung Supervisors: Emelie Engström Lund University, Faculty of Engineering Roger Hassel Sony Ericsson Communications AB Hares Mawlayi Sony Ericsson Communications AB Examinator: Per Runeson Lund University, Faculty of Engineering

3 Abstract Regression testing is performed to ensure that the overall quality is maintained in a growing and evolving software project, to be able to perform an resourceefficient regression test there is a need for a selective regression test approach. Some kind of test case selection technique or test case prioritization technique is commonly used in large organizations regression test processes. These techniques allow the regression tests to be performed with a constant amount of resources in a growing project by making sure that only the most effective and important test cases are being executed. This master s thesis started with an idea about automatizing the regression test case selection based on the test cases historical performance. The literature study focused on finding such a technique that would suite the test environment. The test environment and the regression test case selection technique currently used at one of the integration test departments at Sony Ericsson Mobile Communications was analyzed. The advantages and disadvantages of the currently used technique was identified and together with the articles found in the literature study a new regression test case selection technique was presented. The technique uses the test cases historical performance and will remedy some of the current techniques disadvantages. It prioritizes the test cases based on the test cases execution history, historical fault detection effectiveness and pre-set priority and the selection is made based on these priorities. This technique automates the currently manual process of selecting a test suite for regression test and focuses on the historically most efficient test cases. To evaluate this technique a prototype application was developed. The application was used to automatically select test cases for six test suites that were compared to their corresponding manually selected regression test suites. The automatically selected test suites were found significantly more efficient, in fault detection efficiency, than the manually selected ones at a significance level of 5%. The automatically selected test suites were also shown to detect the same amount of defects as the manually selected test suites with fewer test cases. A manual evaluation was performed by five testers and it concluded that the technique could be useful but to some extent included irrelevant test cases and that some important test cases were missing. Despite this the new selection technique was shown to be more efficient. Keywords Regression test, Test case prioritization, History-based test case prioritization.

4 Contents 1 Introduction Background for the project Research questions Outline Theoretical background and related work Introduction to software testing Black box and white box testing Regression test Regression test approaches Regression test case selection techniques Regression test case prioritization techniques Regression test case selection/prioritization techniques in a black box environment History based regression test case prioritization techniques for a black box environment The verification process at Sony Ericsson Mobile Communications Organization Development and verification process Tools and technical environment Current regression test case selection technique Research Results Regression test case prioritization based on execution history and pre-set priority Methodology Criteria for the test case prioritization technique Inspiration and base equation The developed test case prioritization equation Test case selection

5 6 Evaluation Evaluation criteria found in literature study Evaluation settings Evaluation results Discussion and analysis Conclusion and future work The currently used test case selection and its disadvantages Solution to the problems and disadvantages Changes needed in the test process Changes in the implementation of the application A Evaluation form 47 A.1 The form A.2 Results

6 Chapter 1 Introduction 1.1 Background for the project The original idea for this project came from a section manager at Sony Ericsson Mobile Communications, he had studied the control system of self registration shoppers at the local ICA store. The store allows their customers to scan their products while picking them from the shelves and then on the way out they hand in the scanner and pay the amount that is registered in it. This demands a certain level of trust between the store and their customer which is kept by performing random controls, where all the products are checked towards the registration in the scanner. Every time this control is performed and everything is found to have been scanned correctly, the customer gains some more trust which leads to fewer controls. But if an unregistered product is found the customer loses all his gained trust and has to go through controls more often. The idea was to develop a similar control system to sort out which test cases that has been most effective in finding defects in the software. 1.2 Research questions The questions this master s thesis answers are listed below. 1. How is the test case selection for regression test currently performed at the integration test department at Sony Ericsson Mobile Communications? 2. What are the problems and disadvantages with the current routines? 3. Is it possible to automatically calculate priorities for the test cases with the available data about their historical performance? What data is available and what data could be used to prioritize test cases? How could the data be combined and weighed against each other to generate a good priority value? 3

7 Could the prioritization and selection of the test cases be performed by a semi automatic tool? What changes in the routines are necessary before a semi automatic regression test case selection tool could be integrated into the current process? 1.3 Outline This master s thesis report consists of six more chapters. In chapter 2 the theoretical background and an overview of the research made in the area are presented. In chapter 3 the current verification process and organization at Sony Ericsson is described and chapter 4 the current process s problems and disadvantages are presented. Chapter 5 presents the method for solving the presented problems with a new regression test case selection technique. The application and technique are evaluated in chapter 6 and in chapter 7 the project is concluded with discussion and analysis. 4

8 Chapter 2 Theoretical background and related work 2.1 Introduction to software testing Testing is the process of exercising a software component using a selected suite of test cases, with the intent of revealing defects and evaluate quality [6]. The tester s task is to reveal defects, find weak points, inconsistent behavior and circumstances where the software does not work as expected. Testing is performed by executing test cases, test cases are written documents or small pieces of software with a specific pre condition and/or input parameters and an expected post condition and/or output variables. A test case validates one or more of a software s requirements, when the test case is executed it generates a pass if the actual post condition and output variables match the expected ones. A group of test cases selected to be executed together are called a test suite. [7] Testing is generally performed at four different levels; unit test, integration test, system test and acceptance test [8]. Unit testing covers testing of individual components in the code. Integration testing tests the interface between units and that the assembling of the different units did not cause any defects. After the integration the system should be complete and ready for system testing. System testing tests the system when it is complete and the goal is to ensure that the system performs according to its requirements. Finally the acceptance test is performed by the clients so that they can be sure that their requirements and demands have been met. 2.2 Black box and white box testing In software verification there are two basic strategies for designing test cases; black box and white box. When designing a test case for black box testing the 5

9 tester considers the software to be an opaque box with no knowledge about the inner structure. The tester only knows what function the software has. The test case is designed with a set of input parameters and an expected output. When the test case is executed the outcome is determined by matching the generated output to the specified output [9]. The white box approach focuses on the inner structure of the software. The tester has to have knowledge about the code and designs test cases that execute specific parts of it. For example a test can exercise all statements or true/false branches that occur in a module [9]. 2.3 Regression test The word regression means to relapse to a less perfect or developed state [10]. Regression in software development means that the quality of the software becomes affected by changes and added features, which could lead to new defects in the parts of the software that was working properly before. To instill confidence that the unchanged parts of the software is unaffected after the integrations has been made regression testing is performed. An important difference between regression testing and development testing is that during regression testing an established suite may be available for reuse [11]. Regression test is usually performed at the system test level, but could also be a part of the integration test level. Li and Wahl give an overview of regression testing and summarize data from several other reports in their paper [12]. They conclude that regression testing could be divided into two different types, corrective and progressive testing. Corrective regression testing is when specifications are unmodified and test cases can be reused and progressive regression testing applies when specifications are modified and new test cases must be designed. In this paper regression testing implicitly means corrective regression testing if nothing else is specified. 2.4 Regression test approaches When reusing test cases the main question is whether to run all the available test cases or just some of them. The retest-all strategy may waste time and resources but it is the safest method that ensures that all functions that was working before is still working. Another approach is the selective strategy; it uses a subset of the existing test cases to reduce the retesting costs [12], i.e. a test suite. But this reduction is a trade-off against the risk to miss an introduced defect and the cost involved with fixing this defect at a later stage in the process. When using the selective strategy the cost of selecting the test cases has to be taken into account, this cost has to be less than the cost of running the omitted test cases so that the total time for both selecting and executing the tests is reduced in comparison to the re-test all technique [11]. An approach that is similar to test case selection is test case prioritization, where every test case is given a priority and are then sorted and executed in 6

10 that order until the resources and time has been exhausted [13]. Kim and Porter acknowledge a third approach they call Random/Ad-Hoc, which is when testers select cases randomly or rely on their prior knowledge or experience to select test cases [14]. 2.5 Regression test case selection techniques The majority of regression test selection techniques that have been developed are based on information about the difference in the code in the main version and the modified version. Rothermel and Harrold have divided the code-based techniques into three different groups. Coverage techniques that locate which components that has been modified and selects tests that exercise these components, minimization techniques that are similar to coverage techniques but select minimal sets of tests and safe techniques that select every test that can expose one or more defects in the software [11]. Examples of different code-based techniques are linear equation techniques, the path analyses technique and the firewall technique [11]. The challenge in the code-based techniques is to identify the dependencies between a test case and the program entities it covers [12]. 2.6 Regression test case prioritization techniques Most regression test case selection techniques ignore software development realities such as resource and time constraints that may prevent using the techniques as intended. For example if regression testing has to be performed in one day but the selection technique selects a test suite that requires two days worth of tests [14]. By giving a priority to all the available test cases the test suite could easily be adjusted in size depending on the session s time and resource constraints and also depending on the session s importance. Different prioritization techniques use different criteria for calculating the priority for each test case. For example code coverage or expected frequency of use. The prioritization technique gives the tester the ability to achieve the desired goal, depending on criteria, as early as possible. For example if the goal is full code coverage, then the test cases with the highest code coverage will be executed first and as soon as the goal is reached the testing could be stopped [15]. Test prioritization could also be used in conjunction with test case selection to set the execution order in the selected test suite. This will in turn ensure that if the session is unexpectedly terminated the time spent testing will have been more beneficially than if they were not prioritized [15]. 7

11 2.7 Regression test case selection/prioritization techniques in a black box environment The focus in this master s thesis is on a black box testing environment; therefore the code-based selection techniques are not applicable. When testing is performed without access to the source code (i.e. black box testing) there is a need for a different approach for regression test case selection. Engström et al. perform a systematic review of empirical evaluations of regression test selection techniques [16]. They found and evaluated 28 different techniques and only two of them were not depending on source code access and no technique used information from the test cases execution history. Srikanth et al. claim that also most of the test prioritization techniques are code coveragebased [17] and Sajeev et al. have come to the same conclusion; most regression test prioritization techniques are white box strategies [18]. Some approaches for test case selection and prioritization in black box testing environment have been found in the research area. Instead of the source code they require other inputs such as the requirements specifications, customer priority, implementation complexity, fault proneness and other version information meta data. The summary of this research is that test case selection in a black box environment has not been researched as much as white box testing. 2.8 History based regression test case prioritization techniques for a black box environment During the research described in the following three articles, describing different techniques, were found to be the most suitable ones for the black box environment considered in this project; Test Case Prioritization for Black Box Testing, Dynamic Regression Test Selection Based on a File Cache and Prioritizing Test Cases for Resource Constraint Environments Using Historical Test Case Performance Data. They are prioritizations techniques and not selection techniques but by ordering them in priority order and selecting a desired number of test cases a selected suite is derived Test Case Prioritization for Black Box Testing Qu, Nie, Xu and Zhang present a method for prioritizing test cases in a black box testing environment [13]. The initial test suite is given priorities using test case history where test cases are ordered by their prior performance of detecting faults. Then a matrix R with test cases is built on available information to define the fault detection relationship of test cases. In R, test cases are grouped by the fault types they have revealed, so once a test case reveals a new regression fault all the test cases in that group can be adjusted to a higher priority. Then the test cases are executed according to their priority and the matrix R is updated 8

12 and reordered with the latest information after every execution. This is repeated until the resources are exhausted. The fault detection relationship matrix R would have been possible to use in the current environment for this project and was considered to be added later on but during the development it became clear that there were not enough time to investigate and set up the link between the error report system and the developed prototype application. Therefore this approach was not further considered to be a part of the developed test case prioritization technique Dynamic Regression Test Selection Based on a File Cache The approach to link test cases to error reports have also been considered by Wikstrand et al. [19]. They present a recommendation system that links test cases to source code files, determines which source code files are fault prone and detects which fault prone files have been updated and recommends test cases to be executed. The link between the source code file and the test case is determined through the error report that is created when a test case reveals a defect. When the defect is fixed, the error report is updated with information about which files were affected thus creating a link from the test case that revealed the test case to the file that was updated to fix the defect. A list of fault prone files is obtained based on the Fix-cache algorithm. This list is a subset of all the source code files, containing the top most of fault prone files. The subset is pre-populated based on an initial fault proneness score which is a linear combination of; lines of code, number of high severity error reports associated with the source file and modification frequency. Then the subset is updated daily based on information from the error reports that have been closed during that day. For each file that is referenced by an error report and that is also in the cache, it is considered a hit. If the file is new it is considered a miss, both hits and misses are added to the cache. The recommendation algorithm then derives a list of test cases that are linked to the source code files in the subset which are recommended for the next regression testing cycle. Though this approach could be suitable for some black box environments the department where this project is located at does not have access to the pre-population properties such as lines of code and modification frequency. The technique is also dependent on data from the error report system. Due to these reasons this approach was not considered to be the most suitable for this project Prioritizing Test Cases for Resource Constraint Environments Using Historical Test Case Performance Data In another paper Fazlalizadeh et al. presents a solution that is also based on historical performance data [21]. They also reflect over the fact that most test case prioritization techniques are based on the analysis of source code and are 9

13 memory less. Since regression testing is a continuous activity a new equation to compute the priority in each regression test session is developed. The presented equation incorporates three factors: historical effectiveness in fault detection, each test case s execution history in regression test and finally the last priority assigned to the test case. The historical effectiveness in fault detection -factor is the test cases fault detection performance in number of times it has been executed in successive tests. The test cases execution history -factor is the to keep track of how many times the test case has been executed in a period of time to ensured that after multiple sessions it will cycle through all test cases. The last priority assigned to the test case factor makes the selection smoother in successive executions and its limits severe changes between sessions. Also it will separate the test cases that have the same historical fault detection effectiveness and execution history. In empirical studies they evaluate the prioritization technique with eight different C programs, the Siemens suite, which includes seven programs, and Space. For each program, single-fault versions of the program have been created. Their empirical studies show considerable improvements in fault detection rate, measured in APFD (Average Percentage of Fault Detection). APFD is the weighted average percentage of fault detection in test suite lifetime and the metric was introduced by Rothermel et al. [22]. It measures how rapidly a prioritized test suite detects faults, higher APFD value mean faster fault detection rates. Most of the incorporated factors in this equation are available in the black box environment considered in this project. Therefore this algorithm is the most suitable and it is used as a base for the test case prioritization equation that is presented in chapter 5. Another study, by Kim and Porter, also emphasise the need to view regression testing as a ordered sequence of test sessions where the history of the test case executions should be considered [14]. They conclude that if the test selection technique only focus on the parts of the program that have been changed since the last testing session it is possible that a change, once tested, is never retested, leaving only one chance to find a defect. 10

14 Chapter 3 The verification process at Sony Ericsson Mobile Communications 3.1 Organization At Sony Ericsson Mobile Communications the software verification is carried out at different levels by different departments. The software is divided into different parts for each function and for each part there is a group of developers and a group of testers. The developers in each function group are responsible for unit testing the code before delivery. The integration test is carried out at a test department by a test group for each function. The testing at this level is performed on temporary builds of the software or on the main branch, usually in a hardware prototype. The system test is carried out by another department and is performed on the main branch. Finally a release candidate of the software is sent for acceptance test to the carrier service providers. This master s thesis focuses on the regression test at the integration level, since it is carried out at the function test team responsible for testing the Bluetooth and USB functionality. But since the regression test case selection technique that is a product of this thesis only requires data that is available in all parts of the organization it is applicable for any part of the organization that performs regression testing, at any level. The department for integration test has several different roles involved in making the verification processes work efficiently and to ensure the overall quality of the software. The different roles are: Tester Part of a function group. Responsible for designing test cases based on the requirements, writing the test case step-by-step description, automate test cases if possible, selecting test suites for regression test sessions, exe- 11

15 cuting test cases in the test sessions and reporting defects and test suite status after execution. Technical project leader Leader of a function group. Responsible for planning test sessions, follow up test session executions, reporting test results and general resource and time management. Section Manager Responsible for organizing the resources, time and budgets for several function groups. 3.2 Development and verification process The software development process at Sony Ericsson is an incremental process, where each component is developed and integrated in small iterations. After each iteration every function group tests the new feature that have been implemented, unit tested and integrated in a temporary build by the developers. If the feature can be verified and no new defects have been introduced, it is integrated on the main branch. However, to ensure that the overall quality of the software is maintained, after several iterations, a range of regression test sessions are performed by each function test group. For every new feature that is developed several new test cases are created based on the feature requirements. All the test cases are written for black box testing and are not connected to a specific part of the code. A test case consists of a precondition, a step by step description, and an expected result. The test cases are added to the test database which contains all the test cases relevant to a specific product. The amount of features increases in each project and therefore the total amount of test cases that is available for regression testing is too vast for a re-test all regression test session to be executed on a regular basis. Since regression testing is an expensive but necessary maintenance activity it has to be performed in a balanced manner. The solution is to perform a selective regression test session that is further described in chapter Tools and technical environment All test case descriptions and the execution data are stored in HP Quality Center. The error reports are stored in IBM Rational Clear Quest and linked via an id number, called DMS number, to the revealing test case in Quality Center and also to other test cases that are affected by the defect HP Quality Center Description HP Quality Center is a web based test database software that supports essential aspects of test management [23]. 12

16 The system is based on a SQL database which is accessed by the users through the web browser based client application. Figure 3.1: QC architecture [24] HP Quality Center at Sony Ericsson Mobile Communications Sony Ericsson uses QC as its main test management tool. All test case data and executions results are held in a globally accessible database. All test planning, test design and test execution is performed in the QC environment. New test cases are designed and created in QC by the tester based on the functions requirements. The test cases are stored in folders in the Test Plan database, organized under platform and function. For every new test session a new suite of test cases are selected from the Test Plan database and added to a new test suite in the Test Lab. The test suites are organized in folders, one root folder for each main project which in turn contains a folder for each test session. These test session folders contain folders for each function group and within these folders the test suites are stored. When a test session is performed all the test cases in the test suite should be executed. Each executed test case should contain the following information; Software version, hardware version, test status (Blocked, Failed, N/A, No Run, Not Completed, Passed), execution date and time, tester id and if the status is Failed a DMS number from the error report in Clear Quest [25]. The data needed to solve the problems in this master s thesis is found both in the Test Plan part of the system and in the Test Lab part. External applications development possibilities for HP Quality Center The Quality Center (QC) Open Test Architecture (OTA) Application Programming Interface (API) is a Component Object Model (COM) library. COM is a 13

17 software architecture that allows the components made by different software vendors to be combined into a variety of applications. It defines a standard for component interoperability and is not dependent on any particular programming language or platform. QC OTA API enables integration of external applications with QC, interaction with QC without having to use the GUI front-end and interaction directly with the QC database, bypassing the database administrator. It could be used with for example Microsoft Visual Basic, C++ or C#. Some examples of what could be accomplished with OTA programming [26]: Read information from a QC project for use by an external tool or report generator. Integrate other site tools and data with QC. For example have you project planning tool create new QC projects. Integrate with other applications such as MS Excel and Word. Creating test suites. Since the system is based on a SQL database the data could also be accessed directly through SQL queries. This could be useful when gathering historical data because of the possibility to create specific SQL queries to get the data presented in a desired way in result sets. But this should be avoided when submitting data, for example when creating new test suites, to ensure that all the default fields and tables are updated correctly. 14

18 Chapter 4 Current regression test case selection technique This chapter focuses on answering the two first research questions, listed in 1.2. First the method for gathering the information is described and then the results are presented. 4.1 Research To gather information about the current regression test case selection technique used at Sony Ericsson discussions were held with employed testers and technical project leaders. Some information was also based on my own experience after working in the environment for several months. The information about the current process, test case selection technique and the problems and disadvantages with the current situation are presented in section 4.2. In discussions with a test engineer currently working at the integration test department about the test process and the test selection technique the following discussion topics were discussed. How do you select the test cases to be run during a regression test? How do you evaluate how much time each test case will add to the whole test suite? What differentiate the test cases from your point of view? Do you feel confident that the correct suite has been selected every time? What is most important when running selected test suite; time/resources or quality? What do you think of the equation from [21]? 15

19 Another open discussion was held with a technical project leader at the department and the following was discussed: Which properties of the executed test cases should affect the prioritization equation in the test case selection technique? Define the development and test process. When is regression testing performed? What do you think of the equation from [21]? 4.2 Results How the test case selection currently is performed The tester has through experience gained knowledge about which areas that have detected defects in the recent regression test sessions and this is affecting his selection, the test cases covering these areas are prioritized. The current selection technique is performed by first selecting the basic test cases from each area, those that verifies that the basic functionality is working. Then those that executes the basic use case for the customer. In general function test cases are prioritized higher than system test cases (system test cases are test cases that exercise interaction with other functions). The test cases are also given a priority when they are created which will help in giving an indication about how important they are. In this manner the regression test suite is filled until the tester is satisfied that all the areas are sufficiently covered, the overall quality is maintained and the regression test suite is within the time and resource limit. The time and resource that each test case adds to the whole test suite is only known though experience. The total amount of test cases available for the function group where the thesis was performed is about 2500 and the normal suite of selected test cases for a regression test includes about test cases Disadvantages with the current technique The discussions and the research within the organization concludes that the currently used technique could lead to these problems and disadvantages: It requires senior testers with experience of the test area. The selected test suite could be too extensive or too narrow, a tester with lack of experience in the area could have trouble estimating the required time and resources. The selected test suite could be inefficient and misleading, since it is just based on judgment. The tester has to know which test cases that, recently, have been more prone to detect faults. 16

20 Even an experienced tester could select an ineffective test suite. If the test cases are selected in a routinely manner by just selecting the same test cases for every regression test session. Since the selection is based on judgment it is not statistically proven to be the most effective test suite. An analysis of these problems and disadvantages together with the research in the area of regression test case selection and prioritization led to the hypotheses that a semi automatic test case selection tool based on a history based test case prioritization technique offers a solution for the disadvantages in this verification process. 17

21 Chapter 5 Regression test case prioritization based on execution history and pre-set priority The following section describes the different methods that were used to find the answer to the third research question stated in chapter 1. First the methodology is presented and then the findings and development of the prioritization equation is presented. 5.1 Methodology Article search for applicable prioritization strategies To initiate the project and to get at a broader view of the research performed in the area an extensive information search was performed. Three main electronic sources where used, mainly ELIN [1] but also Inspec [2] and Compendex [3]. ELIN covers about journals, 500 databases and e-books [4] and Inspec and Compendex were used to refine the search [5]. Several title searches were performed in ELIN [1] generating a large amount of articles. A first selection was made based on their presumed relevance based on their title then out of this selection the final selection was made based on their presumed relevance based on their abstract chapter. The articles were presumed relevant if the title or abstract indicated that they were about test case selection or prioritization, specifically in a black box environment. Articles specifically about code based regression test case selection or prioritization were discarded. 18

22 Initially the keyword regression test selection were used which resulted in a final selection of eight articles that was selected for further investigation. Then the keyword regression test was executed and seven more articles were chosen. The results from the keywords black box test, regression test prioritization and testing was also searched through and three more relevant articles were selected. On top of this seven other articles were selected based on recommendation from Per Runeson (Prof) and Emelie Engström (PhD stud.) who both have extensive experience in the area. With background of the current black box testing environment and the available data at the integration test department in mind the first selection of the 25 articles were studied and three specific articles were chosen as most relevant to be applicable for this project, due to their specific focus on history based test case prioritization. Nine others were studied to gather general information about test case selection and prioritization. Five were discarded because they were specifically and only about code based test case selection and three more were discarded because they were found not to be applicable in the current black box testing environment, with the specific available input data. Four other were about processes for case studies, principles for software product line testing, analysis of fault distributions and managing software engineering and not found applicable in this project. The articles are presented and summarized in chapter 2 to give an overview of the research performed in the field and to describe how they were considered in this master s thesis project Development of the test case prioritization technique With the theoretical background information, presented in chapter 2, and the current situation with its disadvantages identified, presented in chapter 4, the work continued by more thoroughly investigating the selected articles in search for specific test case prioritization techniques that included the test cases historical performance, could fit this environment and would help solve the presented problems. As described in chapter 2 several articles were used as inspiration and one in particular used as a base for the solution to the problems. The available data in the test process at the integration test department was analyzed to get an overview of what was possible to use when prioritizing the test cases. Discussions with a test engineer and a technical project leader was held about what they would want to affect the selection of the test cases. The base equation combined with the analysis of the available data and the outcome of discussions with employees about a possible solution resulted in the proposed solution; a new regression test case prioritization technique. 19

23 5.2 Criteria for the test case prioritization technique In the discussions with the test engineer and the technical project leader, described in chapter 4, the following properties were found desired to be integrated into the test case prioritization equation. The first group contains test case properties that should affect the calculation of the prioritization value, the second group contains test case properties that should determine which test cases that should be included or excluded from the priortization calculations and the third group is properties that should affect the size of the selection. The test cases properties that should affect the prioritization value (in no specific order): 1. (a) The defect detecting frequency of the test case during a period of time. This property determines the test cases effectiveness, if a test case often reveal defects it could be an indication that it exercise parts of the software where new defects often appears. A test case that detects a defect is linked via an id to the error report in the error report database. But the reason why a test case often detects defects has to be considered. If it is an old defect that has not been fixed since the last session the test case should not be selected. Also a defect found with one test case can block other test cases and these test cases are also linked to the error report via an id and should not be selected until the defect has been fixed. (b) The number of regression test sessions that have been executed since the test case was executed last. It is important to ensure that all test cases eventually are executed over a period of time. So the number of sessions that has been executed without the test case should increases the test case s priority until it is executed in a regression test session. (c) The importance of the test case, for business purposes and for the overall functionality. This is to ensure that some basic test cases, that are important, are given higher priority. This property is set manually when the test case is created and should affect the priority in every selection. (d) The test case s creation date. To ensure that new functions are more thoroughly tested the creation date should be used to determine which test cases that is new. (e) If the test case should be executed automatically of manually. 20

24 This property should be used to estimate the execution time for each test case. An automated test case is assumed to consume less time and resources. The following properties were found desired to affect the selection of which test cases that should be prioritized: 2. (a) The test case type (for example Duration test, Performance test, Certification). This property should be used to determine which test cases that should be excluded from the prioritization equation, test cases that are marked for duration, performance and certification should not be executed in a regression test session. (b) What type of session the test case was intended for (Some test cases have a field that specifies this; Focus test, regression test, sanity test etc.). This factor is should also be used to exclude test cases that are not intended to be executed during a regression test session. (c) If the test case is written for a specific feature that is not available in all products (e.g. 2nd display, 3.5 mm plug). This property should be used to exclude test cases that are not applicable for the product about to be tested. 3. The importance of the targeted regression test session (the one that the test suite is selected for) were also found desired to be used. This property should affect how many test cases are selected from the prioritized list of test cases. 5.3 Inspiration and base equation The black box test environment at the integration test department requires a technique that does not depend on any information about the source code. The most research that has been made in the area of test case selection and prioritization are depending on knowledge about the source code and there are only a few that considered the black box testing approach. Among the articles that have been presented in chapter 2 an article presented by Fazlalizadeh et al. [21] specifically presents an equation for test case prioritization that seems to suit the environment at the integration test department and the data available there. This technique also focuses on the test cases historical performance, which was the main idea for this project when it started. The prioritization equation presented by Fazlalizadeh et al. [21] includes two of the desired test case properties that are listed in 5.2; how frequent the test case has revealed defects during a period of time and how many regression test sessions that has been executed since the test case were included, i.e. how long 21

25 ago was the test case executed measured in number of regression test sessions. It was therefore chosen as a base for the prioritization equation. The equation that is presented in the paper consists of these parts: Historical effectiveness: fc k ec k fc k is the number of times that the test case has failed and ec k is the number of test case executions during k number of test sessions. Execution history: h k Each time a test case is not executed, its execution history will be increased by one. Once the test case is executed, execution history becomes 0 and the operation is repeated. Previous priority: P R k 1 The last priority of the test case in the last priority calculation during the past executions. The initial priority, P R 0, is defined as the percentage of code coverage of the test case. Three control constants: α, β, γ To control the effects of the factors the constants α, β and γ can be changed. γ should be smaller than the other two constants, because h k increases one unit per time according to whether or not test cases executes. But the variables fc k ec k and P R k 1 are always between 0 and 1. The equation is constructed as follows 1 : P R k = α fc k ec k + β P R k 1 + γ h k 0 α, β, γ < 1, k The developed test case prioritization equation Due to lack of available data only a few of the test case properties that was desired for the prioritization calculation, listed in 5.2, could be integrated into a new equation. The proposals of which test case properties to include and how they could be integrated are based on the discussions with the testers about the properties, estimations made together with the testers of the importance of the properties and reflection about the present variables and their proportions in the base equation. 1 In the paper the P R k 1 on the right hand side is actually presented as P R k but this is assumed to be a typing error. 22

26 5.4.1 Included properties The test case properties historical effectiveness (5.2: 1a) and execution history (5.2: 1b) are already included in the base equation and are used in the same way. Since there is no data about the test cases code coverage P R 0 has to be defined as something else. The priority that is manually set when the test case is created is used to differentiate the test cases (5.2: 1c). The P R 0 value is selected so that it will add a proportional amount to the total priority sum and the term (β P R 0 ) will be between 0 and 1. Since P R 0 in the base equation is based on how much code the test case covers the values could not be larger than a few percentage, the test cases are given the following P R 0 value: 0.04 Priority 1 P R 0 = 0.02 Priority Priority 3 Since the base equation is a recursive equation that is based on the test cases execution history the other desired test case properties could not be included as constants in this recursive equation, this would lead to that these properties would soon dominate the total value. They are instead added separately to the priority value for each time the test cases are presented for selection. The test case s original priority (I k ) should affect the calculated priority (5.2: 1c), since the most important test cases always should be given higher priority. I k is set to three different values added separately to the recursively calculated priority value for every time a regression test case selection should be made. The value is selected with the same difference between the priorities as in P R 0 but the value is adjusted so that it adds a proportional value to P R k which is between 0 and 1: I k = 0.4 Priority Priority Priority 3 The creation date of the test case reveals new test cases and ensure that they are given higher priority (5.2: 1d). The limit for how long a test case is defined as new is set to 3 months. To increase the priority to these test cases a value is added separately to the recursively calculated priority value in the same way as the original priority. The value is chosen so that it will be proportional to the average value of P R k, between 0 and 1, and increase the priority as much as an Priority 1 test case: { 0.4 current date creation date < 3 months N k = 0 current date creation date > 3 months The importance of the regression test session is determined by the project leaders and the limit to the selected regression test case selection is set by the user in the application (5.2: 3). 23

27 If the test cases are marked as performance, duration or certification tests they are excluded from the test case prioritization equation (5.2: 2a). The test cases that are written for a specific feature that is not applicable for all products (e.g. 2nd display, 3.5 mm plug) should be excluded (5.2: 2c), but the information about this is often only specified in the test case s description text. In some cases this property could be found in the test case name and these are excluded from the prioritization equation (e.g. 2nd display) Excluded properties The following properties were found desired to be integrated in the the priority calculation but were due to different reasons not possible to include. To avoid selecting a test case that reveal a defect that has not been fixed yet the link to the error report should be checked. If the error report that is linked to the test case still is unresolved then the test case should not be selected (5.2: 1a). A factor that sets the whole priority to zero could be used. This link however could not be set up during the development of the prototype application due to lack of knowledge and time, so this property is excluded from the equation. The way the test cases are executed, automatically or manually, could affect the time and resources they add to the total amount of time and resources that the test case selection demands (5.2: 1e). However since there is no data about how much time and resources either of the types will consume this property is not included into the equation. The information about what specific session (5.2: 2b) (regression test, focus test, reception control) the test case is written for has not been added in the majority of the test cases at this time, therefore this is not included in the equation The smoothing constants The α and β constants were kept at the same value as in the base equation, 0.7 each. But the γ constant were set to a much smaller value, 0.001, since the execution history, h, in some cases is very large and will have an excessive effect against the other two factors The test case prioritization equation The equation consists of a base prioritization equation that calculates a priority value for each test case based on certain input data. The test case is given a new calculated priority for each performed regression test session, this is because the equation is recursive and needs the test case s last calculated priority. When a test case should be selected two extra types of values are added, one for the original priority and one for if the test case is a new test case. Theses extra values are added outside the recursive equation since they are not dependent on the execution history but always constant. 24

A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH

A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH A METRIC BASED EVALUATION OF TEST CASE PRIORITATION TECHNIQUES- HILL CLIMBING, REACTIVE GRASP AND TABUSEARCH 1 M.Manjunath, 2 N.Backiavathi 1 PG Scholar, Department of Information Technology,Jayam College

More information

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY A PATH FOR HORIZING YOUR INNOVATIVE WORK AUTOMATION TESTING IN SOFTWARE DEVELOPEMENT KALPESH PARMAR Persistent Systems Limited,

More information

Dr. N. Sureshkumar Principal Velammal College of Engineering and Technology Madurai, Tamilnadu, India

Dr. N. Sureshkumar Principal Velammal College of Engineering and Technology Madurai, Tamilnadu, India Test Case Prioritization for Regression Testing based on Severity of Fault R. Kavitha Assistant Professor/CSE Velammal College of Engineering and Technology Madurai, Tamilnadu, India Dr. N. Sureshkumar

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Verification & Validation Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Would You...... trust a completely-automated nuclear power plant?... trust a completely-automated

More information

Bridge Course On Software Testing

Bridge Course On Software Testing G. PULLAIAH COLLEGE OF ENGINEERING AND TECHNOLOGY Accredited by NAAC with A Grade of UGC, Approved by AICTE, New Delhi Permanently Affiliated to JNTUA, Ananthapuramu (Recognized by UGC under 2(f) and 12(B)

More information

Software Testing Interview Question and Answer

Software Testing Interview Question and Answer Software Testing Interview Question and Answer What is Software Testing? A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to

More information

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs.

In this Lecture you will Learn: Testing in Software Development Process. What is Software Testing. Static Testing vs. In this Lecture you will Learn: Testing in Software Development Process Examine the verification and validation activities in software development process stage by stage Introduce some basic concepts of

More information

Topics in Software Testing

Topics in Software Testing Dependable Software Systems Topics in Software Testing Material drawn from [Beizer, Sommerville] Software Testing Software testing is a critical element of software quality assurance and represents the

More information

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality

UNIT OBJECTIVE. Understand what system testing entails Learn techniques for measuring system quality SYSTEM TEST UNIT OBJECTIVE Understand what system testing entails Learn techniques for measuring system quality SYSTEM TEST 1. Focus is on integrating components and sub-systems to create the system 2.

More information

Helix Test Case Management Best Practices

Helix Test Case Management Best Practices The following information provides best practices for test case management activities in Helix ALM. These best practices are guidelines. Your testing process and business rules should dictate whether or

More information

A Study of Effective Regression Testing

A Study of Effective Regression Testing A Study of Effective Regression Testing Nisha Jha Assistant Professor, Department of Computer Science, Lingaya s University, Faridabad, Haryana, India Abstract: Software Quality is one of the major challenges

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.

More information

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam

Assuring Certainty through Effective Regression Testing. Vishvesh Arumugam Assuring Certainty through Effective Regression Testing Vishvesh Arumugam Agenda Introduction The Problem Magnitude Management Regression Test Efficiency Solution and Approach Test Suite Maintenance Determining

More information

Comparison Study of Software Testing Methods and Levels- A Review

Comparison Study of Software Testing Methods and Levels- A Review Comparison Study of Software Testing Methods and Levels- A Review Deepti Kapila Grover M.Tech, Dept. of Computer Science, Assistant professor in LCET, Katani Kalan, India ABSTRACT: Software is an activity

More information

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Software Testing part II (white box) Lecturer: Giuseppe Santucci Software Testing part II (white box) Lecturer: Giuseppe Santucci 4. White box testing White-box (or Glass-box) testing: general characteristics Statement coverage Decision coverage Condition coverage Decision

More information

Sample Exam Syllabus

Sample Exam Syllabus ISTQB Foundation Level 2011 Syllabus Version 2.9 Release Date: December 16th, 2017. Version.2.9 Page 1 of 46 Dec 16th, 2017 Copyright 2017 (hereinafter called ISTQB ). All rights reserved. The authors

More information

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, ISSN SOFTWARE TESTING

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18,   ISSN SOFTWARE TESTING International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, www.ijcea.com ISSN 2321-3469 SOFTWARE TESTING Rajat Galav 1, Shivank Lavania 2, Brijesh Kumar Singh

More information

15. Regression testing

15. Regression testing Outline 15. Regression testing Tom Verheyen, Jelle Slowack, Bart Smets, Glenn Van Loon Introduction - What, why, when, how - Regression faults - Test automation - Test suite maintenance - Reducing a test

More information

TEST CASE PRIORITIZATION ALGORITHM BASED UPON MODIFIED CODE COVERAGE IN REGRESSION TESTING

TEST CASE PRIORITIZATION ALGORITHM BASED UPON MODIFIED CODE COVERAGE IN REGRESSION TESTING TEST CASE PRIORITIZATION ALGORITHM BASED UPON MODIFIED CODE COVERAGE IN REGRESSION TESTING ABSTRACT Usha Badhera 1, G.N Purohit 2, Debarupa Biswas 3 Computer Science Department, Banasthali University,

More information

Adopting Agile Practices

Adopting Agile Practices Adopting Agile Practices Ian Charlton Managing Consultant ReleasePoint Software Testing Solutions ANZTB SIGIST (Perth) 30 November 2010 Tonight s Agenda What is Agile? Why is Agile Important to Testers?

More information

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced?

!! What is virtual memory and when is it useful? !! What is demand paging? !! When should pages in memory be replaced? Chapter 10: Virtual Memory Questions? CSCI [4 6] 730 Operating Systems Virtual Memory!! What is virtual memory and when is it useful?!! What is demand paging?!! When should pages in memory be replaced?!!

More information

Automatic Merging of Specification Documents in a Parallel Development Environment

Automatic Merging of Specification Documents in a Parallel Development Environment Automatic Merging of Specification Documents in a Parallel Development Environment Rickard Böttcher Linus Karnland Department of Computer Science Lund University, Faculty of Engineering December 16, 2008

More information

How Turner Broadcasting can avoid the Seven Deadly Sins That. Can Cause a Data Warehouse Project to Fail. Robert Milton Underwood, Jr.

How Turner Broadcasting can avoid the Seven Deadly Sins That. Can Cause a Data Warehouse Project to Fail. Robert Milton Underwood, Jr. How Turner Broadcasting can avoid the Seven Deadly Sins That Can Cause a Data Warehouse Project to Fail Robert Milton Underwood, Jr. 2000 Robert Milton Underwood, Jr. Page 2 2000 Table of Contents Section

More information

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18,

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18, International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18, www.ijcea.com ISSN 2321-3469 SOFTWARE TESTING Rajat Galav, Shivank Lavania Student, Department

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info (Complete Package) WEB APP TESTING DB TESTING We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME

More information

About HP Quality Center Upgrade... 2 Introduction... 2 Audience... 2

About HP Quality Center Upgrade... 2 Introduction... 2 Audience... 2 HP Quality Center Upgrade Best Practices White paper Table of contents About HP Quality Center Upgrade... 2 Introduction... 2 Audience... 2 Defining... 3 Determine the need for an HP Quality Center Upgrade...

More information

Chapter 3. Requirement Based System Test Case Prioritization of New and Regression Test Cases. 3.1 Introduction

Chapter 3. Requirement Based System Test Case Prioritization of New and Regression Test Cases. 3.1 Introduction Chapter 3 Requirement Based System Test Case Prioritization of New and Regression Test Cases 3.1 Introduction In this chapter a new prioritization technique has been proposed with two new prioritization

More information

Question 1: What is a code walk-through, and how is it performed?

Question 1: What is a code walk-through, and how is it performed? Question 1: What is a code walk-through, and how is it performed? Response: Code walk-throughs have traditionally been viewed as informal evaluations of code, but more attention is being given to this

More information

Advanced Security Tester Course Outline

Advanced Security Tester Course Outline Advanced Security Tester Course Outline General Description This course provides test engineers with advanced skills in security test analysis, design, and execution. In a hands-on, interactive fashion,

More information

Examination Questions Time allowed: 1 hour 15 minutes

Examination Questions Time allowed: 1 hour 15 minutes Swedish Software Testing Board (SSTB) International Software Testing Qualifications Board (ISTQB) Foundation Certificate in Software Testing Practice Exam Examination Questions 2011-10-10 Time allowed:

More information

Statistical Testing of Software Based on a Usage Model

Statistical Testing of Software Based on a Usage Model SOFTWARE PRACTICE AND EXPERIENCE, VOL. 25(1), 97 108 (JANUARY 1995) Statistical Testing of Software Based on a Usage Model gwendolyn h. walton, j. h. poore and carmen j. trammell Department of Computer

More information

Basic Training in Software Testing (2 Days)

Basic Training in Software Testing (2 Days) www.peaklearningllc.com Basic Training in Software Testing (2 Days) This is a practical hands-on seminar to cover the critical path of testing. Your instructor will be an experienced practitioner in the

More information

Midterm Wednesday Oct. 27, 7pm, room 142

Midterm Wednesday Oct. 27, 7pm, room 142 Regression Testing Midterm Wednesday Oct. 27, 7pm, room 142 In class, closed book eam Includes all the material covered up (but not including) symbolic eecution Need to understand the concepts, know the

More information

Automated System Level Regression Test Prioritization in a Nutshell

Automated System Level Regression Test Prioritization in a Nutshell Abstract Automated System Level Regression Test Prioritization in a Nutshell Per Erik Strandberg, Wasif Afzal, Thomas J. Ostrand, Elaine J. Weyuker, Daniel Sundmark Westermo Research and Development AB

More information

Software Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks

Software Testing for Developer Development Testing. Duvan Luong, Ph.D. Operational Excellence Networks Software Testing for Developer Development Testing Duvan Luong, Ph.D. Operational Excellence Networks Contents R&D Testing Approaches Static Analysis White Box Testing Black Box Testing 4/2/2012 2 Development

More information

Digitized Engineering Notebook

Digitized Engineering Notebook Governors State University OPUS Open Portal to University Scholarship All Capstone Projects Student Capstone Projects Spring 2017 Digitized Engineering Notebook Sarath Garimella Governors State University

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

Class 17. Discussion. Mutation analysis and testing. Problem Set 7 discuss Readings

Class 17. Discussion. Mutation analysis and testing. Problem Set 7 discuss Readings Class 17 Questions/comments Graders for Problem Set 6 (4); Graders for Problem set 7 (2-3) (solutions for all); will be posted on T-square Regression testing, Instrumentation Final project presentations:

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD

Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD Cairo University Faculty of Computers and Information CS251 Software Engineering Lecture 20: SW Testing Presented by: Mohammad El-Ramly, PhD http://www.acadox.com/join/75udwt Outline Definition of Software

More information

Frontline Interoperability Test Team Case Studies

Frontline Interoperability Test Team Case Studies Frontline Interoperability Test Team Case Studies Frontline IOT Means Maximum Device Compatibility Case Summary A large Bluetooth developer (Customer X) created a new Bluetooth-enabled phone for commercial

More information

Component-Based Software Engineering TIP

Component-Based Software Engineering TIP Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.

More information

Analysis of the Test Driven Development by Example

Analysis of the Test Driven Development by Example Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /

More information

Computational Systems COMP1209

Computational Systems COMP1209 Computational Systems COMP1209 Testing Yvonne Howard ymh@ecs.soton.ac.uk A Problem A café wants to build an automated system to provide breakfasts. The robot waiter greets people before taking their order

More information

Review of Regression Test Case Selection Techniques

Review of Regression Test Case Selection Techniques Review of Regression Test Case Selection Manisha Rani CSE Department, DeenBandhuChhotu Ram University of Science and Technology, Murthal, Haryana, India Ajmer Singh CSE Department, DeenBandhuChhotu Ram

More information

A NOVEL APPROACH FOR TEST SUITE PRIORITIZATION

A NOVEL APPROACH FOR TEST SUITE PRIORITIZATION Journal of Computer Science 10 (1): 138-142, 2014 ISSN: 1549-3636 2014 doi:10.3844/jcssp.2014.138.142 Published Online 10 (1) 2014 (http://www.thescipub.com/jcs.toc) A NOVEL APPROACH FOR TEST SUITE PRIORITIZATION

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips.

SAPtips. Journal. Creating a Well-Developed Master Data Management Solution in BW. August/September 2005 Volume III Issue 4. SAPtips. Page 1 Creating a Well-Developed Master Data Management Solution in BW By Arthur Pat Pesa, arthurpesa, inc Editor Note: Pat Pesa delivers another one-two-three punch with his discussion of developing,

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development

Facts About Testing. Cost/benefit. Reveal faults. Bottom-up. Testing takes more than 50% of the total cost of software development Reveal faults Goals of testing Correctness Reliability Usability Robustness Performance Top-down/Bottom-up Bottom-up Lowest level modules tested first Don t depend on any other modules Driver Auxiliary

More information

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. March 2017 PRINCIPLES OF USER INTERFACE DESIGN

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT. March 2017 PRINCIPLES OF USER INTERFACE DESIGN BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT March 2017 PRINCIPLES OF USER INTERFACE DESIGN EXAMINERS REPORT General Comments Candidates should focus

More information

Major travel and hospitality organizations often have

Major travel and hospitality organizations often have Trimming Data Processing Time by Months; Saving Millions by Keeping Software Releases on Track Major travel and hospitality organizations often have extensive technology footprints, from complex online

More information

Empirical Studies of Test Case Prioritization in a JUnit Testing Environment

Empirical Studies of Test Case Prioritization in a JUnit Testing Environment University of Nebraska - Lincoln DigitalCommons@University of Nebraska - Lincoln CSE Conference and Workshop Papers Computer Science and Engineering, Department of 2004 Empirical Studies of Test Case Prioritization

More information

CSE Verification Plan

CSE Verification Plan CSE 45493-3 Verification Plan 1 Verification Plan This is the specification for the verification effort. It indicates what we are verifying and how we are going to do it! 2 Role of the Verification Plan

More information

SQL Maestro and the ELT Paradigm Shift

SQL Maestro and the ELT Paradigm Shift SQL Maestro and the ELT Paradigm Shift Abstract ELT extract, load, and transform is replacing ETL (extract, transform, load) as the usual method of populating data warehouses. Modern data warehouse appliances

More information

BPM optimization Part 1: Introduction to BPM code optimization

BPM optimization Part 1: Introduction to BPM code optimization BPM optimization Part 1: Introduction to BPM code optimization XPDL source code tuning 4/12/2012 IBM Lukasz Osuszek Abstract: This article describes how optimization techniques characteristic of source

More information

Agile Tester Foundation E-learning Course Outline

Agile Tester Foundation E-learning Course Outline Foundation E-learning Course Outline General Description This course provides testers and test managers with an understanding of the fundamentals of testing on agile projects. Attendees will learn how

More information

HP Application Lifecycle Management. Upgrade Best Practices

HP Application Lifecycle Management. Upgrade Best Practices HP Application Lifecycle Management Upgrade Best Practices Document Release Date: October 2010 Legal Notices Warranty The only warranties for HP products and services are set forth in the express warranty

More information

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS QM 433 - Chapter 1 Database Fundamentals Version 10 th Ed Prepared by Dr Kamel Rouibah / Dept QM & IS www.cba.edu.kw/krouibah Dr K. Rouibah / dept QM & IS Chapter 1 (433) Database fundamentals 1 Objectives

More information

Security Automation Best Practices

Security Automation Best Practices WHITEPAPER Security Automation Best Practices A guide to making your security team successful with automation TABLE OF CONTENTS Introduction 3 What Is Security Automation? 3 Security Automation: A Tough

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

BRANCH COVERAGE BASED TEST CASE PRIORITIZATION

BRANCH COVERAGE BASED TEST CASE PRIORITIZATION BRANCH COVERAGE BASED TEST CASE PRIORITIZATION Arnaldo Marulitua Sinaga Department of Informatics, Faculty of Electronics and Informatics Engineering, Institut Teknologi Del, District Toba Samosir (Tobasa),

More information

Employment of Multiple Algorithms for Optimal Path-based Test Selection Strategy. Miroslav Bures and Bestoun S. Ahmed

Employment of Multiple Algorithms for Optimal Path-based Test Selection Strategy. Miroslav Bures and Bestoun S. Ahmed 1 Employment of Multiple Algorithms for Optimal Path-based Test Selection Strategy Miroslav Bures and Bestoun S. Ahmed arxiv:1802.08005v1 [cs.se] 22 Feb 2018 Abstract Executing various sequences of system

More information

Scrums effects on software maintainability and usability

Scrums effects on software maintainability and usability Scrums effects on software maintainability and usability Gustav Ernberg guser350@student.liu.se January 19, 2015 Synposis I have been working as a web developer with advanced web applications on a number

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

Kanban Size and its Effect on JIT Production Systems

Kanban Size and its Effect on JIT Production Systems Kanban Size and its Effect on JIT Production Systems Ing. Olga MAŘÍKOVÁ 1. INTRODUCTION Integrated planning, formation, carrying out and controlling of tangible and with them connected information flows

More information

Questions For Test Cases

Questions For Test Cases Manual Testing Notes Manager Interview Questions For Test Cases So in this case you will test the module A in depth to all test cases. You can find the manual and automation testing interview questions

More information

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases.

This module presents the star schema, an alternative to 3NF schemas intended for analytical databases. Topic 3.3: Star Schema Design This module presents the star schema, an alternative to 3NF schemas intended for analytical databases. Star Schema Overview The star schema is a simple database architecture

More information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert Scott Adams. CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department

More information

Fault Class Prioritization in Boolean Expressions

Fault Class Prioritization in Boolean Expressions Fault Class Prioritization in Boolean Expressions Ziyuan Wang 1,2 Zhenyu Chen 1 Tsong-Yueh Chen 3 Baowen Xu 1,2 1 State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093,

More information

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)

Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10

More information

mywbut.com Software Life Cycle Model

mywbut.com Software Life Cycle Model Software Life Cycle Model 1 Basics of Software Life Cycle and Waterfall Model 2 Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a life cycle model.

More information

The ITIL v.3. Foundation Examination

The ITIL v.3. Foundation Examination The ITIL v.3. Foundation Examination ITIL v. 3 Foundation Examination: Sample Paper 4, version 3.0 Multiple Choice Instructions 1. All 40 questions should be attempted. 2. There are no trick questions.

More information

ALM120 Application Lifecycle Management 12.0 Essentials Gold Package

ALM120 Application Lifecycle Management 12.0 Essentials Gold Package Course Data Sheet ALM120 Application Lifecycle Management 12.0 Essentials Gold Package Course No: ALM120-120 For software version(s): Software version used in the labs: 12.0 Delivery formats: Instructor

More information

Instance generation from meta-models (for model transformation testing)

Instance generation from meta-models (for model transformation testing) Instance generation from meta-models (for model transformation testing) Robbe De Jongh University of Antwerp Abstract Testing model transformations is a tedious job. One needs to make a representative

More information

Q1) Describe business intelligence system development phases? (6 marks)

Q1) Describe business intelligence system development phases? (6 marks) BUISINESS ANALYTICS AND INTELLIGENCE SOLVED QUESTIONS Q1) Describe business intelligence system development phases? (6 marks) The 4 phases of BI system development are as follow: Analysis phase Design

More information

CAPABILITY. Managed testing services. Strong test managers experienced in working with business and technology stakeholders

CAPABILITY. Managed testing services. Strong test managers experienced in working with business and technology stakeholders TESTING SERVICES 1 CAPABILITY Innovative use of open source tools helping early and frequent and reducing license costs Test strategy Managed services Test management Functional Strong test managers experienced

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

Available online at ScienceDirect. Procedia Computer Science 46 (2015 )

Available online at   ScienceDirect. Procedia Computer Science 46 (2015 ) Available online at www.sciencedirect.com ScienceDirect Procedia Computer Science 46 (2015 ) 949 956 International Conference on Information and Communication Technologies (ICICT 2014) Software Test Automation:

More information

Verification and Validation

Verification and Validation Verification and Validation Assuring that a software system meets a user's needs Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 19 Slide 1 Objectives To introduce software verification

More information

Efficient Regression Test Model for Object Oriented Software

Efficient Regression Test Model for Object Oriented Software Efficient Regression Test Model for Object Oriented Software Swarna Lata Pati College of Engg. & Tech, Bhubaneswar Abstract : This paper presents an efficient regression testing model with an integration

More information

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo Software Design Models, Tools & Processes Lecture 6: Transition Phase Cecilia Mascolo UML Component diagram Component documentation Your own classes should be documented the same way library classes are.

More information

CA Test Data Manager Key Scenarios

CA Test Data Manager Key Scenarios WHITE PAPER APRIL 2016 CA Test Data Manager Key Scenarios Generate and secure all the data needed for rigorous testing, and provision it to highly distributed teams on demand. Muhammad Arif Application

More information

Adobe Marketing Cloud Data Workbench Controlled Experiments

Adobe Marketing Cloud Data Workbench Controlled Experiments Adobe Marketing Cloud Data Workbench Controlled Experiments Contents Data Workbench Controlled Experiments...3 How Does Site Identify Visitors?...3 How Do Controlled Experiments Work?...3 What Should I

More information

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process?

How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? How Can a Tester Cope With the Fast Paced Iterative/Incremental Process? by Timothy D. Korson Version 7.0814 QualSys Solutions 2009 1 Restricted Use This copyrighted material is provided to attendees of

More information

PRIORITIZE REGRESSION TEST CASES

PRIORITIZE REGRESSION TEST CASES PRIORITIZE REGRESSION TEST CASES Avinash Gupta, 2 Dharmender Singh Kushwaha,2 MNNIT Allahabad Email: avinashg.mnnit@gmail.com, 2 dsk@mnnit.ac.in Abstract Test suites can be reduced to a smaller suite that

More information

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake

1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake Sample ISTQB examination 1 Visible deviation from the specification or expected behavior for end-user is called: a) an error b) a fault c) a failure d) a defect e) a mistake 2 Regression testing should

More information

Regression Test Selection for C++ Software

Regression Test Selection for C++ Software Technical Report 99-60-01, Computer Science Department, Oregon State University, January 1999 Regression Test Selection for C++ Authors: Gregg Rothermel Mary Jean Harrold Jeinay Dedhia Software Sanjay

More information

Sample Exam. Advanced Test Automation - Engineer

Sample Exam. Advanced Test Automation - Engineer Sample Exam Advanced Test Automation - Engineer Questions ASTQB Created - 2018 American Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Sample Exam. Advanced Test Automation Engineer

Sample Exam. Advanced Test Automation Engineer Sample Exam Advanced Test Automation Engineer Answer Table ASTQB Created - 08 American Stware Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made,

More information

Baseline Testing Services. Whitepaper Vx.x

Baseline Testing Services. Whitepaper Vx.x Whitepaper Vx.x 2018-04 Table of Contents 1 Introduction... 3 2 What is Baseline Testing?... 3 3 Customer Challenge... 3 4 Project Details... 3 4.1 First Steps... 3 4.2 Project Management... 3 4.3 Software

More information

AppScan Deployment APPLICATION SECURITY SERVICES. Colin Bell. Applications Security Senior Practice Manager

AppScan Deployment APPLICATION SECURITY SERVICES. Colin Bell. Applications Security Senior Practice Manager APPLICATION SECURITY SERVICES AppScan Deployment Colin Bell Applications Security Senior Practice Manager Copyright 2017 HCL Products & Platforms www.hcltech.com The Evolution of Devops 2001 - Continuous

More information

Advanced Threat Defense Certification Testing Report. Symantec Corporation Symantec Advanced Threat Protection

Advanced Threat Defense Certification Testing Report. Symantec Corporation Symantec Advanced Threat Protection Advanced Threat Defense Certification Testing Report Symantec Advanced Threat Protection ICSA Labs Advanced Threat Defense December 8, 2015 Prepared by ICSA Labs 1000 Bent Creek Blvd., Suite 200 Mechanicsburg,

More information

"Charting the Course... ITIL 2011 Managing Across the Lifecycle ( MALC ) Course Summary

Charting the Course... ITIL 2011 Managing Across the Lifecycle ( MALC ) Course Summary Course Summary Description ITIL is a set of best practices guidance that has become a worldwide-adopted framework for IT Service Management by many Public & Private Organizations. Since early 1990, ITIL

More information

The IDN Variant TLD Program: Updated Program Plan 23 August 2012

The IDN Variant TLD Program: Updated Program Plan 23 August 2012 The IDN Variant TLD Program: Updated Program Plan 23 August 2012 Table of Contents Project Background... 2 The IDN Variant TLD Program... 2 Revised Program Plan, Projects and Timeline:... 3 Communication

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Foundation Extension - Usability Terms Standard Glossary of Terms used in Software Testing Version 3.2 Foundation Extension - Usability Terms International Software Testing Qualifications Board Copyright Notice This document may be copied in

More information

Risk-based Object Oriented Testing

Risk-based Object Oriented Testing Risk-based Object Oriented Testing Linda H. Rosenberg, Ph.D. Ruth Stapko Albert Gallo NASA GSFC SATC NASA, Unisys SATC NASA, Unisys Code 302 Code 300.1 Code 300.1 Greenbelt, MD 20771 Greenbelt, MD 20771

More information

Testing in the Agile World

Testing in the Agile World Testing in the Agile World John Fodeh Solution Architect, Global Testing Practice 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Outline

More information

Test Automation Beyond Regression Testing

Test Automation Beyond Regression Testing Test Automation Beyond Regression Testing Doug Hoffman, BA, MBA, MSEE, ASQ-CSQE Software Quality Methods, LLC. (SQM) www.softwarequalitymethods.com doug.hoffman@acm.org STPCon Spring 2008 Why Automate

More information