lecture15-july17 - Announcements Lecture 15 Assignment 3...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Announcements Lecture 15 • Assignment 3 – Q&A due now – Designs due Monday – 1 per team – put all names on them • Topics for today: – Testing (ch. 2.5 expanded) An Overview of Basic Software Testing Techniques (focused at the “unit” level) unit meaning class/method for now Motivation • Lot’s of crappy software in the world today • People are not perfect – We make errors in analysis, design and code • Goal of testing: given some code, uncover as many errors (aka flaws, defects, problems, anomolies, bugs) as possible • Important and expensive activity: – May spend 30-50% of total project effort on testing – For safety critical systems the cost of testing is several times higher than all the other activities combined A Way of Thinking • Analysis, design and coding are creative activities • Testing is destructive – The primary goal is to “break” the code • Sometimes the same person does both coding and testing, sometimes not – Need “split personality”: when you start testing, you become paranoid and malicious – This is surprisingly difficult: people don’t like to find out that they made mistakes. Testing Objectives Testing: a process of executing software with the intent of finding errors Good testing: a high probability of finding as-yet-undiscovered errors Successful testing: discovers previously unknown errors Basic Definitions Test case: specifies – Inputs + pre-test state of the software – Expected results (outputs + new -state ) Black-box testing: ignores the internal logic of the software, and looks at what happens at the interface (e.g., given this input, was the produced output correct?) White-box testing: uses knowledge of the internal structure of the software – E.g., write tests to “cover” internal paths
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Testing Approaches • We will look at a small sample of approaches for testing (the most common techniques) • Black-box testing IO Equivalence partitioning Method assertion testing • White-box testing Control-flow-based testing Loop testing – Data-flow-based testing Black Box Testing
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/15/2009 for the course EE 322C taught by Professor Nettles during the Summer '08 term at University of Texas at Austin.

Page1 / 5

lecture15-july17 - Announcements Lecture 15 Assignment 3...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online