Group that looked at Miami syllabus. Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing and Quality Assurance
Compiler Construction by Muhammad Bilal Zafar (AP)
Mapping Studies – Why and How Andy Burn. Resources The idea of employing evidence-based practices in software engineering was proposed in (Kitchenham.
By: Ryan Damek Concentration: 9 th Grade Beginning English.
Important concepts in software engineering The tools to make it easy to apply common sense!
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
COMP 4—Power Tools for the Mind1 PowerTools What’s in the Box? Turing 1: An Introduction to Programming You will learn elementary computer programming.
 2006 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC.
CS211 Data Structures Sami Rollins Fall 2004.
Project Life Cycle Jon Ivins DMU. Introduction n Projects consist of many separate components n Constraints include: time, costs, staff, equipment n Assets.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
C++ Crash Course Class 1 What is programming?. What’s this course about? Goal: Be able to design, write and run simple programs in C++ on a UNIX machine.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
TESTING.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
The First Day of Class - Student Centered to the Extreme Dr. Cathlin Davis.
CSC 230: C and Software Tools Rudra Dutta Computer Science Department Course Introduction.
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Software Engineering Chapter 3 CPSC Pascal Brent M. Dingle Texas A&M University.
Well-behaved objects Main concepts to be covered Testing Debugging Test automation Writing for maintainability Objects First with Java - A Practical.
Project Selection And Needs Identification
MITM743 Advanced Project Management Introduction To The Class.
Spring 2012 CS 214 Programming Languages. Details Moodle! REQUIRED text: Sebesta, Programming Language Concepts, 9ed. Important dates: February 17: Project.
An Undergraduate Course on Software Bug Detection Tools and Techniques Eric Larson Seattle University March 3, 2006.
DrJava A lightweight pedagogic environment for Java Eric Allen, Robert Cartwright, and Brian Stoler Rice University
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Unit Testing CSIS 3701: Advanced Object Oriented Programming.
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
MITM743 Advanced Project Management Dr. Abdul Rahim Ahmad Assoc. Professor College of IT, UNITEN Introduction to the Course.
Teaching Portfolios TA Training Session. What is a Teaching Portfolio?  Three types used in academia  The academic portfolio  The teaching portfolio.
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Objects First With Java A Practical Introduction Using BlueJ Well-behaved objects 2.1.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Chapter 5 How are software packages developed?. What are the main steps in software project development? Writing Specifications - Analysis Phase Developing.
Software Quality Assurance and Testing Fazal Rehman Shamil.
CM220 College Composition II Friday, January 29, Unit 1: Introduction to Effective Academic and Professional Writing Unit 1 Lori Martindale, Instructor.
PROGRAMMING TESTING B MODULE 2: SOFTWARE SYSTEMS 22 NOVEMBER 2013.
The Hashemite University Computer Engineering Department
Error Handling Tonga Institute of Higher Education.
Dynamic Testing.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
CPSC 315 Programming Studio Spring 2009 Frank Shipman.
Well-behaved objects Main concepts to be covered Testing Debugging Test automation Writing for maintainability Objects First with Java - A Practical.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
 2006 Pearson Education, Inc. All rights reserved Control Statements: Part 2.
CS 161 Introduction to Computer Science I Winter, 2014: 112 Spring, 2014: 131 Summer, 2014: 132.
421 Review Questions 1.Does software engineering add documentation that slows down the project? 2.Is there one software process that is better than the.
Course Overview CS 4501 / 6501 Software Testing
A451 Theory – 7 Programming 7A, B - Algorithms.
COS 260 DAY 17 Tony Gauvin.
CS 240 – Lecture 11 Pseudocode.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Reflective Assessment in Computing Instruction
Testing in CS1 Lennie Cooper Kevin Lawrence LeAndrew Davis
LO3 - Create the Game 2016 Specification - L/615/1355
COS 260 DAY 16 Tony Gauvin.
Software Verification, Validation, and Acceptance Testing
Review of Previous Lesson
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Presentation transcript:

Group that looked at Miami syllabus

Current Syllabus (with regards to testing) 2: To be able to identify and eliminate errors in programs – 2.1: Describe the difference between a syntax error, run-time error, and logic error – 2.2: Read errors reported by the compiler and use those error messages to correct the syntax – 2.3: Use techniques and tools for debugging programs – 2.4: Design and document a complete set of test cases and use this to identify logic errors Testing is already in course (albeit in a vague manner). We focused on the level at which to put in into this course.

Proposed outcome 2.4: Design a set of test cases based on boundary values and equivalence classes and use these to identify logic errors.

Idea #1: Test identification Goal: Teach basic testing concepts such as boundary values and equivalence classes Assignment: Give students a method and have them identify test cases Don’t have to worry about confusing students with notation

Example: A good party A good party has to have at least 10 people and more than 5 programmers – Okay maybe my criteria for a good party is different than yours Method goodParty(int people, int programmers) What are some tests we should run

Idea #2: Test identification Give students.exe and ask them to find errors. Reduces perverse incentives for students in testing their own code Could be extended to code-based testing

Idea #3: Writing testers Have students write testers as a main method Give structure to students – Something similar to Junit but more forgiving Example: Put each test in a separate method that begins with test Stagger due dates for project/tester Will make them appreciate Junit later

Later Progression CS 2 – Introduce Junit – Introduce statement coverage and tools (EMMA) CS 3 (Data Structures) – Similar tools for C++ Integration Testing/Test Drive Development covered in Software Engineering course – Oftentimes taken concurrently with CS 3

Evaluation Plan for CS1 Pre/Post Survey/Assessment – Importance of testing – Simple specification, identify test cases Need rubric Measure grade of final project and compare control vs. experimental – Don’t have students turn test cases in – Survey students if they used testing techniques