Black box (Finite State Machine) testing Design for testability Coverage measures Random testing Constraint-based testing Debugging and test case minimization.

Slides:



Advertisements
Similar presentations
11 Indirect Questions First Day on the Job Focus on Grammar 4
Advertisements

MATLAB PROJECT DO YOU WANT TO PLAY A GAME?. DESIGN CRITERIA For this project, you are required to implement any card game using MATLAB  All selections.
00: Administrivia T/Th pm Math 226 Vassil Roussev.
BIO 130: Anatomy and Physiology I Spring 2013 Dr. Rebecca Pearson Please sign in!
{ Dominion - Test Plan Version 1 – 22 nd Apr Aravind Palanisami.
1 “Embedded” Dominion NO GUI, NO NETWORK, NO NOTHING NO REAL USER INTERFACE You may want to build a limited UI for testing A simple text interface is in.
CMPT 225 Data Structures and Programming. Course information Lecturer: Jan Manuch (Jano), TASC TAs: Osama Saleh,
Operating Systems CS451 Brian Bershad
Intro to CIT 594
Nov 20, Fall 2006IAT 4101 Play Testing Software Testing Play Testing Team Structures.
First-Year Engineering Program Engineering H191 Engineering Fundamentals and Laboratory I Lecture 41 - Week 11 Day 04 The Final Day of Class.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
COMPUTER SCIENCE 10: INTRODUCTION TO COMPUTER SCIENCE Dr. Natalie Linnell with credit to Cay Horstmann and Marty Stepp.
Introduction CSE 1310 – Introduction to Computers and Programming
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
Tablet PC Capstone CSE 481b Richard Anderson Craig Prince.
1 Welcome to CS 362 Applied Software Engineering What happens after (and during) design? Testing, debugging, maintaining programs Lessons for software.
Software Testing Course Shmuel Ur
1 “Embedded” Dominion NO GUI, NO NETWORK, NO NOTHING NO REAL USER INTERFACE You may want to build a limited UI for testing A simple text interface is in.
Round One Clue # 1 Round One Clue # 2 Round One Clue # 3.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
ICS 6B Boolean Algebra and Logic Winter 2015
BIO 132: Anatomy and Physiology II Fall 2015 Dr. Rebecca Pearson Please sign in!
Making Decisions uCode: October Review What are the differences between: o BlueJ o Java Computer objects represent some thing or idea in the real.
Latifa AlAbdlkarim King Saud University October,2009.
Black box (Finite State Machine) testing Design for testability Coverage measures Random testing Constraint-based testing Debugging and test case minimization.
An Introduction to Software Engineering
Excellence is a Habit Feb Lecture 14 We are what we repeatedly do. Excellence, then, is not an act, but a habit.” - Aristotle.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Unit Testing LEVEL GAME.  Create pieces array  Call move or interact  Use getters or return type to verify correct behavior  Test ends (don’t go GameEngine.BOARD_SIZE-1)
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Welcome to CS 362 Applied Software Engineering
Intro to CIT 594
March 24, Spring 2004CS44551 Play Testing Software Testing Play Testing Team Structures.
Finale NotePad EXTRA CREDIT Welcome! In this lesson, you will learn to Download and open a music software publishing program called Finale Notepad.
Software Engineering Saeed Akhtar The University of Lahore.
Project 1 (CGNB 413) Briefing
1 Welcome to CS 562 Applied Software Engineering Dr. Alex Groce (KEC 3067) Testing, debugging, running programs Design for testability Implementation (actual.
HOW I SURVIVED AIST3620 AND LEARNED TO LOVE INTERFACES Fall 2015 Edition.
Fundamentals of Software Engineering. Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone
Schedule Tuesday April 17: First public code checkin – Initial dominion implementation; MUST define all functions, have a “working” (not bug free!) dominion.
Course Information and Introductions Intro to Computer Science CS1510 Dr. Sarah Diesburg University of Northern Iowa 1.
Binary Numbers Extra Credit Day. Extra Credit Many have asked if there is some way to make up for the missing work in Gradebook. This is one opportunity.
How to Prepare for the BIG Test PART I Ms. McChesney & Ms. Hutchinson Seneca Ridge Middle School 8 th Grade Semester Exam Preparation December Get.
Copyright ©: Nahrstedt, Angrave, Abdelzaher, Caccamo1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois.
It’s Capstone Time! March 6, Important Dates: Project needs to be completed and turned in on Thursday, April 10 th Class Presentation will be scheduled.
Web Syndication Formats Seminar Week 1 Old Dominion University Department of Computer Science CS 791/891 Spring 2008 Michael L. Nelson 1/16/08.
1 Welcome to CS 362 Applied Software Engineering Dr. Alex Groce (KEC 3067) Testing, debugging, running programs Design for testability Implementation (actual.
Cs498dm Software Testing Darko Marinov January 24, 2012.
Math 120: Pre-calculus 2 Instructor: Mike Panitz
Engineering Physics Thesis PHYS455 Calendar Description: Students will be assigned individual design topics of the type a practicing engineering physicist.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Course Overview - Database Systems
ICS 6D Discrete Mathematics for Computer Science Fall 2014
Computer Engineering Department Islamic University of Gaza
11 Indirect Questions First Day on the Job Focus on Grammar 4
ACIS 3504 Accounting Systems and Controls
Tips To Enhance Software Testing Service Efficiency.
Teacher name | course number
Informatics 122 Software Design II
Overview Basic Information Lecture Labs Lab Reports Homework Exams
CSCD 330 Network Programming Spring
CSE 303 Concepts and Tools for Software Development
Evaluating Print and Electronic Sources
11 Indirect Questions First Day on the Job Focus on Grammar 4
Intro to CIT 594
Intro to CIT 594
Computer Engineering Department Islamic University of Gaza
Personal Project Written Report
Presentation transcript:

Black box (Finite State Machine) testing Design for testability Coverage measures Random testing Constraint-based testing Debugging and test case minimization Using model checkers for testing Coverage revisited (“small model property”) Topics in Testing We’ll Cover

Testing Project Start with: interface and some definitions You – Implement (w ith intentional bugs) – Provide some (possibly VERY minimal) unit tests – Exchange programs with two other students – Submit a test plan for colleagues’ code – Present & defend test plan (bonus points) – Build a tester for your colleagues’ code Must include some random testing or SPIN testing by final checkin – Test! (and submit bug tickets) – Submit bug fixes, evaluations, mini-reports at milestones – Turn in final test report

Testing Project Your submitted code should contain two “subtle” bugs – Make sure your unit tests do not find the bug – Mail me: test cases and descriptions for the bugs Subject MUST be: CS362W11 BUGS [onidid] – You get to debug programs in lots of classes and in real life – in this class you get to bug a program intentionally, for once in your life I will see which testers find which bugs (over a sample of submitted programs)

Testing Project Grading criteria – Design/implementation project/tester – Effectiveness of the tester – Presentation of test plan (extra credit) – Quality of test/bug reports Can I figure out how you tested the system? Can I figure out what wasn’t tested? – Coverage, plus information on input restrictions Can I figure out how reliable you think the code is? What are key strengths/weaknessess? – How “interesting” and hard-to-find your intentional bugs are

Testing Project Expectations You can program in C You can figure out possibly poorly written specifications (a key software engineering skill) Or know when to ask someone who can! You can (learn to) use makefiles / build system “he who learns to play the harp learns to play by playing it” - Aristotle, Metaphysics, Book IX

Testing Project Oh, right. What are we implementing and testing? A card game Well defined notion of correctness “Specifications” not intended for implementation, but intended to be unambiguous Games are a good example of formal specifications: no one wants to have to “make up” the rule or interpret ambiguity in the middle of playing a game

Testing Project What are we implementing and testing? Dominion (+ expansions) Card game published by Rio Grande games Players start with their own draw decks Buy cards to add to decks (using cards) Some cards worth points if in deck Play this cards & you can draw a card and gain two actions (playing a card is an action)

Schedule Jan 23: First code checkin – Initial dominion implementation, expected to perhaps be buggy/incomplete; not frozen Feb 6: Test plan due Feb 22: First test report (brief) due Mar 7: Second test report (brief) due Mar 14: “Late Midterm” Mar 19: FINAL TEST REPORT DUE, PROJECT COMPLETED, FINAL CODE FREEZE, TESTER CODE DUE

Grading & Other Admin Stuff Project: 75% Late midterm: 15% (Possibly-in-class) quizzes/exercises/homework: 10% My office hours: Fri, 11-12:30 KEC 3067 TAs: Amin Alipour, Anirban Roy office hours Fri 10:00- 11:00, KEC Atrium office hours Wed 11:30-1pm, KEC Atrium