Cs498dm Software Testing Darko Marinov January 26, 2012.

Slides:



Advertisements
Similar presentations
What is Test Director? Test Director is a test management tool
Advertisements

Introduction to Software Testing Chapter 1
Introduction to Software Testing Chapter 3.3 Logic Coverage for Source Code Paul Ammann & Jeff Offutt
Testing and Quality Assurance
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.
Ossi Taipale, Lappeenranta University of Technology
Introduction to Software Testing Chapter 1 Paul Ammann & Jeff Offutt SUMMARY OF PARTS 1 AND 2 FROM LAST WEEK.
CSc 2310 Principles of Programming (Java)
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.
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.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Software Quality Assurance and Testing prof. A. C. (Alex) Telea Course description.
Software Testing and validation SQA - SWE 434 Prof. Mohamed Batouche
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
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.
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.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
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
Software Construction Lecture 18 Software Testing.
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.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Cs498dm Software Testing Darko Marinov January 24, 2008.
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.
Teaching Functional Verification: Lab Mechanics Design Automation Conference Sunday, June 9, 2002.
Cs498dm Software Testing Darko Marinov January 24, 2012.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Testing: Fundamentals of Making a Good Test Presented by Emerson Murphy-Hill Based on Slides by ©Paul Ammann and Jeff Offutt
1 March 12, Testing William Cohen NCSU CSC 591W March 12, 2008.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Agenda Syllabus What is software testing ? Why it’s needed ?
CSc 1302 Principles of Computer Science II
Cs498st Software Testing Tao Xie.
E 96 Introduction to Engineering Design Peter Reiher UCLA
Teaching a Workshop Kent Schroeder SIL AFA.
Mid-term Exam Account for 20% of the grade 100 points in total
CS527: (Advanced) Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 25, 2011.
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
AUTOMATED SESSION PLANNING. In the present world, everything has become automated. By, a click everything is being processed. But the preparation of the.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Welcome to CS 1010! Algorithmic Problem Solving.
Introduction to Software Testing Chapter 2 Model-Driven Test Design
Paul Ammann & Jeff Offutt
Introduction to Software Testing Chapter 5.2 Program-based Grammars
Test Automation CS 4501 / 6501 Software Testing
Introduction to Software Testing Chapter 5.1 Syntax-based Testing
ELEC-E3260 Biomolecules L Course opening lecture
CSc 2310 Principles of Programming (Java)
CS527: Advanced Topics in Software Engineering (Software Testing and Analysis) Darko Marinov August 26, 2008.
Paul Ammann & Jeff Offutt
Introduction to X420 and BPO: Overview
UNIT TESTING TOOLS Workshop on Integrating Software
Darko Marinov February 5, 2009
UNIT-4 BLACKBOX AND WHITEBOX TESTING
About the Course Software Testing & Verification
Presentation transcript:

cs498dm Software Testing Darko Marinov January 26, 2012

Administrative Info Mailing list confirmed last time Any questions about the course overview? –Schedule (order set but dates are tentative) –Syllabus –Project: testing Java PathFinder Textbook recommended –“Introduction to Software Testing” by Paul Ammann and Jeff Offutt

Previous Lectures Introduction to “Bugs” –Why look for bugs? What are bugs? –Where they come from? How to detect them? Example ambiguous informal statement: “everybody likes a winner”; meaning? 1. some w: Winner | some p: Person | p.likes(w) 2. some w: Winner | all p: Person | p.likes(w) 3. all p: Person | some w: Winner | p.likes(w) 4. all p: Person | all w: Winner | p.likes(w)

Next Week I'll be out of town (but then here for weeks) Two lectures to be used for lab on pset1 –Problem set 1 will be released this week –Due in two weeks but make steady progress Where to do the lab exercises? –Classroom (1103), bring laptops –Basement lab (0220), use desktops

Problem Set 1 Will go out this week Four problems on Chapter 1 and Junit Two problems on JPF Total of 120 points, but you need only 100 for maximum score –Grading will be strict! –Prioritize your work

Today’s Lecture: Example Interactive Testing Session Test some small program –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 –I prefer working with hands on examples

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

Automated Testing We want to test (early and often) –Automated testing –Regression testing Can use JUnit (or a similar tool) Alternatives have some cons –Different language for scripting –A lot of printing if no checking of result –Using “main” does not compose well