Reporting Bugs Why all bugs aren't always fixed What you can do to make it more likely that the bugs you find are fixed What techniques you can use to.

Slides:



Advertisements
Similar presentations
INTRODUCTION 1. Business systems and QA Department business systems 2. All the bug reports and all the bug tracking systems are very similar.
Advertisements

Configuration Management
Test process essentials Riitta Viitamäki,
Page 1 of 5 UWA Service Desk The Service Desk self service portal allows you (staff or student) to not only monitor the progress of any Incident or request.
INTRODUCTION 1. QA Department business systems 2. All the bug reports and all the bug tracking systems are very similar.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
1 Automated Testing & Test Tools Apirada Thadadech.
Systems Analysis and Design 9th Edition
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Observation Tools Overview and User Guide. Does the need to determine the impact a student's ADHD is having in the classroom or quantitatively describe.
Important concepts in software engineering The tools to make it easy to apply common sense!
Swami NatarajanJune 17, 2015 RIT Software Engineering Reliability Engineering.
COMP8130 and 4130Adrian Marshall 8130 and 4130 Test Execution and Reporting Adrian Marshall.
SIM5102 Software Evaluation
Fundamentals of Information Systems, Second Edition
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Project Documentation and its use in Testing JTALKS.
Software Testing Prasad G.
Readiness Index – Is your application ready for Production? Jeff Tatelman SQuAD October 2008.
A Bug Tracking Story Danny R. Faught Tejas Software Consulting ASEE Software Engineering Process Improvement Workshop 2002.
This chapter is extracted from Sommerville’s slides. Text book chapter
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Foundation Degree IT Project Methodologies (for reference)
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Testing Online Training DEFECT TRACKING & CORRECTION
Applied Software Project Management Andrew Stellman & Jennifer Greenehttp:// Applied Software Project Management Chapter 1: Introduction.
LBTO IssueTrak User’s Manual Norm Cushing version 1.3 August 8th, 2007.
Robert Sopko Stephen Miller Amy Gandhi Jazimar Bailey.
Appendix A Project Management: Process, Techniques, and Tools.
Moodle (Course Management Systems). Assignments 1 Assignments are a refreshingly simple method for collecting student work. They are a simple and flexible.
Painless Bug Tracking Michael Tsai 2011/9/30. Reference  html 2.
Tracking The Problem  By Aaron Jackson. What’s a Problem?  A suspicious or unwanted behavior in a program  Not all problems are errors as some perceived.
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Service Transition & Planning Service Validation & Testing
Facts and Fallacies of Software Engineering (Rob Glass) CSE301 University of Sunderland Discussed by Harry R. Erwin, PhD.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Virtis-Opis Beta Testing Todd S. Thompson, PE South Dakota DOT Office of Bridge Design August 3, 2011.
Reusability and Effective Test Automation in Telecommunication System Testing Mikael Mattas Supervisor: Professor Sven-Gustav Häggman Instructor: B.Sc.
Copyright (c) Cem Kaner. 1 Software Testing 1 CSE 3411 SWE 5411 Assignment #1 Replicate and Edit Bugs.
Unit 2 (task 28) In this PowerPoint I will tell you about 7 important IT job roles and if a candidate might want one what he would have to do to get one.
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
STEP 4 Manage Delivery. Role of Project Manager At this stage, you as a project manager should clearly understand why you are doing this project. Also.
Apply Quality Management Techniques Project Quality Processes Certificate IV in Project Management Qualification Code BSB41507 Unit Code BSBPMG404A.
The Software Development Process
Input Design Lecture 11 1 BTEC HNC Systems Support Castle College 2007/8.
1 Theme 2: Thinking Like a Tester, Continued. 2 Thinking Like a Tester Lesson 20: “Testing requires inference, not just comparison of output to expected.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
CS4042 / CS4032 – Directed Study 28/01/2009 Digital Media Design Music and Performance Technology Jim Buckley Directed Study (CS4042.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Objectives Understand Corrective, Perfective and Preventive maintenance Discuss the general concepts of software configuration management.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
6/13/2015 Visit the Sponsor tables to enter their end of day raffles. Turn in your completed Event Evaluation form at the end of the day in the Registration.
Week # 4 Quality Assurance Software Quality Engineering 1.
1 Chapter 1- Introduction How Bugs affect our lives What is a Bug? What software testers do?
Test Plan IEEE Explained by Nimesh Vadgama - QA.
Debugging Intermittent Issues
SEVERITY & PRIORITY RELATIONSHIP
Recall The Team Skills Analyzing the Problem
Strategies For Software Test Documentation
Move from Scripted Manual Testing to Scenario-Based Testing
The Troubleshooting theory
Software Reviews.
Presentation transcript:

Reporting Bugs Why all bugs aren't always fixed What you can do to make it more likely that the bugs you find are fixed What techniques you can use to isolate and reproduce a bug What a bug's life is like from birth to death How to track the bugs you find manually or with a database

Why not all bugs are fixed There's not enough time It's really not a bug It's too risky to fix It's just not worth it. Ineffective bug reporting

It's really not a bug I learned that every bug doesn't have to be a software bug the hard way. In the late 1980's, I was the head of an independent test team that was testing a critical command and control system for the U.S. military. During one particularly difficult test cycle, we discovered an alarming number of bugs. One of my sergeants told me that I should go inform the development manager (who was a Brigadier General, while I was only a Captain) that his software was the worst on the planet. I remember asking the sergeant, "Are you sure all of the tests are okay?" and he replied, "Yes, sir. It's the software that's bad." In officer training school we were taught to listen to the wisdom of our subordinate leaders, so I marched up to the General's office and said, "Sir, your software is not of the quality that we've come to expect." Well, you can almost guess the ending to this story. The General called together his experts, who informed me that most of the failures were caused by a glitch in our test environment. At that point, the General said to me, "Captain, good initiative, but poor judgment," before I was dismissed and sent back to my little windowless office. The moral of the story is this: If you want to maintain credibility with the developers, make sure your tests are all valid before raising issues with the software. Rick Craig

Principles of Reporting a Bug Report bugs as soon as possible Effectively describe them Be nonjudgmental in reporting bugs (don’t be personnel) Follow up on your bug reports

Report Bugs Early

Effective Bug Description Minimal: –Give an exact sequence of steps that shows the problem. If more than one set of inputs or actions causes the bug, cite a couple of examples, especially if they show a pattern Singular –There should be only one bug per report Isolating a bug –Automation tool just happened to stumble upon those keystrokes while running. Reproducible –Following a predefined set of steps will cause the software to achieve the same state and the bug to occur again “Whenever I type a bunch of random characters in the login box, the software starts to do weird stuff.”

Isolating and Reproducing Bugs After discovering a bug, narrow down the specific steps and conditions that cause the problem. 1.Keep notes of everything you do –Use a keystroke and mouse recording program –Use a video camera 2.Look for time-dependent and race condition problems –Bugs that occur only at certain time –How quickly you enter the data –Slower or faster hardware –Network busy 3.State bugs show up only in certain states of the software (order in which things happen)

What Bugs to Fix? Severity indicates how bad the bug is; the likelihood and the degree of impact when the user encounters the bug Priority indicates how much emphasis should be placed on fixing the bug and the urgency of making the fix Organizations are different in scales used for severity & priority

What Bugs to Fix? Severity 1.System crash, data loss, data corruption, security breach 2.Operational error, wrong result, loss of functionality 3.Minor problem, misspelling, UI layout, rare occurrence 4.Suggestion Priority 1.Immediate fix, blocks further testing, very visible 2.Must fix before the product is released 3.Should fix when time permits 4.Would like to fix but the product can be released as is

What Bugs to Fix?- Examples Software that crashes as soon as you start it up Severity 1, Priority 1 A button should be moved a little further down on the page. Severity 4, Priority 4 Data corruption occur only in very rare instances Severity 1, Priority 3 Misspelling causes every user to have problems installing the software Severity 3, Priority 2

What Bugs to Fix? A bug's priority can change over the course of a project A bug that you originally labeled as Priority 2 could be changed to Level 4 as time starts to run out As a tester monitor the bug's status to make sure that you agree with any changes made, persuade them…..

A Bug's Life Cycle

Open state: tester reports bugs Resolved state: programmer fixes the code, & assigns back to the tester Closed state: tester performs a verification test to confirm that the bug is fixed Review state: project manager or Change Control Board decide whether the bug should be fixed Deferred state: considered for fixing at some time in the future

A Bug's Life Cycle Line from the resolved state back to the open state covers the situation where the tester finds that the bug hasn't been fixed Dotted lines: reopen bugs that was thought to be fixed, tested, and closed or deffered.

Bug-Tracking Systems IEEE 829 Standard for Software Test Documentation Test Incident Report “to document any event that occurs during the testing process which requires investigation.”

Test Incident Report Identifier Summary: short statement of facts & reference to test case Incident Description:detailed description of the bug –Date and time –Tester's name –Hardware and software configuration used –Inputs –Procedure steps –Expected results –Actual results –Attempts to reproduce and description of what was tried –Other observations Impact: severity and priority

Bug-Tracking Systems Manual Bug Reporting ExampleExample Automated Bug Tracking –All users of the system must be able to easily access the system at all times –Easy to use and allow data analysis –Incident reports should be linked to the configuration management system Bug tracking BugAware 7

Test Status Report Formal communication channel between the test manager and the rest of the organization of the progress made by the testing team

Test Summary Report To summarize the results of the testing activities and to provide an evaluation based on the results. There should be a test summary report that corresponds to every test plan. Test Summary Report is a test status report on the last day of the project.

Test Summary Report IEEE Std for Software Test Documentation Template for Test Summary Report Contents 1. Test Summary Report Identifier 2. Summary: References to the test plan 3. Variances: changes other than the plan 4. Comprehensive Assessment 5. Summary of Results 5.1Resolved Incidents 5.2Unresolved Incidents 6. Evaluation 7. Summary of Activities 8. Approvals

Quiz What are the three basic states of a software bug's life cycle and the two common additional states? Suppose that you're running tests on the Windows Calculator and find that 1+1=2, 2+2=5, 3+3=6, 4+4=9, 5+5=10, and 6+6=13. Write a bug title and bug description that effectively describes this problem.