More On Testing Why, Where, How, When.

Slides:



Advertisements
Similar presentations
Testing and Quality Assurance
Advertisements

CompSci 230 Software Design and Construction Software Quality 2014S2 Black box testing.
Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
INSE - Lecture 11 Testing u Verification testing vs pursuit testing u Philosophy of testing u Stages of testing u Methods of testing u Design of test data.
COMP 116: Introduction to Scientific Programming Lecture 11: Linear Regression.
Lecture 13 – Perceptrons Machine Learning March 16, 2010.
What is a Programming Language? The computer operates using binary numbers. The computer only knows about 1’s and 0’s. Humans can also use 1’s and 0’s,
E-commerce Project Erik Zeitler Erik Zeitler2 Lab 2  Will be anounced and scheduled later  We will deploy Java Server Pages on a Tomcat server.
20-Jun-15 XP Again. Test-Driven Development Advantages of writing tests first: Clarifies what the methods are supposed to do Methods are testable Methods.
Quality Management ISO 9001 For TM. What is Quality Quality is the degree to which product or service possesses a desired combination of attributes C:
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
Community Codes Free and shared resource Ongoing distributed development by both research and operational communities – Maintained under version control.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington Debugging COMP T1.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Computer Graphics Basic Maths for Graphics in C++ CO2409 Computer Graphics Week 4.
What is regression testing? Regression testing is a type of testing that ensures there are no defects/issues in exiting functionality because of new change.
Efficient SAS programming with Large Data Aidan McDermott Computing Group, March 2007.
Week 6 MondayTuesdayWednesdayThursdayFriday Testing III Reading due Group meetings Testing IVSection ZFR due ZFR demos Progress report due Readings out.
Week # 4 Quality Assurance Software Quality Engineering 1.
 Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Using the following.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Advanced Software Engineering Dr. Cheng
Why don’t programmers have to program in machine code?
Computer Graphics Basic Maths for Graphics in C++
CQAA Automation Meetup
Regression Testing with its types
Unit Testing - solid fundamentals
Test Granularities Unit Testing and Automation
Testing Verification and the Joy of Breaking Code
System Testing Antares Rocket Test Launch ( HQ) System Testing.
Chapter 5- Assembling , Linking, and Executing Programs
Testing More In CS430.
Introduction to Unit Testing in JavaScript
Testing All Input is Evil pt 2.
Executable Specification for Soar Theory
Extreme Programming.
Some Important Techniques For Regression Testing That You Must Know.
and Executing Programs
(Test Driven) Software Development
Lesson Objectives To understand how to add 4 and 8 bit binary numbers together To understand what is meant by the term “Overflow” ALL students will add.
Chapter 2 – Software Processes
Learning Styles.
Information Redundancy Fault Tolerant Computing
CSE 303 Concepts and Tools for Software Development
Global Challenge Love Heart Lesson 3.
Test Driven Development
Global Challenge Love Heart Lesson 3.
Testing.
Global Challenge Love Heart Lesson 3.
Global Challenge Love Heart Lesson 3.
Global Challenge Love Heart Lesson 3.
Test Driven Development
Extreme Programming.
For Tutors Introduce yourself.
Global Challenge Love Heart Lesson 3.
Global Challenge Love Heart Lesson 3.
Testing.
Global Challenge Love Heart Lesson 3.
Jamie Cool Program Manager Microsoft
Global Challenge Love Heart Lesson 3.
Presentation transcript:

More On Testing Why, Where, How, When

This Lecture NOT a lecture on testing in general Rather, what you need in Comp 314

Functional Testing Also called System Testing An important part of your spec NOT unit tests Provides a level of assurance of correctness and reliability We WONT check this

Unit Testing Basically, tests API Can be written before the code Especially useful in regression testing

Regression Testing Tests if changes introduce bugs Daily builds are ideal Useful even if the build is currently broken Useful with pair programming, version control, etc.

TDD Test Driven Development Write tests first Useful for clarifying the API Metric for how much is done Doesn’t work well with prototypes “throw one away”

What We Require A functional test plan Extensive unit tests

What We Suggest USE your functional test plan; write the tests first After you prototype, use TDD Run daily builds

How to Write Tests Can’t write all possible test vectors Equivalence classification Edge testing Error “honey pots” Rigor Principle of “Maximum Drek”