Testing  How do you know your design worked?  What does it take for it to be said to work?

Slides:



Advertisements
Similar presentations
Computing Science Software Design and Development SOFTWARE DESIGN AND DEVELOPMENT USING PYTHON.
Advertisements

Chapter 2: Modularization
Reference :Understanding Computers
Programming Logic and Design, Third Edition Comprehensive
1 SAS Formats and SAS Macro Language HRP223 – 2011 November 9 th, 2011 Copyright © Leland Stanford Junior University. All rights reserved. Warning:
Computer Science 1620 Variables and Memory. Review Examples: write a program that calculates and displays the average of the numbers 45, 69, and 106.
Well-behaved objects Debugging. 2 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Prevention vs Detection.
Testing and Debugging. Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling (Reminder) Zuul Assignment Two.
FUNCTIONS Lesson Two.
Advertising agencies are outside companies that provide for the marketing and advertising needs of other businesses and organisations. They offer a full.
Validation and Verification
LO: We’re learning to understand how computers solve problems!
Unit 16 Procedural Programming
1 Shawlands Academy Higher Computing Software Development Unit.
Simple Program Design Third Edition A Step-by-Step Approach
Chapter 8 Introduction to Inference Target Goal: I can calculate the confidence interval for a population Estimating with Confidence 8.1a h.w: pg 481:
Developing a Solution How to create the computer-based solution for a real-world problem. 1.
Python Programming Introduction to programming using python.
© The McGraw-Hill Companies, 2006 Chapter 4 Implementing methods.
 Once the system has been installed it will be monitored to check whether it is working correctly. Sometimes problems with a system will not be found.
Describe the Program Development Cycle. Program Development Cycle The program development cycle is a series of steps programmers use to build computer.
Programming for Beginners Martin Nelson Elizabeth FitzGerald Lecture 5: Software Design & Testing; Revision Session.
1. Understanding the Problem 2. Brainstorming 3. Drawing an I/O (Input/Output) diagram 4. 5-step Process (or: Small iPods Make Copying Tough) Developing.
Welcome to the CRE Programming Club! Robert Eckstein and Robert Heard.
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Well-behaved objects Main concepts to be covered Testing Debugging Test automation Writing for maintainability Objects First with Java - A Practical.
Oh No! Ornery old Mr. Hill is making me do a science fair project!
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
CPS120: Introduction to Computer Science Functions.
C++ Basics C++ is a high-level, general purpose, object-oriented programming language.
Coding Design Tools Rachel Gauci. Task: Counting On Create a program that will print out a sequence of numbers from "1" to a "number entered”. Decision’s.
Preparing for Assignment 3. Setup Assignment 3 builds on Assignment 2, and we are using the same basic scenario. Save the spreadsheet you used for Assignment.
Copyright 2006 by Timothy J. McGuire, Ph.D. 1 MIPS Assembly Language CS 333 Sam Houston State University Dr. Tim McGuire.
IDEA CREATION. What is an idea? Where do ideas comes from? From our mind – the brain creates Thought or concept Potentially or actually exists in the.
ACCOUNTING QuickBooks is probably the most used and popular accounting software for new and existing ‘Small Businesses’
The Software Development Process
1 Program Planning and Design Important stages before actual program is written.
1 CS161 Introduction to Computer Science Topic #9.
Debugging Computer Networks Sep. 26, 2007 Seunghwan Hong.
OOPDA Intro 5.0. Topics Website and Syllabus Rowan VPN and H:drive BlueJ application and projects Programming Style (Appendix J) Javadoc (Appendix I)
Structured Programming (4 Credits) HNDIT Week 2 – Learning Outcomes Design an algorithmic solution for simple problem such as computation of a factorial,
Scoping and Namespaces CSIS 1595: Fundamentals of Programming and Problem Solving 1.
© Janice Regan, CMPT 128, February CMPT 128: Introduction to Computing Science for Engineering Students Recursion.
Notetaking Using Note Cards for Your Research Paper.
Objects First With Java A Practical Introduction Using BlueJ Well-behaved objects 2.1.
04/02/ Procedures Top-down approach / Stepwise Refinement & Sub Procedures.
Copyright 2006 by Timothy J. McGuire, Ph.D. 1 MIPS Assembly Language CS 333 Sam Houston State University Dr. Tim McGuire.
Introduction to Text Based Coding. We’re learning to explore how text based programming works You will display and enter text into a window You will use.
Chapter 10 Understanding Randomness. Why Be Random? What is it about chance outcomes being random that makes random selection seem fair? Two things: –
C OMPUTER P ROGRAMMING 1 Input and Variables. I/O S TATEMENTS : I NPUT & V ARIABLES Input is the term used to describe the transfer of information from.
Well-behaved objects Main concepts to be covered Testing Debugging Test automation Writing for maintainability Objects First with Java - A Practical.
WRITING A REVIEW OF A BOOK OR FILM/MOVIE The main purpose of a book review to give information to a potential reader so that they can decide whether or.
Efficiently Solving Computer Programming Problems Doncho Minkov Telerik Corporation Technical Trainer.
1.1: Objects and Classes msklug.weebly.com. Agenda: Attendance Let’s get started What is Java? Work Time.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
Function Recursion to understand recursion you must understand recursion.
Part 1 Learning Objectives To understand that variables are a temporary named location to store data and that programmers work with different data types.
14 Compilers, Interpreters and Debuggers
Using Note Cards for Your Research Paper
COLLABORATIVE CODE CONSTRUCTION: CODE REVIEWS AND PAIR PROGRAMMING
Collaborative Code Construction: Code Reviews and Pair Programming
Introduction to Python programming for KS3
Hint idea 2 Split into shorter tasks like this.
Collaborative Code Construction: Code Reviews and Pair Programming
Year 8 Computer Science Digital Portfolio
Presentation transcript:

Testing  How do you know your design worked?  What does it take for it to be said to work?

Test plan DataWhat you expected What actually happened

Example

DataExpected display What actually happened Age entered 0Not a teenager Do you want enter a new age Age entered 1Not a teenager Do you want enter a new age Age entered AErrorDepends on the machine Age entered 13Might be a teenager Is a teenager Might be a teenager Is a teenager Age entered 20Might be a teenager Is a teenager Might be a teenager

 Use the data to go through the design  The data should test events that were not part of the original specification as well.  In this module case if you find any of these note them down if you can not find a solution.

 Give your design and test data to others to run through and test.

Walkthrough - manual  Low-tech, but very useful and powerful technique.  Easy method  Print out copies of the design/code.  Move away from the computer.  Read through the code and with pen and paper simulate what is going on.  At each step keep a record of how variables and data changes.

Walkthrough-verbal  Explain what your code does to somebody else.  The other person you explain the code to might spot the error.  The action of putting into words what the code should do.

Inspection  Walkthrough is generally the designer/programmer going through their own code, acting as the computer and finding the errors and noting down them.

Inspection  You should always do this.  Inspections are some respects a formalised version.  Various forms of these.  Usually takes the form of a meeting, and people take on roles.

Roles  You can create meeting to use these techniques where everybody has a role. Some possible ones of these are included below-  Designer – The designer/programmer of the routine under test. Usually does not say much in the meeting.

Roles  Tester/Inspected – person going through a finding whether it works or not.  Reader-person who literally reads out the design or line of code at the appropriate point.  Note taker – noting down the results – its very important to note down the results, comments, etc.

Roles  This is not a definitive list, make-up, names, etc vary. Sometimes the names change, or roles are combined.  Avoid having the designer and the inspector being the same person.  The idea behind the process though is essentially the same:  Make a project ‘ego-free’: The project is a group activity not a solo activity of the designer.  To find the faults/problems early in the process before it goes outside of the project group.

Task  In groups of three, take the ‘is a teenager’ task, tip task and wall-follower routine and each have a go at been:  The designer/reader – person who wrote the solution reads out the steps of their solution.  The inspector/tester – takes those steps and performs/tests them. Commenting on any problems.  Note-taker: Notes down the comments. So at the end the group can make recommendations.