Testing All Input is Evil pt 2.

Slides:



Advertisements
Similar presentations
P5, M1, D1.
Advertisements

Coding and Debugging. Requirements and Specification Recall the four steps of problem solving: Orient, Plan, Execute, Test Before you start the implementation.
PS4: Test Driven Development Based on Test Driven Development by Example By Kent Beck.
Identifying needs and establishing requirements Chapter 7a.
Maintenance = Software Evolution Any changes after the client has accepted the product is considered maintenance. n Any Changes? n What might these be?
Test Driven Development An approach to writing better code Jimmy Zimmerman Intel Corporation.
Introduction to Usability By : Sumathie Sundaresan.
ITEC 370 Lecture 8 Requirements. Review Requirements –What are some of the characteristics of a good requirement? –What are use cases?
Phoenix Software Projects Larry Beaty © 2007 Larry Beaty. Copying and distribution of this document is permitted in any medium, provided this notice is.
October, 2006 © Copyright 2006, Larry A. Beaty. Copying and distribution of this document is permitted in any medium, provided this notice is preserved.
 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.
Refine Produce Implement Design and Development Stages.
Fault Tolerance Computer Programs that Can Fix Themselves! Prof’s Paul Sivilotti and Tim Long Dept. of Computer & Info. Science The Ohio State University.
Phase Test Preperation. Getting a Clearer Picture Getting to a stage where we understand the problem more clearly Event tables Use case diagrams / descriptions.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
Main Areas for Testing System stability – is the system going to crash or not? System usability – is the system easy to use? System security – is the.
Testing and delivery Web design principles. Web development is software development.
Welcome to Week 2 in the computer lab. Last week you learned step 1 of the morning routine. Today we will learn how to complete the entire routine!
Testing Your Site Design Prototype Evaluate Is it what the user wants? No.
Introduction to Software Engineering
Topic 2: Hardware and Software
The Need for Algorithms
SaralTA Batch-07 Software Testing Presented By - Chittaranjan M.
Project planning The systems life cycle.
Version Control with Subversion
System Testing Antares Rocket Test Launch ( HQ) System Testing.
Developer Testing Tricks
421 Review Questions Does software engineering add documentation that slows down the project? Is there one software process that is better than the others.
Full Page Watermarking
Chapter 18 Maintaining Information Systems
System Design Ashima Wadhwa.
Excise Tasks CS 4640 Programming Languages for Web Applications
Academic partnerships Course Rep Training
Software Testing.
Object oriented system development life cycle
Testing a Solution.
The life cycle.
BTEC NCF Dip in Comp - Unit 15 Website Development Lesson 12 – Publish and Test Mr C Johnston.
Introduction to Software Engineering
Software Engineering (CSI 321)
Accidental and Essential Problems Excise Tasks
Practice Insight Instructional Webinar Series Reporting
Introduction to Human Computer Interaction
Paul Ammann & Jeff Offutt
Johanna Rothman Know What “Done” Means Chapter 11
<Application Name>
Web Programming– UFCFB Lecture 3
Lecture 09:Software Testing
Informatics 43 – April 14, 2016.
Introduction to Project Management
Testing and Test-Driven Development CSC 4700 Software Engineering
Testing your digital portfolio
Software Testing & Quality Management
Interaction design basics
Software Verification, Validation, and Acceptance Testing
Testing and Test Driven Development
Testing.
Testing and Test Driven Development
I CAN DECIDE…IT’S UP TO ME
Chapter 2 Web Site Design Principles
Introduction to Python
Test Cases, Test Suites and Test Case management systems
Our thinking impacts continuous improvement
Chapter 7 Software Testing.
Testing.
Mcafee.com/activatemcafee.com/activate :- If you have a McAfee Retail card and want to install the security product, visit for.
Refine Produce Implement
LECTURE 3: Requirements Engineering
Testing and Test Driven Development
Presentation transcript:

Testing All Input is Evil pt 2

Main Areas for Testing System stability – is the system going to crash or not? System usability – is the system easy to use? System security – is the data and code safe from hackers? Testing will never be the most exciting task in the world however it is one of the most important when it comes to programming.

Errors are good! If you create a system and tell me that you tested it and found no problems I simply won’t believe you In documenting your testing I expect you to state clearly what errors you found and what you did about them in your test logs

When to Test Formative testing Summative testing Testing during development Summative testing Testing after development Imagine a chef making soup The formative stage is the chef tasting the soup as they make it The summative phase is when the customer tastes it

Why do we test? To find faults or errors with the code Establish accessibility Understand the level of usability We need to have our designs viewed through fresh eyes to see the things that are hard to see ourselves

What do we test? For the sake of this lecture I shall split testing into three types System testing Usability testing

System Testing You will need to consider issues such as the following What happens when bad data is entered? Do all of the links to pages work? Does your design work on different browsers? Does your design work at different screen resolutions? How does your design behave on different computer platforms?

Is your code correct? Test plan test log You don’t need a finished system to design test data

Test Plan Example Age field for staff member Mandatory field

Prototyping

Prototyping Life Cycle

But what exactly is Usability? How easy is the application to learn? How quickly are tasks performed? How easy is it to remember how to use the application? How many errors does a user make? Is the user satisfied with the experience? Who to use? How many?

Usability Testing Examples Focus group Testing the Paper Based Design Card Sorting Design an Experiment Avoid Polluting the Test

Testing by Code

Test Driven Development (TDD) Testing is error prone and boring In TDD Create a test that fails (test plan my not always encourage this) Run the test and see it fail Fix the error in a simplistic way See the test pass Re-factor to implement the feature correctly All about small steps Builds confidence in the system Builds confidence in the programmer