Cs498dm Software Testing Darko Marinov January 24, 2008.

Slides:



Advertisements
Similar presentations
Introduction to Software Testing Chapter 1
Advertisements

Introduction to Software Testing Chapter 3.3 Logic Coverage for Source Code Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 3.3 Logic Coverage from Source Code Paul Ammann & Jeff Offutt.
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov September 18, 2008.
Introduction to Software Testing Chapter 1 Paul Ammann & Jeff Offutt SUMMARY OF PARTS 1 AND 2 FROM LAST WEEK.
COVERAGE CRITERIA FOR TESTING 1. ill-defined terms in Testing  complete testing  exhaustive testing  full coverage Are poorly defined terms because.
Introduction to Software Testing Chapter 9.5 Input Space Grammars Paul Ammann & Jeff Offutt
CSE 331 SOFTWARE DESIGN & IMPLEMENTATION TESTING II Autumn 2011.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
OOP #10: Correctness Fritz Henglein. Wrap-up: Types A type is a collection of objects with common behavior (operations and properties). (Abstract) types.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
1 Testing. 2 About Testing  The reason the program is in testing is that it probably doesn’t work!  We test to find bugs before our users and hope that.
Copyright by Scott GrissomCh 1 Software Development Slide 1 Software Development The process of developing large software projects Different Approaches.
Introduction to Software Testing Chapter 9.1 Syntax-based Testing Paul Ammann & Jeff Offutt
Testing, One More Time. Testing Phases Basically there are two main phases Basically there are two main phases –By developers –By independent testing.
Paul Ammann & Jeff Offutt
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Introduction to Software Testing
Terms: Test (Case) vs. Test Suite
Introduction to Software Testing Chapter 5.2 Program-based Grammars Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 5.5 Input Space Grammars Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Software Testing.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
Cs498dm Software Testing Darko Marinov January 15, 2008.
Software Testing and Maintenance 1 Today’s Agenda  Syllabus.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
Cs498dm Software Testing Darko Marinov January 22, 2008.
SWE 637: Test Criteria and Definitions Tao Xie Prepared based on Slides by ©Paul Ammann and Jeff Offutt Revised by Tao Xie.
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 28, 2008.
COMP 121 Week 1: Testing and Debugging. Testing Program testing can be used to show the presence of bugs, but never to show their absence! ~ Edsger Dijkstra.
637 – Introduction (Ch 1) Introduction to Software Testing Chapter 1 Jeff Offutt Information & Software Engineering SWE 437 Software Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing Paul Ammann & Jeff Offutt
Cs498dm Software Testing Darko Marinov January 17, 2012.
1 Introduction to Software Testing. Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Chapter 1 2.
Introduction to Software Testing Paul Ammann & Jeff Offutt Updated 24-August 2010.
Introduction to Software Testing. OUTLINE Introduction to Software Testing (Ch 1) 2 1.Spectacular Software Failures 2.Why Test? 3.What Do We Do When We.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
MANUAL TESTING KS SESSION PRESENTED BY 26/11/015 VISHAL KUMAR.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11, Testing.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Introduction to Software Testing Chapter 9.2 Program-based Grammars Paul Ammann & Jeff Offutt
Agenda for today: The Unified Software Development Process: Test (Note) Test The purpose of testing Artifacts Test in the sw Life Cycle Workers Test procedure.
Introduction to Software Testing (2nd edition) Chapter 4 Putting Testing First Paul Ammann & Jeff Offutt August.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Cs498dm Software Testing Darko Marinov January 27, 2009.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010/2013.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
USING WHITE BOX APPROACH TO TEST DESIGN ARTHY WILSON.
Introduction to Software Testing Model-Driven Test Design and Coverage testing Paul Ammann & Jeff Offutt Update.
Software engineering - 2 Section 8. QUIZ Show how it is possible to determine the height of a tall building with the aid of a barometer.
Cs498dm Software Testing Darko Marinov January 24, 2012.
WARNING These slides are not optimized for printing or exam preparation. These are for lecture delivery only. These slides are made for PowerPoint 2010.
Testing: Fundamentals of Making a Good Test Presented by Emerson Murphy-Hill Based on Slides by ©Paul Ammann and Jeff Offutt
Cs498dm Software Testing Darko Marinov January 26, 2012.
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Cs498st Software Testing Tao Xie.
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
Introduction to Software Testing Chapter 2 Model-Driven Test Design
Paul Ammann & Jeff Offutt
Test Automation CS 4501 / 6501 Software Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
Krug Chapter 2 How We Really Use the Web and Web Site Design
Paul Ammann & Jeff Offutt
Darko Marinov February 5, 2009
Presentation transcript:

cs498dm Software Testing Darko Marinov January 24, 2008

Administrative Info FAQ: Structure of problem sets? (5*15%) –Mix (roughly 50:50) of MP (Java) and non-MP –You can take a look at previous examples How will project look like? (25%) –Describe your testing of a refactoring engine –Mostly manual, some automated

Textbook “Introduction to Software Testing” by Paul Ammann and Jeff Offutt Arrived in the authors’ bookstore Should be here soon –I called the bookstore, and it’s not here yet –“Bug” in Google: search for “u of i bookstore”

Previous Lectures Introduction on “Bugs” –Why look for bugs? –What are bugs? –Where they come from? –How to detect them? Refactoring –What it is? –Why you need it? –How to perform it?

Today’s Lecture: Example Interactive Testing Session Test some small program or a refactoring –EncapsulateField: Replace field accesses with setters and getters –TriTyp: Given three integers for the lengths of the sides of a triangle, find the type of triangle Several reasons to do this together –We will learn some testing terminology –It should be fun to look for some bugs –We can learn from mistakes as we go

Testing Levels Based on Software Activity Unit testing (Module testing) Integration testing System testing (Acceptance testing) Regression testing Names are not standardized –I don’t insist on names; we will follow the book

Test Cases Test case values (inputs) Expected results (if known) Prefix values Postfix values –Verification values –Exit commands Test set/suite: a set of test cases

Some Other Terminology Black-box testing White-box testing (or glass-box, clear-box) Top-down testing Bottom-up testing Static testing Dynamic testing

Coverage Criteria Did we have any test plan or purpose? Did we specify any test requirements? How good are our tests? Did we generate enough tests? Criterion: rule that imposes test requirements Coverage: satisfaction of test requirements

Next Lecture Tuesday, January 29 We will look deeper into coverage criteria If you don’t know JUnit, read about it – –See “JUnit Cookbook” or “Test Infected - Programmers Love Writing Tests” Assignment: try some refactorings –Think which you’d like to test –Discuss ideas with me