Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.

Slides:



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

Testing Relational Database
Making the System Operational
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
1 SOFTWARE TESTING Przygotował: Marcin Lubawski. 2 Testing Process AnalyseDesignMaintainBuildTestInstal Software testing strategies Verification Validation.
Tutorial 8: Developing an Excel Application
Software Testing By Marcin Starzomski :P. What is Testing ? Testing is a process used to help identify the correctness, completeness and quality of developed.
Programming Types of Testing.
T. E. Potok - University of Tennessee Software Engineering Dr. Thomas E. Potok Adjunct Professor UT Research Staff Member ORNL.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Software Testing.
Software Testing. Overview Definition of Software Testing Problems with Testing Benefits of Testing Effective Methods for Testing.
Program Testing Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Illinois Institute of Technology
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Release & Deployment ITIL Version 3
Systems Life Cycle A summary of what needs to be done.
Lesson 4 Computer Software
Introduction to Systems Analysis and Design Trisha Cummings.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Software Testing. Definition To test a program is to try to make it fail.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
TESTING.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Software Testing.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
End HomeWelcome! The Software Development Process.
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Testing and Debugging Version 1.0. All kinds of things can go wrong when you are developing a program. The compiler discovers syntax errors in your code.
Neil Ghani Software testing. 2 Introduction In a perfect world all programs fully verified testing thus redundant Back in the real.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
16 October Reminder Types of Testing: Purpose  Functional testing  Usability testing  Conformance testing  Performance testing  Acceptance.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
1 Software. 2 What is software ► Software is the term that we use for all the programs and data on a computer system. ► Two types of software ► Program.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Testing and Evaluating Software Solutions Introduction.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
1 CP586 © Peter Lo 2003 Multimedia Communication Multimedia Development Team.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Software Engineering Lecture 11 Software Testing Presenter: Josef Hallberg 1.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Software Testing Strategies for building test group
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
SOFTWARE TESTING OVERVIEW
Different Types of Testing
Verification and Testing
CHAPTER 2 Testing Throughout the Software Life Cycle
Applied Software Implementation & Testing
Lecture 09:Software Testing
Testing and Test-Driven Development CSC 4700 Software Engineering
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
CSE 1020:Software Development
PSS0 Configuration Management,
Software Testing Strategies
Presentation transcript:

Software Development Software Testing

Testing Definitions There are many tests going under various names. The following is a general list to get a feel for the different types of testing required by during typical high quality software development.

Acceptance Test The test performed by users of a new or changed system in order to approve the system and go live Usually carried out at the customer’s premises or using customer’s data with the customer being present This is usually the final phase of development and results in the handover of the software product to the customer

Active / Passive Testing An active test introduces specific test data and the results of processing that data are observed for correctness Passive testing works on real data and the outputs are observed for correctness

Alpha and Beta Testing Alpha testing is the first test phase carried out by the developers in the lab Beta testing is carried out when alpha testing is complete and the developers can find no errors (ideally). Beta testing is carried out by selected real users who report back to the developers. This enables the users to get early exposure to the software and the developers get usability and error feedback

Automated Testing This is when software is used to test software. This enables test repeatability and is faster as the user is not generally required to enter lots of data manually If the code is changed in a single module, all the tests would be re-run on the whole application to ensure that the changes have not impacted on any other modules. Retesting everything in this way is often referred to as “regression testing”

White and Black Box Testing White box testing requires knowledge of the internal operation of the software. This enables the test to chack all paths through a function for example Black box testing assumes no knowledge of the internal operation and based on the specification will input test data at a system level and observe the correctness of the output

Dirty or Negative Testing This method requires data to be input such that it will maximise the chances of failure so is used to test the application’s error recovery effectiveness Examples could be user input validation through to memory allocation failure

Functional Testing Does the application do what it has been specified to do? – Check all menu and tool bar options – Check all keyboard input Likely to take the form of a task list which a tester goes through to check all options and navigation paths. This is not a usability test but initial feedback on usability could be collected at the same time

Recovery Testing How well does the application recover from hardware and software failure? – Reading a data file which you know is always available will still need error recovery code in case the disk you are reading from fails – How well does the system recover from the dirty test phase? – What happens if the device your application is trying to communicate with does not respond?

Test Case Testing This consists of a set of test data, test programs (test harnesses) and a set of expected results Typically a set of test cases is prepared (this is a test scenario). A file of input test data and expected results for example is read by the test harness (test driver program). A function (unit of code so is often referred to as a unit test) for example is called with the test data and the results are compared with the expected results. The success or failure of the test is reported and the next test is carried out. This method of testing tends to be totally automated if possible

Test Suite This is a collection of test scenarios which themselves are a collection of test cases In oop for example, a test suite may consist of a test scenario for each class. The test scenario may consist of a series of tests for each of the member functions

Usability Testing A series of tests carried out by users or subject experts to determine the ease of use Various techniques such as – Task driven – Observation – Keystroke and mouse recording – Interview – Think aloud – Questionnaires

Test Driven Development This is not a test method as such but is test oriented. Based on the system requirements, a series of tests is specified which, when they pass, mean that a piece of working code has been produced. i.e. the test is specified before the software is written and the software is written to pass the test. Often used in Extreme Programming (XP) but can be used in its own right as a development method

Compatibility Testing Ensures that the software is compatible with the hardware, operating systems, and other software packages that it will be working with such as: – Works on required software platforms such as Windows and Linux – Works on required hardware platform such as 16, 32 and 64 bit systems – Works with various software releases if required such as Win 95, XP, Vista

Performance Testing Ensures that the software runs fast enough to meet speed requirements e.g. executing algorithms in time specified Ensures that the software does not consume more memory than anticipated

Function Stubs When developing an application as part of a team, you may need to call functions (or objects) that do not yet exist (because someone is still writing them – Write a function which does nothing other than enable the caller to call it and return a value or series of values depending on the function spec. – The caller can test the calling function’s response to a variety of return values from the stubs

Test Harness Example Performs 16 and 32 bit compatibility tests Performs Test Case Testing on a function Uses Automated Testing Uses Active Testing Data and results taken from a Test Scenario Function under test is a C function to convert a String to an Integer (like atoi but with extra features). Errors found would need source header updating with mod date and author and an overview of the problem and fix