Managing Defects in an Agile Environment
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Software Testing
Software Testing PURPOSE OF TESTING CONTENTS I. Software Testing Background II. Software Error Case Studies 1. Disney Lion King 2. Intel Pentium Floating Point Division Bug 3. NASA Mars Polar Lander 4. Patriot Missile Defense System 5. Y2K Bug III. What is Bug? 1. Terms for Software Failure 2. Software Bug: A Formal Definition 3. Why do Bugs occur? and cost of bug. 4. What exactly does a Software Tester do? 5. What makes a good Software Tester? IV. Software Development Process 1. Product Components 2. What Effort Goes into a Software Product? 3. What parts make up a Software Product? 4. Software Project Staff V. Software Development Lifecycle Models 1. Big Bang Model 2. Code and Fix Model 3. Waterfall Model 4. Spiral Model VI. The Realities of Software Testing VII. Software Testing Terms and Definition 1. Precision and Accuracy 2. Verification and Validation 3. Quality Assurance and Quality Control Anuradha Bhatia Software Testing I. Software Testing Background 1. Software is a set of instructions to perform some task. 2. Software is used in many applications of the real world. 3. Some of the examples are Application software, such as word processors, firmware in an embedded system, middleware, which controls and co-ordinates distributed systems, system software such as operating systems, video games, and websites. 4. All of these applications need to run without any error and provide a quality service to the user of the application. 5. The software has to be tested for its accurate and correct working. Software Testing: Testing can be defined in simple words as “Performing Verification and Validation of the Software Product” for its correctness and accuracy of working. -
Agile Playbook V2.1—What’S New?
AGILE P L AY B O OK TABLE OF CONTENTS INTRODUCTION ..........................................................................................................4 Who should use this playbook? ................................................................................6 How should you use this playbook? .........................................................................6 Agile Playbook v2.1—What’s new? ...........................................................................6 How and where can you contribute to this playbook?.............................................7 MEET YOUR GUIDES ...................................................................................................8 AN AGILE DELIVERY MODEL ....................................................................................10 GETTING STARTED.....................................................................................................12 THE PLAYS ...................................................................................................................14 Delivery ......................................................................................................................15 Play: Start with Scrum ...........................................................................................15 Play: Seeing success but need more fexibility? Move on to Scrumban ............17 Play: If you are ready to kick of the training wheels, try Kanban .......................18 Value ......................................................................................................................19 -
Magma: a Ground-Truth Fuzzing Benchmark
Magma: A Ground-Truth Fuzzing Benchmark Ahmad Hazimeh Mathias Payer EPFL EPFL ABSTRACT fuzzer is evaluated against a set of target programs. These target pro- High scalability and low running costs have made fuzz testing grams can be sourced from a benchmark suite—such as the Cyber the de-facto standard for discovering software bugs. Fuzzing tech- Grand Challenge [9], LAVA-M[12], the Juliet Test Suite [30], and niques are constantly being improved in a race to build the ultimate Google’s Fuzzer Test Suite [17], oss-fuzz [2], and FuzzBench [16]— bug-finding tool. However, while fuzzing excels at finding bugs, or from a set of real-world programs [34]. Performance metrics— comparing fuzzer performance is challenging due to the lack of including coverage profiles, crash counts, and bug counts—are then metrics and benchmarks. Crash count, the most common perfor- collected during the evaluation. Unfortunately, while such metrics mance metric, is inaccurate due to imperfections in de-duplication can provide insight into a fuzzer’s performance, they are often methods and heuristics. Moreover, the lack of a unified set of targets insufficient to compare different fuzzers. Moreover, the lackofa results in ad hoc evaluations that inhibit fair comparison. unified set of target programs makes for unfounded comparisons. We tackle these problems by developing Magma, a ground-truth Most fuzzer evaluations consider crash count a reasonable metric fuzzer evaluation framework enabling uniform evaluations and for assessing fuzzer performance. However, crash count is often comparison. By introducing real bugs into real software, Magma inflated [25], even after attempts at de-duplication (e.g., via coverage allows for a realistic evaluation of fuzzers against a broad set of profiles or stack hashes), highlighting the need for more accurate targets. -
LEVERAGING USER STORIES in AGILE TRANSFORMATION a Value-Driven Approach to Documenting Requirements for Agile Teams
LEVERAGING USER STORIES IN AGILE TRANSFORMATION A Value-Driven Approach to Documenting Requirements for Agile Teams Meagan Foster Data & Analytics Intern, IQVIA, Inc. Summer 2020 INTERNSHIP PROJECTS + Connected Devices Project . Requirements development and management for module titles and user interface access . Document an end-to-end diagram for Connected Devices + Clinical Data Repository Tabular Project . Requirements development and management to enable CDR support for password protected SAS and excel-based files + Process Improvement Project . Best practices in creating user stories . “1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” Agile Manifesto PRESENTATION OVERVIEW + Agile Philosophy on Customer Value + Documenting Customer Value with User Stories + Reinforcing Customer Value with Quality Attributes + Navigating Customer Value with the Inspect-Adapt Approach PRESENTATION OVERVIEW + Agile Philosophy on Customer Value + Documenting Customer Value with User Stories + Reinforcing Customer Value with Quality Attributes + Navigating Customer Value with the Inspect-Adapt Approach AGILE TRANSFORMATION • Capterra states that 71% of companies are implementing Agile. • VersionOne reveals that Agile adoption has helped out 98% of companies. • Harvard Business Review declares that 60% of companies experience revenue growth and profits increase after using an Agile approach. • Standish Group Chaos Study reports that Agile success rate is 42%, as compared to Waterfall success rate of 26%. This means Agile is 1.5x more successful than Waterfall model. AGILE IS WAY OF THINKING. • Not everything needs to be figured out Fixed right away. Quality • Get feedback early and often. Estimate • Anticipate and quickly adapt to change. • Focus on bringing value to customers. THE PRODUCT BACKLOG (SCRUM) Implementable items to build features Features planned for delivery Vision, strategy, and ideas for new features and tools FIGURE 1. -
User Stories.Book
User Stories Applied for Agile Software Development Mike Cohn Boston • San Francisco • New York • Toronto • Montreal London • Munich • Paris • Madrid Capetown • Sydney • Tokyo • Singapore • Mexico City Chapter 2 Writing Stories In this chapter we turn our attention to writing the stories. To create good sto- ries we focus on six attributes. A good story is: • Independent • Negotiable • Valuable to users or customers •Estimatable •Small •Testable Bill Wake, author of Extreme Programming Explored and Refactoring Workbook, has suggested the acronym INVEST for these six attributes (Wake 2003a). Independent As much as possible, care should be taken to avoid introducing dependencies between stories. Dependencies between stories lead to prioritization and plan- ning problems. For example, suppose the customer has selected as high priority a story that is dependent on a story that is low priority. Dependencies between stories can also make estimation much harder than it needs to be. For example, suppose we are working on the BigMoneyJobs website and need to write stories for how companies can pay for the job openings they post to our site. We could write these stories: 1. A company can pay for a job posting with a Visa card. 2. A company can pay for a job posting with a MasterCard. 17 18 WRITING STORIES 3. A company can pay for a job posting with an American Express card. Suppose the developers estimate that it will take three days to support the first credit card type (regardless of which it is) and then one day each for the second and third. -
User-Stories-Applied-Mike-Cohn.Pdf
ptg User Stories Applied ptg From the Library of www.wowebook.com The Addison-Wesley Signature Series The Addison-Wesley Signature Series provides readers with practical and authoritative information on the latest trends in modern technology for computer professionals. The series is based on one simple premise: great books come from great authors. Books in the series are personally chosen by expert advi- sors, world-class authors in their own right. These experts are proud to put their signatures on the cov- ers, and their signatures ensure that these thought leaders have worked closely with authors to define topic coverage, book scope, critical content, and overall uniqueness. The expert signatures also symbol- ize a promise to our readers: you are reading a future classic. The Addison-Wesley Signature Series Signers: Kent Beck and Martin Fowler Kent Beck has pioneered people-oriented technologies like JUnit, Extreme Programming, and patterns for software development. Kent is interested in helping teams do well by doing good — finding a style of software development that simultaneously satisfies economic, aesthetic, emotional, and practical con- straints. His books focus on touching the lives of the creators and users of software. Martin Fowler has been a pioneer of object technology in enterprise applications. His central concern is how to design software well. He focuses on getting to the heart of how to build enterprise software that will last well into the future. He is interested in looking behind the specifics of technologies to the patterns, ptg practices, and principles that last for many years; these books should be usable a decade from now. -
A Study of Static Bug Detectors
How Many of All Bugs Do We Find? A Study of Static Bug Detectors Andrew Habib Michael Pradel [email protected] [email protected] Department of Computer Science Department of Computer Science TU Darmstadt TU Darmstadt Germany Germany ABSTRACT International Conference on Automated Software Engineering (ASE ’18), Sep- Static bug detectors are becoming increasingly popular and are tember 3–7, 2018, Montpellier, France. ACM, New York, NY, USA, 12 pages. widely used by professional software developers. While most work https://doi.org/10.1145/3238147.3238213 on bug detectors focuses on whether they find bugs at all, and on how many false positives they report in addition to legitimate 1 INTRODUCTION warnings, the inverse question is often neglected: How many of all Finding software bugs is an important but difficult task. For average real-world bugs do static bug detectors find? This paper addresses industry code, the number of bugs per 1,000 lines of code has been this question by studying the results of applying three widely used estimated to range between 0.5 and 25 [21]. Even after years of static bug detectors to an extended version of the Defects4J dataset deployment, software still contains unnoticed bugs. For example, that consists of 15 Java projects with 594 known bugs. To decide studies of the Linux kernel show that the average bug remains in which of these bugs the tools detect, we use a novel methodology the kernel for a surprisingly long period of 1.5 to 1.8 years [8, 24]. that combines an automatic analysis of warnings and bugs with a Unfortunately, a single bug can cause serious harm, even if it has manual validation of each candidate of a detected bug. -
Bug Detection, Debugging, and Isolation Middlebox for Software-Defined Network Controllers
BuDDI: Bug Detection, Debugging, and Isolation Middlebox for Software-Defined Network Controllers Rohit Abhishek1, Shuai Zhao1, Sejun Song1, Baek-Young Choi1, Henry Zhu2, Deep Medhi1 1University of Missouri-Kansas City, 2Cisco Systems frabhishek, shuai.zhao, songsej, choiby, dmedhi)@umkc.edu, [email protected] Abstract—Despite tremendous software quality assurance ef- forts made by network vendors, chastising software bugs is a difficult problem especially, for the network systems in operation. Recent trends towards softwarization and opensourcing of net- work functions, protocols, controls, and applications tend to cause more software bug problems and pose many critical challenges to handle them. Although many traditional redundancy recovery mechanisms are adopted to the softwarized systems, software bugs cannot be resolved with them due to unexpected failure behavior. Furthermore, they are often bounded by common mode failure and common dependencies (CMFD). In this paper, we propose an online software bug detection, debugging, and iso- lation (BuDDI) middlebox architecture for software-defined net- work controllers. The BuDDI architecture consists of a shadow- controller based online debugging facility and a CMFD mitigation module in support of a seamless heterogeneous controller failover. Our proof-of-concept implementation of BuDDI is on the top of OpenVirtex by using Ryu and Pox controllers and verifies that the heterogeneous controller switchover does not cause any Fig. 1. BuDDI N + 2 Reliability additional performance overhead. I. INTRODUCTION mechanisms alone as software bugs can cause unexpected root Software faults in the operating network systems can cause cause failures, baffle failure detections, and hinder recovery not only critical system failures [5] but also various unexpected mechanisms. -
Use Cases, User Stories and Bizdevops
Use Cases, User Stories and BizDevOps Peter Forbrig University of Rostock, Chair in Software Engineering, Albert-Einstein-Str. 22, 18055 Rostock [email protected] Abstract. DevOps is currently discussed a lot in computer science communi- ties. BizDev (business development) is only mentioned once in a computer sci- ence paper in connection with Continuous Software Engineering. Otherwise it is used in the domain of business administration only. Additionally, there seems to be a different interpretation of the term in the two communities. The paper discusses the different interpretations found in the literature. Addi- tionally, the idea of BizDevOps is discussed in conjunction with further ideas of taking new requirements for software features into account. These requirements can be described by models on different level of granularity. Starting points are use cases, use-case slices, user stories, and scenarios. They have to be commu- nicated between stakeholders. It is argued in this paper that storytelling can be a solution for that. It is used in as well in software development as in manage- ment. Keywords: BizDev, DevOps, BizDevOps, Continuous Requirements Engineer- ing, Continuous Software Engineering, Agile Software Development, Storytell- ing. 1 Introduction Developing Businesses if often related with the development of software because nowadays business processes have to be supported by IT. Continuous requirements engineering has to be performed to provide continuously the optimal support. Contin- uous business development seems to be a good description for the combined devel- opment of software and business. This term is not used so very often. Nevertheless, it exists like in [17]. However, more often the abbreviation BizDev (business development) is used. -
User Stories – the Art of Writing Agile Requirements
User Stories – The Art of Writing Agile Requirements Speakers: Susana Esparza & Raj Indugula Company: LitheSpeed Website: lithespeed.com Welcome to the PMI Houston Conference & Expo and Annual Job Fair 2014 • Please set your cell phone to silent mode • There will be time at the end of this presentation for you to take a few moments to complete the session survey. We value your feedback which allows us to improve this annual event. 1 Agenda for Today’s Workshop • Introduction • Overview of Agile/Scrum • From Vision to Acceptance Criteria ¡ Modeling Users & Customers ¡ Epics, Features & User Stories ¡ Elaborating from Vision to Story ¡ Acceptance Criteria & Testable Examples • Q & A 2 An Introductory Exercise 1. Find a partner. 2. Start telling them about yourself. 3. When they hear something you both have in common, they will say “Me Too!” and find a new partner. 3 Problem Context: Communication Business Development Wants Builds QA Tests 4 Striking a Balance Business Development 5 Overview Agile & Scrum The Agile Landscape “Agile” describes a number of related methods. Scrum is the most popular. Scrum • Scrum Scrum / XP Jeff Sutherland & Ken Schwaber • Extreme Programming (XP) Kent Beck, Ward Cunningham, Ron Jeffries • Kanban David Anderson • Scaled Agile Framework (SAFe) Source: 2010 State of Agile Dean Leffingwell Development Survey, VersionOne 7 Dealing with Uncertainty You don’t need agile if you know what to build, who to build it for, and how to build it Initial Plan Empirical methods Use agile when monitor progress & you have uncertainty… -
A Study of the Characteristics of Behaviour Driven Development
A Study of the Characteristics of Behaviour Driven Development Carlos Solís Xiaofeng Wang Lero, the Irish Software Engineering Research Centre Lero, the Irish Software Engineering Research Centre University of Limerick University of Limerick Limerick, Ireland Limerick, Ireland [email protected] [email protected] Abstract —Behaviour Driven Development (BDD) has gained of the behaviour of the targeting system, in a way that they can increasing attention as an agile development approach in recent be automated. The main goal of BDD is to get executable years. However, characteristics that constituite the BDD specifications of a system [3, 20]. BDD relies on ATDD, but in approach are not clearly defined. In this paper, we present a set BDD tests are clearly written and easily understandable, of main BDD charactersitics identified through an analysis of because BDD provides a specific ubiquitous language that relevant literature and current BDD toolkits. Our study can helps stakeholders to specify their tests. There are also various provide a basis for understanding BDD, as well as for extending toolkits supporting BDD, such as JBehave [4], Cucumber [5] the exisiting BDD toolkits or developing new ones. and RSpec [6]. Keywords-Behaviour Driven Development, Test Driven Currently, the BDD approach is still under development. Development, Ubiquitous Language, Automated Acceptance The understanding of BDD is far from clear and unanimous. Testing There is no one well-accepted definition of BDD. The descriptions of the characteristics of BDD are vague and I. INTRODUCTION scattered. The supporting tools are mainly focused on the Behavior Driven Development (BDD) is an increasingly implementation phase of the development process, which is a prevailing agile development approach in recent years, and has mismatch to BDD’s broader coverage of the software gained attentions of both research and practice. -
Use Cases Vs User Stories in Agile Development by Courtney in Agile on January 18, 2012
Use cases vs user stories in Agile development By Courtney in Agile on January 18, 2012 User stories aren’t use cases. By themselves, user stories don’t provide the details the team needs to do their work. The Scrum process enables this detail to emerge organically (largely), removing the need to write use cases. Are user stories the same as use cases? When running our Writing Great Agile User Stories workshop, I’m frequently asked “So – are user stories the same as use cases?”. Often it’s a business analyst who asks the question; they’re accustomed to working with use cases, and are wondering where use cases fit in a Scrum project, and if they’re replaced by a user story. Looking around the web, there’s consensus that use cases and user stories are not interchangeable: Alistair Cockburn: A user story is to a use case as a gazelle is to a gazebo ExtremeProgramming.org: User stories serve the same purpose as use cases but are not the same. Mike Cohn: User stories aren’t use cases. My standard answer is that user stories are centred on the result and the benefit of the thing you’re describing, whereas use cases are more granular, and describe how your system will act. And then I say “Just bear me – it will all be clear in soon”. But I thought it was time to dig further down into this. Use cases and user stories Let’s start with some definitions. A user story is a short description of something that your customer will do when they come to your website or use your application/software, focused on the value or result they get from doing this thing.