1 Software Testing Dr. Xin (Judy) Feng Web:

Slides:



Advertisements
Similar presentations
American Lit: Week 9 Week’s Agenda: Finalize body paragraphs today.
Advertisements

Object Oriented Analysis And Design-IT0207 iiI Semester
Applications of Synchronization Coverage A.Bron,E.Farchi, Y.Magid,Y.Nir,S.Ur Tehila Mayzels 1.
Lecture 8: Testing, Verification and Validation
Coding and Debugging. Requirements and Specification Recall the four steps of problem solving: Orient, Plan, Execute, Test Before you start the implementation.
Why care about debugging? How many of you have written a program that worked perfectly the first time? No one (including me!) writes a program that works.
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Unit Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 27, 2007.
Ch6: Software Verification. 1 Statement coverage criterion  Informally:  Formally:  Difficult to minimize the number of test cases and still ensure.
Exam Review 2 Chapter 5 – 9 CS211 November 05,2007, CS Dept, MHC.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Testing HCI Usability Testing. Chronological order of testing Individual program units are built and tested (white-box testing / unit testing) Units are.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Chapter 6 Control Statements Continued
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Software Testing Prasad G.
CS 325: Software Engineering March 31, 2015 Software Testing Black-Box Testing White-Box Testing Regression Testing.
System/Software Testing
1 TESL 4340 – Social Networking Dr. Judy Feng Dr. Sunny Jeong.
PRAGMATIC PARANOIA Steven Hadfield & Anthony Rice.
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
CMSC 345 Fall 2000 Unit Testing. The testing process.
Testing phases. Test data Inputs which have been devised to test the system Test cases Inputs to test the system and the predicted outputs from these.
ICAPRG301A Week 4Buggy Programming ICAPRG301A Apply introductory programming techniques Program Bugs US Navy Admiral Grace Hopper is often credited with.
Introduction to Software Testing
GCSE COMPUTING An Introduction. ICT vs Computing ICT How to use technology. Using computer software. “Behind the wheel.” Computing How technology works.
Software Testing Testing types Testing strategy Testing principles.
Chapter 10 – Testing and Debugging. Chapter Goals ► Learn techniques to test your code ► Learn to carry out unit tests ► Understand principles of test.
Testing Vs. Inspection Research Paper Diala T. Gammoh, Ph.D. Student Dr. Damla Turgut, Ph.D. University of Central Florida, Orlando Florida
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Neil Ghani Software testing. 2 Introduction In a perfect world all programs fully verified testing thus redundant Back in the real.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
COMP 121 Week 1: Testing and Debugging. Testing Program testing can be used to show the presence of bugs, but never to show their absence! ~ Edsger Dijkstra.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
CS 217 Software Verification and Validation Week 7, Summer 2014 Instructor: Dong Si
Testing Techniques Software Testing Module ( ) Dr. Samer Hanna.
A summary restates the main idea and important points of a text in a student’s own words. It is normally 1/4 the size of the original text. The ability.
1 Introduction to Information Technology Dr. Ken Tsang 曾镜涛 Room E408 R9 With thanks to Dr. Towey Lecture.
The Software Development Process
Design - programming Cmpe 450 Fall Dynamic Analysis Software quality Design carefully from the start Simple and clean Fewer errors Finding errors.
SOFTWARE TESTING. INTRODUCTION Testing forms the first step in determining the errors in a program. It is the major quality control measure used during.
Scientific Debugging. Errors in Software Errors are unexpected behaviors or outputs in programs As long as software is developed by humans, it will contain.
Compilers and Interpreters. HARDWARE Machine LanguageAssembly Language High Level Language C++ Visual Basic JAVA Humans.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Chapter 6 Control Statements Continued
8/12, 8/13 Bell Work  Take out your Homework that was due for today!
Testing Data Structures Tao Xie Visiting Professor, Peking University Associate Professor, North Carolina State University
Kinds of Sentences There are four Kinds of Sentence  Declarative  Interrogative  Imperative  Exclamatory.
Dynamic Testing.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Cs498dm Software Testing Darko Marinov January 27, 2009.
Compilers and Interpreters
COMPUTER PROGRAMMING I SUMMER Understand Different Types of Programming Errors.
CSC 395 – Software Engineering Lecture 27: White-Box Testing.
JavaScript Errors and Debugging Web Design Sec 6-3 Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development.
Software Testing Testing is the process of exercising a program with the specific intent of finding errors prior to delivery to the end user.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
Testing It is much better to have a plan when testing your programs than it is to just randomly try values in a haphazard fashion. Testing Strategies:
Testing Integral part of the software development process.
Debugging and Testing Hussein Suleman March 2007 UCT Department of Computer Science Computer Science 1015F.
The LC-3 – Chapter 6 COMP 2620 Dr. James Money COMP
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
Lab 7 Control-Flow Testing
MyWritingLabPlus and English 1100 and 1109
MyWritingLabPlus and English 910, 920, and 1109
SME1013 PROGRAMMING FOR ENGINEERS
MyWritingLabPlus and English 910, 920, and 1109
SME1013 PROGRAMMING FOR ENGINEERS
Whitebox Testing.
Presentation transcript:

1 Software Testing Dr. Xin (Judy) Feng Web:

2 Introductory Stuff  Have Fun!  Please turn off your phones!  DO  DO interact with me!

3 Introductory Stuff  This will be a relatively interactive course. Feel free to stop me, shout at me, argue, … etc.  If you have trouble understanding me (I expect that you will), TELL ME!  I will try to speak more clearly and slowly!

4 Outline  What is software testing  Why do we need the testing  How should we do the testing  Basic testing strategies

5 What is software testing?  Software Testing is an activity to catch bugs in software applications (include Computer-Aided Language Learning applications)

6 Why software testing?  Create robust products  Reduce the risks (time, money, life, credit … ) What problems do you think are bugs in a CALL system?

7 Some misunderstandings about software testing Testing is Debugging??? Truth:  Testing is to show that programs have bugs  Debugging is to find the errors that make the programs fail

8 Some misunderstandings about software testing Testing is Easy??? Truth:  Testing is very expensive. It consumes almost half of the labour in the software development

9 Some misunderstandings about software testing Testing is Everything??? Truth:  Testing is one of the activities to assure software quality  Other activities are necessary

10 How to test software?  Test cases used to input to a system to check if the system produces an unexpected result  Two basic testing strategies White-box testing Black-box testing

11 White-box testing  Test cases are generated based on the internal structure and code of programs  Basic white-box testing strategies Statement testing Branch testing Path testing

12 White-box testing Count spelling errors and grammar errors Spelling errors > 10 Deduct 10 marks Grammar errors > 5 Deduct 15 marks Statement Branch Path

13 Statement testing Count spelling errors and grammar errors Spelling errors > 10 Deduct 10 marks Grammar errors > 5 Deduct 15 marks Statement Every statement must be executed at least once. Question: At least how many test cases are needed?

14 Branch testing Count spelling errors and grammar errors Spelling errors > 10 Deduct 10 marks Grammar errors > 5 Deduct 15 marks Branch Every Branch must be executed at least once. Question: At least how many test cases are needed?

15 Path testing Count spelling errors and grammar errors Spelling errors > 10 Deduct 10 marks Grammar errors > 5 Deduct 15 marks Path Every path must be executed at least once. Question: How many paths are there totally?

16 Black-box testing  Test cases are generated based on the program requirements  Basic black-box testing strategies Equivalence-class testing Boundary value testing

17 Equivalence class testing  Categorize the input into the classes with some similar features  Select one or more test cases from each class

18 Equivalence class testing Students’ marks for grammar and spelling Grammar marks > 60 and Spelling marks > 60 Grammar marks > 60 and Spelling marks ≤ 60 Grammar marks ≤ 60 and Spelling marks > 60 Grammar marks ≤ 60 and Spelling marks ≤ 60 Four classes Pass Supplementary for spelling Supplementary for grammar Fail

19 Boundary value testing  Use the boundary values as well as normal values to test  Software applications tend to fail at the boundary values

20 Boundary value testing Spelling marks: 0 – 100 Grammar marks:

21 Summary  Software testing - What, why and how  White-box testing Statement testing Branch testing Path testing  Black-box testing Equivalence class testing Boundary value testing