Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design
|
|
- Janel Holt
- 5 years ago
- Views:
Transcription
1 Helping the Tester Get it Right: Towards Supporting Agile Combinatorial Test Design Anna Zamansky 1 and Eitan Farchi 2 1 University of Haifa, Israel 2 IBM Haifa Research Lab, Israel Abstract. Combinatorial test design (CTD) is an effective test planning technique that reveals faulty feature interaction in a given system. CTD takes a systematic approach to formally model the system to be tested, and propose test cases ensuring coverage of given conditions or interactions between parameters. In this position paper we propose a framework for supporting agile CTD, a human-centered methodology, which takes into account the human tester s possible mistakes and supports revision and refinement. In this approach a combinatorial model of the system and test plans are constructed in an incremental and iterative way, providing the tester with the ability to refine and validate the constructions. We propose a formal framework which can be used as a theoretical foundation for the development of agile CTD support tools, and describe a use case of an envisioned tool. 1 Introduction As software systems become increasingly complex, verifying their correctness becomes more challenging. Formal verification approaches are highly sensitive to the size of complexity of software, and might require extremely expensive resources. Functional testing, on the other hand, is prone to omissions, as it always involves a selection of what to test from a potentially enormous space of scenarios, configurations or conditions that is typically exponential in nature. The process of test planning refers to the design and selection of tests out of a test space aiming at reducing the risk of bugs while minimizing redundancy of tests. Combinatorial Test Design (CTD) [6,10] is an effective test planning technique, in which the space to be tested, called a combinatorial model, is represented by a set of parameters, their respective values and restrictions on the value combinations [8]. CTD approaches can be applied at different phases and scopes of testing, including end-to-end and system-level testing and feature-, service- and application program interface-level testing. The main challenge of CTD consists of finding a small (and ideally minimal) set of test cases (a subset of the space to be tested), which ensures coverage of given conditions, or interactions between variables (such as pairs, three-way, etc.) Experiments show that a test set that covers all possible pairs of parameter
2 values can typically detect between 50 to 75 percent of the bugs in a program ([9]). Other experimental work has shown that typically all bugs can be revealed by covering the interaction of between 4 to 6 patameters [3]. One important task in CTD is the construction of a combinatorial model of a system, which includes a set of parameters, their respective values and logical restrictions on value combinations. Typically, the parameters of the model do not map directly to user inputs of the system, but are rather a high-level abstraction of them. Identifying correctly the set of parameters for the model, their values - and most importantly - the restrictions on them is a laborious task which requires abstract thinking and a considerable level of familiarity with formal logic. Another task is the planning of tests over the constructed model, which satisfy a chosen coverage requirement (e.g., pairwise coverage). The complex and error-prone nature of both of these tasks leads to the need for automatic tools supporting the human tester. While there are numerous studies on human errors (see, e.g. [1,5]), and in particular on human factors in software development ([7,4]), they have been only marginally addressed in the context of combinatorial test design. In this position paper we propose an explicitly human-centered methodology for CTD, which takes into account the possibility of the tester s error and provides the tester with systematic tools to refine and validate the constructed models and test plans. We propose the term agile test design to refer to such approach, reflecting the incremental and interative way in which models and test plans are constructed. We propose a formal framework which can be used as a theoretical foundation for the development of agile CTD tools, and describe a use case of an envisioned tool. 2 A Vision for Agile Test Design Typically, the CTD methodology is applied in the following stages. First the tester constructs a combinatorial model of the system by providing a set scenarios which are executable in the system. After choosing the coverage requirements, the second stage is constructing a test plan, i.e., proposing a set of tests over the model, so that full coverage with respect to a chosen coverage strategy is achieved. In practice, taking into account the human factor [1,5], errors are possible at both of these stages. Moreover, error discovery in the test plan may cause the tester to return to the model and refine it, and vice versa. To reflect the iterative and incremental nature of the two stages of CTD, we propose the term agile test planning. This notion is based on the assumption that the tester s activity is not errorproof: errors can happen, both in the model and the test plan, and should be taken into account. Therefore, correctness of the combinatorial model is not assumed at the stage of test planning, and the tester may go back to refining the model at any point. The basic unit manipulated by the tester is a test. A test is represented by a vector of values assigned to systems parameters. The combinatorial model of the system is a set of all tests which describe possible (or executable) behaviors
3 of the system. A test plan is a set of tests out of the model space which satisfy some chosen coverage policy (such as pairwise testing). We divide the space of tests into three basic types, according to the information available from the tester: 1. validated - these are the tests that the tester confirmed as executable (according to some chosen confirmation strategy). 2. rejected - these are the tests that the tester rejected as impossible, either by explicitly removing them from the model, or by providing a logical condition that rules them out. 3. uncertain - these are the tests for which not enough information has been provided to classify them as validated/rejected. Agile test design, therefore, can be thought of as an iterative process, the goal of which is to validate or reject each possible test, arriving at a coherent combinatorial model of the system, together with a test plan satisfying the chosen coverage. Referring to the above three types of tests as colors: green, red and yellow respectively, the goal is eliminating all yellow tests by turning them either to green or to red. This can be done by raising a series of questions to the tester, which help determine if tests are missing in the test plan (and so the combinatorial model should be expanded, turning yellow to green), or the combinatorial model contains non-executable tests (and so it should be reduced, turning some yellow tests to red). The methodology described above allows for a great amount of flexibility, both for user querying strategies, and for validation/rejection strategies. For instance, we may want to minimize the time it takes the tester to arrive to a coherent solution, or the cognitive load of the tester (by presenting him only small portions of tests in each interation). 3 The Formal Framework 3.1 Combinatorial Models and Test Plans Definition 1. (System space) A system space is a a finite set of system parameters P = {A 1,..., A n } together with their corresponding associated values {V(A 1 ),..., V(A n )}. For any value a V(A i ), we say that a has type A i, denoted by type(a) = A i. Definition 2. (Interactions, scenarios) An interaction is an element I m 1 V(A i) such that for distinct a, b I, type(a) type(b). An interaction of size n (where n is the number of system parameters) is called a scenario. Example 1. As our running example, let us consider a system in which there are two servers S 1 and S 2, which can be either active (up) or inactive (down). Moreover, there are two operations Send and Ping, which can be performed by either one of the servers. We can set the system parameters to P = {S 1, S 2, Op}, where:
4 V (S 1 ) = {up 1, down 1 } V (S 2 ) = {up 2, down 2 } V (Op) = {Send 1, Send 2, P ing 1, P ing 2 } So, e.g., an assignment S 1 = up 1, S 2 = down 2 and Op = Send 1 represents a situation where the first server is up, performing the send operation and the second is down. Moverover, {up 1, Send 0 } and up 1, down 2, P ing 0 } are interactions; the latter is also a scenario. Definition 3. (Coverage) We say that a set of scenarios T covers a set of interactions C if for every c C there is some t T, such that c t. Example 2. Let the global system space be P = {FileOps, PathName, OS}, where V(FileOps) = {open, close, read, write} V(PathName) = {relative, absolute} V(OS) = {unix, windows} Then we can define interactions I 1 = {open, relative} and I 2 = {close, absolute}. We can define further define scenarios t 1 = {open, relative, unix} and t 2 = {close, absolute, windows}. Note that {t 1, t 2 } covers {I 1, I 2 } Definition 4. (Combinatorial model) A combinatorial model E is a set of scenarios (which defines all scenarios executable in the system). Definition 5. (Test plan) A test plan is a triple P = (E, C, T ), where E is a combinatorial model, C is a set of interactions called coverage requirements, and T is a set of scenarios called tests, where T covers C. Example 3. The most standard coverage requirement in the domain of combinatorial test design is pairwise testing [10,9]: considering every (executable) pair of possible values of system parameters. In terms of the above definition, a pairwise test plan can be formulated as any pair of the form P = (E, C pair (E), T ), where C pair is the set of all interactions of size 2 which can be extended to scenarios from E. 3.2 Representing Models and Plans as Logical Theories Recall that P = {A 1,..., A n } is our set of system parameters and {V(A 1 ),..., V(A n )} their corresponding ranges of values. Definition 6. F P, the set of well formed formulas of P is defined inductively as follows:
5 A i : a F for every 1 i n and a V P (A i ). We call such formulas atomic. If ψ, F P, then ψ, (ϕ ψ), (ϕ ψ), (ϕ ψ) F P. When the parameter is clear from context, we shall write just a instead of A i : a. So examples of formulas for P defined in Example 1 are: open, relative, ((open relative) unix). Every formula of F P naturally induces a set of scenarios (i.e., assignments to system parameters, or in other words, tests) in the following sense: Definition 7. Let ψ F P and let s be some scenario. We say that s satisfies ψ, denoted by s = ψ iff: ψ = A i : a and a s. ψ = ϕ 1 ϕ 2, s = ϕ 1 and s = ϕ 2. The rest of the cases are defined similarly. For a formula ψ, we define mod(ψ) = {s s = ψ}. For a theory Γ = {ψ 1,..., ψ n }, we denote mod(γ ) = mod(ψ 1 )... mod(ψ n ). The above definition provides a useful link between logical theories and sets of tests: a set of formulas Γ naturally defines a subset of tests by mod(γ ). Thus the tester may use formulas pf the above form to specify sets of tests of interest. 3.3 Agile CTD: Iterative Uncertainty Elimination Let us now describe the framework of agile CTD more formally, using the notions introduced above. The goal of the tester is to provide a valid test plan P = (E, C, T ). By a validity we mean here that (i) T satisfies all coverage requirements in C, and (ii) T is a subset of E. A coherent solution is reached when both (i) and (ii) are satisfied, if one of them is violated our envisioned tool supports an interative resolution of such violations. It is important to note that in our framework we do not assume the availability of E, the combinatorial model, rather it is extracted when the tester specifies a set of specific test cases T, as well as some logical restrictions (in the form of formulas as defined above) on the combinatorial model, which provide only partial information about E. Once the tester is satisfied with the constructed plan, a support tool may be invoked. The tool may automatically extract the combinatorial model from the provided tests and logical restrictions. Each test in the model has a status: those appearing in the test plan are validated (green), those ruled out by the logical conditions are rejected (red), the remaining ones are uncertain (yellow). The tool then may raise a sequence of questions that help determine the status of each of the yellow tests in the model. Different sequences may be proposed according to different considerations.
6 3.4 A Possible Use Case Let us describe a possible agile test planning use case. Suppose the coverage requirement is pairwise coverage. Returning to the system from Example 1, suppose that not all test cases are executable and further restrictions should be imposed. For instance, assume that server 1 can perform both send and ping operations, while server 2 can only perform ping operations. Moreover, only one of the servers can be up at the same time. If these are the only restrictions, the set of the executable scenarios can be described (in the sense of Definition 7) by the logical theory Γ = {up 1 down 2, up 2 P ing 0 P ing 1 }. Suppose, however, that the tester erroneously thinks that all combinations are possible and provides no logical restrictions for the model at this point. This induces the whole set E 0 = V (S 1 ) V (S 2 ) V (Op) as the underlying combinatorial model. The tester further proposes the following test cases: S 1 S 2 Op down 1 up 2 Ping 0 down 1 up 2 Ping 1 up 1 down 2 Send 0 up 1 down 2 Send 1 up 1 down 2 Ping 0 up 1 down 2 Ping 1 Once the tester submits the test plan, the six tests above are colored green (validated) in the model, the rest remaining yellow as no additional restriction ruling them out have been provided. At this point the tester s mistake may be discovered, as pairwise coverage is not achieved: the following interactions remain uncovered: {up 1, up 2 }, {down 1, down 2 }, {up 2, Send 0 }, {up 2, Send 1 } This could be either due to the fact that the tester forgot to add some tests, or he intentionally left them out as they are not executable in the system. In the former case he will add further concrete test cases, which will turn green in the model. In the latter case, however, he needs to refine the combinatorial model of the system, either explicitly or by adding logical restrictions, which will make some tests red in the model. In any case, the level of uncertainty (the number of yellow-colored tests) will be reduced at each interation. To maintain scalability to large parameter sets, a useful strategy can be to consider smaller projections at each iteraction. So, e,g, the tool may focus on the projection {S 1, S 2 }, asking the tester whether he wants to add tests to cover the interactions {up 1, up 2 }, {down 1, down 2 }. A negative answer implies that some scenarios should be excluded from the model. In this case a logical condition up 1 down 2 explaining this discrepancy can be suggested to refine the model. It is an interesting direction for further investigation to investigate strategies for
7 looking for the logical conditions which would make the most sense to the tester. Suppose that the user may now accept this model refinement, leading to further yellow tests turning red. The remaining missing interactions {up 2, Send 0 }, {up 2, Send 1 } are in the projection {S 2, Op}, on which the tool may focus next. We can again ask the tester whether he wants to add tests to cover them. He replies negatively, and the logical condition up 2 P ing 0 P ing 1 explaining this discrepancy can be suggested to refine the model. 4 Summary and Future Work The tester s main tasks in combinatorial test design, which include modelling the system and test planning, are laborious and error-prone. In this position paper we presented a vision for automatic support tools for CTD testers, which support an agile iterative test design. This approach takes into account the errorprone nature of the human tester s tasks, and supports the tester in refining and correcting his outputs by proposing a series of queries. We proposed here a framework for formalization of agile CTD, which can be used as a theoretical basis for developing future automatic support tools. An immediate direction for further research is an implementation of a prototype of the proposed tool. We plan to implement it using the environment of IBM Functional Coverage Unified Solution (FoCuS [2]), which is a tool for test-oriented system modeling, for model based test planning, and for functional coverage analysis. Another challenge is proposing methods to quantify the added value such tool may provide to the human testers. A starting point here could be proposing measurable criteria for the quality of combinatorial models. These criteria could then be used to compare manually constructed combinatorial models to models constructed with the help of our tool. When developing tools to support agile CTD, there is a level of freedom when considering different minimization strategies, which in their turn induce the order and type of questions posed by the tool to the user. One possible strategy is the minimization of time to complete a test plan. In this case questions answers to which make more tests certain should be preferred. Another strategy could be minimization of the cognitive load of the tester. In this case we may propose first logical restrictions involving a small number of parameters, or capturing a small number of tests which can be vizualized on screen. Human factors have so far received little attention in combinatorial test design. It is our hope that this paper will start a discourse on the practical needs of testers in the process of test design and combinatorial system modelling. References 1. BS Dhillon. Engineering product usability: a review and analysis techniques. WSEAS TRANSACTIONS on CIRCUITS and SYSTEMS, 2:86 94, group.php?id=1871.
8 3. D Richard Kuhn, Dolores R Wallace, and Jr AM Gallo. Software fault interactions and implications for software testing. Software Engineering, IEEE Transactions on, 30(6): , Christoph Malz, Kerstin Sommer, Peter Göhner, and Birgit Vogel-Heuser. Consideration of human factors for prioritizing test cases for the software system test. In Engineering Psychology and Cognitive Ergonomics, pages Springer, Tina Mioch, Jan-Patrick Osterloh, and Denis Javaux. Selecting human error types for cognitive modelling and simulation. In Human modelling in assisted transportation, pages Springer, Changhai Nie and Hareton Leung. A survey of combinatorial testing. ACM Computing Surveys (CSUR), 43(2):11, Laleh Pirzadeh. Human factors in software development: A systematic literature review Itai Segall, Rachel Tzoref-Brill, and Aviad Zlotnick. Common patterns in combinatorial models. In Proceedings of the IEEE Fifth International Conference on Software Testing, Verification and Validation (ICST), pages IEEE, KuoChung Tai and Yu Lie. A test generation strategy for pairwise testing. IEEE Transactions on Software Engineering, 28(1): , Jian Zhang, Zhiqiang Zhang, and Feifei Ma. Introduction to combinatorial testing. In Automatic Generation of Combinatorial Test Data, pages Springer, 2014.
Mining High Order Decision Rules
Mining High Order Decision Rules Y.Y. Yao Department of Computer Science, University of Regina Regina, Saskatchewan, Canada S4S 0A2 e-mail: yyao@cs.uregina.ca Abstract. We introduce the notion of high
More information(See related materials in textbook.) CSE 435: Software Engineering (slides adapted from Ghezzi et al & Stirewalt
Verification (See related materials in textbook.) Outline What are the goals of verification? What are the main approaches to verification? What kind of assurance do we get through testing? How can testing
More informationHigher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011
Higher-order Testing Stuart Anderson Defining Higher Order Tests 1 The V-Model V-Model Stages Meyers version of the V-model has a number of stages that relate to distinct testing phases all of which are
More informationOn The Theoretical Foundation for Data Flow Analysis in Workflow Management
Association for Information Systems AIS Electronic Library (AISeL) AMCIS 2005 Proceedings Americas Conference on Information Systems (AMCIS) 2005 On The Theoretical Foundation for Data Flow Analysis in
More informationChapter 2 Overview of the Design Methodology
Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed
More informationINCONSISTENT DATABASES
INCONSISTENT DATABASES Leopoldo Bertossi Carleton University, http://www.scs.carleton.ca/ bertossi SYNONYMS None DEFINITION An inconsistent database is a database instance that does not satisfy those integrity
More informationLeveraging Transitive Relations for Crowdsourced Joins*
Leveraging Transitive Relations for Crowdsourced Joins* Jiannan Wang #, Guoliang Li #, Tim Kraska, Michael J. Franklin, Jianhua Feng # # Department of Computer Science, Tsinghua University, Brown University,
More informationROUGH SETS THEORY AND UNCERTAINTY INTO INFORMATION SYSTEM
ROUGH SETS THEORY AND UNCERTAINTY INTO INFORMATION SYSTEM Pavel Jirava Institute of System Engineering and Informatics Faculty of Economics and Administration, University of Pardubice Abstract: This article
More informationResource Sharing & Management
Resource Sharing & Management P.C.P Bhatt P.C.P Bhatt OS/M6/V1/2004 1 Introduction Some of the resources connected to a computer system (image processing resource) may be expensive. These resources may
More informationLine Graphs and Circulants
Line Graphs and Circulants Jason Brown and Richard Hoshino Department of Mathematics and Statistics Dalhousie University Halifax, Nova Scotia, Canada B3H 3J5 Abstract The line graph of G, denoted L(G),
More informationThe Bizarre Truth! Automating the Automation. Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER
The Bizarre Truth! Complicated & Confusing taxonomy of Model Based Testing approach A CONFORMIQ WHITEPAPER By Kimmo Nupponen 1 TABLE OF CONTENTS 1. The context Introduction 2. The approach Know the difference
More informationThe requirements engineering process
3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process
More informationRandom projection for non-gaussian mixture models
Random projection for non-gaussian mixture models Győző Gidófalvi Department of Computer Science and Engineering University of California, San Diego La Jolla, CA 92037 gyozo@cs.ucsd.edu Abstract Recently,
More informationMatching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.
18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have
More informationMassachusetts Institute of Technology Department of Electrical Engineering and Computer Science Algorithms For Inference Fall 2014
Suggested Reading: Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.438 Algorithms For Inference Fall 2014 Probabilistic Modelling and Reasoning: The Junction
More informationWinning Positions in Simplicial Nim
Winning Positions in Simplicial Nim David Horrocks Department of Mathematics and Statistics University of Prince Edward Island Charlottetown, Prince Edward Island, Canada, C1A 4P3 dhorrocks@upei.ca Submitted:
More informationRubicon: Scalable Bounded Verification of Web Applications
Joseph P. Near Research Statement My research focuses on developing domain-specific static analyses to improve software security and reliability. In contrast to existing approaches, my techniques leverage
More informationInteractive Fault Localization Using Test Information
Hao D, Zhang L, Xie T et al. Interactive fault localization using test information. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY 24(5): 962 974 Sept. 2009 Interactive Fault Localization Using Test Information
More informationLose It! Weight Loss App Heuristic Evaluation Report
Lose It! Weight Loss App Heuristic Evaluation Report By Manuel Ryan Espinsa Manuel Ryan Espinosa 1-27-2017 Heuristic Evaluation IN4MATX 283 LEC A: USER EXPERIENCE (37000) TABLE OF CONTENTS EXECUTIVE SUMMARY
More informationCrown-free highly arc-transitive digraphs
Crown-free highly arc-transitive digraphs Daniela Amato and John K Truss University of Leeds 1. Abstract We construct a family of infinite, non-locally finite highly arc-transitive digraphs which do not
More informationTest Cases Generation from UML Activity Diagrams
Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing Test Cases Generation from UML Activity Diagrams Hyungchoul Kim, Sungwon
More informationThe LUCID Design Framework (Logical User Centered Interaction Design)
The LUCID Design Framework (Logical User Centered Interaction Design) developed by Cognetics Corporation LUCID Logical User Centered Interaction Design began as a way of describing the approach to interface
More informationStandard 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 informationCore Membership Computation for Succinct Representations of Coalitional Games
Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity
More informationScope and Sequence for the New Jersey Core Curriculum Content Standards
Scope and Sequence for the New Jersey Core Curriculum Content Standards The following chart provides an overview of where within Prentice Hall Course 3 Mathematics each of the Cumulative Progress Indicators
More informationCMSC 132: OBJECT-ORIENTED PROGRAMMING II
CMSC 132: OBJECT-ORIENTED PROGRAMMING II Program Testing Department of Computer Science University of Maryland, College Park Debugging Is Harder Than Coding! Debugging is twice as hard as writing the code
More informationOn the implementation of a multiple output algorithm for defeasible argumentation
On the implementation of a multiple output algorithm for defeasible argumentation Teresa Alsinet 1, Ramón Béjar 1, Lluis Godo 2, and Francesc Guitart 1 1 Department of Computer Science University of Lleida
More informationChapter 15 Introduction to Linear Programming
Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of
More informationNo model may be available. Software Abstractions. Recap on Model Checking. Model Checking for SW Verif. More on the big picture. Abst -> MC -> Refine
No model may be available Programmer Software Abstractions Tests Coverage Code Abhik Roychoudhury CS 5219 National University of Singapore Testing Debug Today s lecture Abstract model (Boolean pgm.) Desirable
More information3.7 Denotational Semantics
3.7 Denotational Semantics Denotational semantics, also known as fixed-point semantics, associates to each programming language construct a well-defined and rigorously understood mathematical object. These
More informationFault 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 informationSyntactic and Semantic Differencing for Combinatorial Models of Test Designs
Syntactic and Semantic Differencing for Combinatorial Models of Test Designs Rachel Tzoref-Brill School of Computer Science, Tel Aviv University and IBM Research, Israel Shahar Maoz School of Computer
More informationValidation of models and tests for constrained combinatorial interaction testing
Validation of models and tests for constrained combinatorial interaction testing Paolo Arcaini Angelo Gargantini Paolo Vavassori University of Bergamo- Italy International Workshop on Combinatorial Testing
More informationBinary Decision Diagrams
Binary Decision Diagrams 2-CS-626- Formal Verification Department of Computer Science University of Cincinnati Introduction Binary Decision Diagrams (BDD) [, 8] are a general, graphical representation
More informationSoftware Engineering (CSC 4350/6350) Rao Casturi
Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the
More informationContent Based Smart Crawler For Efficiently Harvesting Deep Web Interface
Content Based Smart Crawler For Efficiently Harvesting Deep Web Interface Prof. T.P.Aher(ME), Ms.Rupal R.Boob, Ms.Saburi V.Dhole, Ms.Dipika B.Avhad, Ms.Suvarna S.Burkul 1 Assistant Professor, Computer
More informationPart 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 informationVerification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1
Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationMulti-trace Concolic Execution Framework
Multi-trace Concolic Execution Framework Kyel Ok, Joonwon Choi, and Chanwoo Chung {kyelok, joonwonc, cwchung}@mit.edu 1 Introduction Concolic execution is a powerful tool to automatically detect bugs that
More informationVerification Overview Testing Theory and Principles Testing in Practice. Verification. Miaoqing Huang University of Arkansas 1 / 80
1 / 80 Verification Miaoqing Huang University of Arkansas Outline 1 Verification Overview 2 Testing Theory and Principles Theoretical Foundations of Testing Empirical Testing Principles 3 Testing in Practice
More informationSEMINAR REPORT ON BAN LOGIC
SEMINAR REPORT ON BAN LOGIC Submitted by Name : Abhijeet Chatarjee Roll No.: 14IT60R11 SCHOOL OF INFORMATION TECHNOLOGY INDIAN INSTITUTE OF TECHNOLOGY, KHARAGPUR-721302 (INDIA) Abstract: Authentication
More information15/16 CSY2041 Quality and User-Centred Systems
15/16 CSY2041 Quality and User-Centred Systems INTERACTION DESIGN 1 Heuristic evaluation and walkthroughs 2 1 Aims: Describe the key concepts associated with inspection methods. Explain how to do heuristic
More informationTesting! 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 informationA Decision-Theoretic Rough Set Model
A Decision-Theoretic Rough Set Model Yiyu Yao and Jingtao Yao Department of Computer Science University of Regina Regina, Saskatchewan, Canada S4S 0A2 {yyao,jtyao}@cs.uregina.ca Special Thanks to Professor
More informationIntroduction to Software Engineering
Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,
More informationLeslie Lamport: The Specification Language TLA +
Leslie Lamport: The Specification Language TLA + This is an addendum to a chapter by Stephan Merz in the book Logics of Specification Languages by Dines Bjørner and Martin C. Henson (Springer, 2008). It
More informationSoftware Testing CS 408
Software Testing CS 408 1/09/18 Course Webpage: http://www.cs.purdue.edu/homes/suresh/408-spring2018 1 The Course Understand testing in the context of an Agile software development methodology - Detail
More informationAn algorithm for Performance Analysis of Single-Source Acyclic graphs
An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs
More informationComplexity Results on Graphs with Few Cliques
Discrete Mathematics and Theoretical Computer Science DMTCS vol. 9, 2007, 127 136 Complexity Results on Graphs with Few Cliques Bill Rosgen 1 and Lorna Stewart 2 1 Institute for Quantum Computing and School
More informationLearning to Match. Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li
Learning to Match Jun Xu, Zhengdong Lu, Tianqi Chen, Hang Li 1. Introduction The main tasks in many applications can be formalized as matching between heterogeneous objects, including search, recommendation,
More informationManaging Open Bug Repositories through Bug Report Prioritization Using SVMs
Managing Open Bug Repositories through Bug Report Prioritization Using SVMs Jaweria Kanwal Quaid-i-Azam University, Islamabad kjaweria09@yahoo.com Onaiza Maqbool Quaid-i-Azam University, Islamabad onaiza@qau.edu.pk
More informationCS 512, Spring 2017: Take-Home End-of-Term Examination
CS 512, Spring 2017: Take-Home End-of-Term Examination Out: Tuesday, 9 May 2017, 12:00 noon Due: Wednesday, 10 May 2017, by 11:59 am Turn in your solutions electronically, as a single PDF file, by placing
More informationTopics 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 informationIPOG/IPOG-D: efficient test generation for multi-way combinatorial testing
SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. 2008; 18:125 148 Published online 29 November 2007 in Wiley InterScience (www.interscience.wiley.com)..381 IPOG/IPOG-D: efficient
More informationChapter S:II. II. Search Space Representation
Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation
More informationOverview. 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 informationStable Harmony. Nils Kurbis
Stable Harmony Nils Kurbis 1. Gentzen s Thesis and Two Notions of Harmony Gentzen observed that there is a remarkable systematic in the inference patterns for symbols of the calculus of natural deduction.
More informationMonitoring Interfaces for Faults
Monitoring Interfaces for Faults Aleksandr Zaks RV 05 - Fifth Workshop on Runtime Verification Joint work with: Amir Pnueli, Lenore Zuck Motivation Motivation Consider two components interacting with each
More informationMeasures of Clustering Quality: A Working Set of Axioms for Clustering
Measures of Clustering Quality: A Working Set of Axioms for Clustering Margareta Ackerman and Shai Ben-David School of Computer Science University of Waterloo, Canada Abstract Aiming towards the development
More informationGenerating Tests for Detecting Faults in Feature Models
Generating Tests for Detecting Faults in Feature Models Paolo Arcaini 1, Angelo Gargantini 2, Paolo Vavassori 2 1 Charles University in Prague, Czech Republic 2 University of Bergamo, Italy Outline Feature
More informationChapter 7. Conclusions and Future Work
Chapter 7 Conclusions and Future Work In this dissertation, we have presented a new way of analyzing a basic building block in computer graphics rendering algorithms the computational interaction between
More informationMTAT : Software Testing
MTAT.03.159: Software Testing Lecture 03: Black-Box Testing (advanced) Part 2 Dietmar Pfahl Spring 2018 email: dietmar.pfahl@ut.ee Black-Box Testing Techniques Equivalence class partitioning (ECP) Boundary
More informationPropositional Logic Formal Syntax and Semantics. Computability and Logic
Propositional Logic Formal Syntax and Semantics Computability and Logic Syntax and Semantics Syntax: The study of how expressions are structured (think: grammar) Semantics: The study of the relationship
More informationTerm Algebras with Length Function and Bounded Quantifier Elimination
with Length Function and Bounded Ting Zhang, Henny B Sipma, Zohar Manna Stanford University tingz,sipma,zm@csstanfordedu STeP Group, September 3, 2004 TPHOLs 2004 - p 1/37 Motivation: Program Verification
More informationjunit RV Adding Runtime Verification to junit
junit RV Adding Runtime Verification to junit Normann Decker, Martin Leucker, and Daniel Thoma Institute for Software Engineering and Programming Languages Universität zu Lübeck, Germany {decker, leucker,
More informationEmbracing Imperfection in Enterprise Architecture Models
Embracing Imperfection in Enterprise Architecture Models Hector Florez, Mario Sánchez, and Jorge Villalobos Department of Systems and Computing Engineering, Universidad de los Andes, Bogotá, Colombia {ha.florez39,mar-san1,jvillalo}@uniandes.edu.co
More informationIntroduction to Software Testing
Introduction to Software Testing Software Testing This paper provides an introduction to software testing. It serves as a tutorial for developers who are new to formal testing of software, and as a reminder
More informationPTMD: Pairwise Testing Based on Module Dependency
Proceedings of the 6th WSEAS International Conference on Applied Computer Science, Tenerife, Canary Islands, Spain, December 16-18, 2006 341 PTMD: Pairwise Testing Based on Module Dependency Jangbok Kim
More informationRepresenting Symbolic Reasoning
Representing Symbolic Reasoning Brian Mastenbrook and Eric Berkowitz 1400 N. Roosevelt Blvd. Schaumburg, IL 60173 chandler@acm.roosevelt.edu eric@cs.roosevelt.edu Abstract Introspection is a fundamental
More informationUtility Maximization
Utility Maximization Mark Dean Lecture Notes for Spring 2015 Behavioral Economics - Brown University 1 Lecture 1 1.1 Introduction The first topic we are going to cover in the course isn t going to seem
More informationModule 11. Directed Graphs. Contents
Module 11 Directed Graphs Contents 11.1 Basic concepts......................... 256 Underlying graph of a digraph................ 257 Out-degrees and in-degrees.................. 258 Isomorphism..........................
More informationVerification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1
Verification and Validation 1 Objectives To introduce software verification and validation and to discuss the distinction between them To describe the program inspection process and its role in V & V To
More informationSoftware Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015
Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And
More informationdemand point given tracks
2 Introduction Establishing stops (or stations) within a transportation network is fundamental for offering public transportation service, since stops are an important part of the PTN. But it is not clear
More informationTesting: Test design and testing process
Testing: Test design and testing process Zoltán Micskei Based on István Majzik s slides Dept. of Measurement and Information Systems Budapest University of Technology and Economics Department of Measurement
More informationModel-based GUI testing using Uppaal at NOVO Nordisk
Model-based GUI testing using Uppaal at NOVO Nordisk Ulrik H. Hjort 2, Jacob Illum 1, Kim G. Larsen 1, Michael A. Petersen 2, and Arne Skou 1 1 Department of Computer Science, Aalborg University, Denmark
More informationOverview. Discrete Event Systems - Verification of Finite Automata. What can finite automata be used for? What can finite automata be used for?
Computer Engineering and Networks Overview Discrete Event Systems - Verification of Finite Automata Lothar Thiele Introduction Binary Decision Diagrams Representation of Boolean Functions Comparing two
More informationCover Page. The handle holds various files of this Leiden University dissertation
Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue
More informationX. A Relevance Feedback System Based on Document Transformations. S. R. Friedman, J. A. Maceyak, and S. F. Weiss
X-l X. A Relevance Feedback System Based on Document Transformations S. R. Friedman, J. A. Maceyak, and S. F. Weiss Abstract An information retrieval system using relevance feedback to modify the document
More informationReading assignment: Reviews and Inspections
Foundations for SE Analysis Reading assignment: Reviews and Inspections M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 1999, pp. 258-287.
More informationThe Encoding Complexity of Network Coding
The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network
More informationHorn Formulae. CS124 Course Notes 8 Spring 2018
CS124 Course Notes 8 Spring 2018 In today s lecture we will be looking a bit more closely at the Greedy approach to designing algorithms. As we will see, sometimes it works, and sometimes even when it
More informationModel-Solver Integration in Decision Support Systems: A Web Services Approach
Model-Solver Integration in Decision Support Systems: A Web Services Approach Keun-Woo Lee a, *, Soon-Young Huh a a Graduate School of Management, Korea Advanced Institute of Science and Technology 207-43
More informationPage 1. Reading assignment: Reviews and Inspections. Foundations for SE Analysis. Ideally want general models. Formal models
Reading assignment: Reviews and Inspections Foundations for SE Analysis M. E. Fagan, "Design and code inspections to reduce error in program development, IBM Systems Journal, 38 (2&3), 999, pp. 258-28.
More informationA UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE
A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com
More informationByzantine Consensus in Directed Graphs
Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory
More informationSoftware Engineering Fall 2014
Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability
More informationSoftware Quality Assurance & Testing
Software Quality Assurance & Testing 1.Software Testing - An ISTQB-BCS Certified Tester Foundation Guide 3rd edition, 2015 Brian Hambling, Peter Morgan, Geoff Thompson, Peter Williams,Angelina Samaroo
More informationPROJECT PERIODIC REPORT
PROJECT PERIODIC REPORT Grant Agreement number: 257403 Project acronym: CUBIST Project title: Combining and Uniting Business Intelligence and Semantic Technologies Funding Scheme: STREP Date of latest
More informationIN-SITU CALIBRATION OF A REDUNDANT MEASUREMENT SYSTEM FOR MANIPULATOR POSITIONING
IN-SIU CALIBRAION OF A REDUNDAN MEASUREMEN SYSEM FOR MANIPULAOR POSIIONING Piotr J. Meyer Philips Center for Industrial echnology (CF, Lynnfield, MA, U.S.A. Prof. Dr. Jan van Eijk Philips Center for Industrial
More informationENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL
INTERNATIONAL DESIGN CONFERENCE - DESIGN 2000 Dubrovnik, May 23-26, 2000. ENTITIES IN THE OBJECT-ORIENTED DESIGN PROCESS MODEL N. Pavković, D. Marjanović Keywords: object oriented methodology, design process
More informationModule 1 Lecture Notes 2. Optimization Problem and Model Formulation
Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization
More informationImproving Range Query Performance on Historic Web Page Data
Improving Range Query Performance on Historic Web Page Data Geng LI Lab of Computer Networks and Distributed Systems, Peking University Beijing, China ligeng@net.pku.edu.cn Bo Peng Lab of Computer Networks
More informationDisjoint directed cycles
Disjoint directed cycles Noga Alon Abstract It is shown that there exists a positive ɛ so that for any integer k, every directed graph with minimum outdegree at least k contains at least ɛk vertex disjoint
More informationStatistical 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 informationA Rough Set Approach for Generation and Validation of Rules for Missing Attribute Values of a Data Set
A Rough Set Approach for Generation and Validation of Rules for Missing Attribute Values of a Data Set Renu Vashist School of Computer Science and Engineering Shri Mata Vaishno Devi University, Katra,
More informationCS 577A Team 1 DCR ARB. PicShare
CS 577A Team 1 DCR ARB PicShare Team and Project Review (DEN) Project Evaluation Positives Resilient Agile detailed design promotes thoroughness before any code is written Development time should be reduced
More informationA Model of Machine Learning Based on User Preference of Attributes
1 A Model of Machine Learning Based on User Preference of Attributes Yiyu Yao 1, Yan Zhao 1, Jue Wang 2 and Suqing Han 2 1 Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada
More informationTest designs for evaluating the effectiveness of mail packs Received: 30th November, 2001
Test designs for evaluating the effectiveness of mail packs Received: 30th November, 2001 Leonard Paas previously worked as a senior consultant at the Database Marketing Centre of Postbank. He worked on
More information