Testing Methods Carl Smith National Certificate Year 2 – Unit 4.

Slides:



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

Topics Introduction Types of Errors Exceptions Exception Handling
Practical Testing Techniques. Verification and Validation Validation –does the software do what was wanted? “Are we building the right system?” –This.
Programming Types of Testing.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
CHAPTER 1: AN OVERVIEW OF COMPUTERS AND LOGIC. Objectives 2  Understand computer components and operations  Describe the steps involved in the programming.
Software Testing. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing.
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.
IMSE Week 18 White Box or Structural Testing Reading:Sommerville (4th edition) ch 22 orPressman (4th edition) ch 16.
Programming Fundamentals (750113) Ch1. Problem Solving
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Designing Unit Test Cases Vivek Gulati COMP595VAV Dept. of Computer Science California State University, Northridge.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Verificarea şi Validarea Sistemelor Soft Tem ă Laborator 2 Testare Black Box Dat ă primire laborator: Lab 2 Dat ă predare laborator: Lab 2,3.
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
TESTING.
UNIT 3 TEMPLATE AND EXCEPTION HANDLING. Introduction  Program errors are also referred to as program bugs.  A C program may have one or more of four.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Introduction Telerik Software Academy Software Quality Assurance.
INTRODUCTION TO COMPUTING CHAPTER NO. 06. Compilers and Language Translation Introduction The Compilation Process Phase 1 – Lexical Analysis Phase 2 –
2_Testing Testing techniques. Testing Crucial stage in the software development process. Significant portion of your time on testing for each programming.
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
ME 142 Engineering Computation I Debugging Techniques.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
Black-box Testing.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
The Software Development Process
1 Program Planning and Design Important stages before actual program is written.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Black Box Testing : The technique of testing without having any knowledge of the interior workings of the application is Black Box testing. The tester.
Introduction to programming Carl Smith National Certificate Year 2 – Unit 4.
Intermediate 2 Computing Unit 2 - Software Development.
Software Engineering Saeed Akhtar The University of Lahore.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Software Testing. System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent.
Software Quality Assurance and Testing Fazal Rehman Shamil.
5.01 Understand Different Types of Programming Errors
Dynamic Testing.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering Testing. These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright.
ITEC 370 Lecture 18 Testing. Review Questions? Design document due W –System can be implemented just by following it Implementation –Methods (prototype,
Chapter 1 Software Development Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2008.
Introduction to Computer Programming using Fortran 77.
COMPUTER PROGRAMMING I SUMMER Understand Different Types of Programming Errors.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Testing i. explain the importance of system testing and installation planning;
Testing Integral part of the software development process.
Software Testing.
5.01 Understand Different Types of Programming Errors
UNIT-4 BLACKBOX AND WHITEBOX TESTING
5.01 Understand Different Types of Programming Errors
Designing and Debugging Batch and Interactive COBOL Programs
Problem Solving Techniques
Lecture 09:Software Testing
Programming Fundamentals (750113) Ch1. Problem Solving
CS367 Intro to Data Structures
CS240: Advanced Programming Concepts
Chapter 15 Debugging.
Software Verification and Validation
Software Verification and Validation
Software Development Process
Software Verification and Validation
TYPES OF TESTING.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 15 Debugging.
Presentation transcript:

Testing Methods Carl Smith National Certificate Year 2 – Unit 4

Unit 4 objectives Apply simple analysis and design techniques to the software development process. Develop basic high-level code using an appropriate procedural programming language. Use suitable testing methods to ascertain the correctness of a working piece of code. Produce appropriate documentation for a given program application.

Errors in your code What are the types of errors we need to test for?

Syntax Errors Syntax Errors: errors in the use of the Pascal language. The most common examples are missing semicolons and misspelled words. These errors are detected by the compiler and an error message is produced.

Runtime Errors Runtime Errors: a program stops executing because a program statement, although syntactically correct, produces a meaningless or impossible result e.g. dividing by zero

Logic Errors Logic Errors: a program completes execution but the results expected are not correct. A calculation may have been coded incorrectly or the sequence of instructions may be incorrect The level of error checking provided by the compiler and the meaningfulness of error messages displayed vary depending on the implementation of the development environment (e.g. TP)

Detecting Errors The compiler will detect syntax errors. Execution of the program will terminate when a run-time error is present It is important that we have a strategy for detecting the existence of logic errors

Black Box Testing Also known as functional testing. A software testing technique whereby the internal workings of the item being tested are not known by the tester. For example, in a black box test on a software design the tester only knows the inputs and what the expected outcomes should be and not how the program arrives at those outputs. The tester does not ever examine the programming code and does not need any further knowledge of the program other than its specifications.softwarecode

Advantages & Disadvantages The advantages of this type of testing include: The test is unbiased because the designer and the tester are independent of each other. The tester does not need knowledge of any specific programming languages. The test is done from the point of view of the user, not the designer. Test cases can be designed as soon as the specifications are complete. The disadvantages of this type of testing include: The test can be redundant if the software designer has already run a test case. The test cases are difficult to design. Testing every possible input stream is unrealistic because it would take a inordinate amount of time; therefore, many program paths will go untested.

White Box Testing Also known as glass box, structural, clear box and open box testing. A software testing technique whereby explicit knowledge of the internal workings of the item being tested are used to select the test data. Unlike black box testing, white box testing uses specific knowledge of programming code to examine outputs. The test is accurate only if the tester knows what the program is supposed to do. He or she can then see if the program diverges from its intended goal. White box testing does not account for errors caused by omission, and all visible code must also be readable.softwareblack box testingcode For a complete software examination, both white box and black box tests are required.

The Test Plan A test plan may or may not form part of the technical specification, but one needs to be produced. It should be developed by a systems analyst with an overview of the entire system being produced (and certainly not by a programmer involved in the coding process)

The Test Plan - 2 Individual programmers will test their own programs as part of the development process. The test plan may provide for testing of individual programs, but should concentrate on testing how the various elements of the new system “co-operate” together. It must test the entire system.

Successful Testing Since the purpose of testing is to discover “bugs”, a test is termed successful if it uncovers an error, and is unsuccessful if the program behaves as it should. Try to “break” your program – don’t try to convince yourself it works. Involve others in your testing…!

Testing Stages Design your test strategy Record your test plan List the results

Example Test Plan Table here…

Summary We covered:- National Certificate Unit 4 objectives The importance of testing Syntax, Runtime and Logic errors Successful Testing Example Test Plan Any Questions?