Fundamentals of Software Development 1Slide 1 Unit Tests Programs to test other programs a module at a time… This makes sense because:Programs to test.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

State Machines An approach to assembler coding. Intro State Machines are an integral part of software programming. State machines make code more efficient,
(c) 2007 Mauro Pezzè & Michal Young Ch 17, slide 1 Test Execution.
Modeling and Simulation By Lecturer: Nada Ahmed. Introduction to simulation and Modeling.
Presentation by Prabhjot Singh
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Integration Testing Speaker: Jerry Gao Ph.D. San Jose State University URL:
Physical Architecture Layer Design
Acquiring Information Systems and Applications
Confidence Measures for Speech Recognition Reza Sadraei.
1 CODE TESTING Principles and Alternatives. 2 Testing - Basics goal - find errors –focus is the source code (executable system) –test team wants to achieve.
Unit 231 Software Engineering Introduction to SWE What is SDLC Phases of SDLC.
Introduction to Software Testing
Software Testing & Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
UNIT-V The MVC architecture and Struts Framework.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
How To Apply Quality Management
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
TESTING.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Understand Application Lifecycle Management
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
VIRTUAL MEMORY By Thi Nguyen. Motivation  In early time, the main memory was not large enough to store and execute complex program as higher level languages.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
Principles of Engineering System Design Dr T Asokan
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing, Testing & Testing - By M.D.ACHARYA QA doesn't make software but makes it better.
EGEE is a project funded by the European Union under contract IST “Interfacing to the gLite Prototype” Andrew Maier / CERN LCG-SC2, 13 August.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Chapter 2: Testing in Software Life Cycle MNN1063 System Testing and Evaluation.
Software Quality Assurance and Testing Fazal Rehman Shamil.
February 22, 2011 Preliminary Design Review…Review.
Fundamentals of Software Development 1Slide 1 System Tests Performed on the Entire SystemPerformed on the Entire System System Test intends to validateSystem.
Adaptive Processes © Adaptive Processes Simpler, Faster, Better Defect Testing Testing programs to establish the presence of system defects.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
CMSC 2021 Software Development. CMSC 2022 Software Development Life Cycle Five phases: –Analysis –Design –Implementation –Testing –Maintenance.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
Accumulator : A robot mechanism designed to pick up a large number of similar objects.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
CSE 219 Final exam review.
Development Environment
Group mambers: Maira Naseer (BCS ).
How To Apply Quality Management
Software Testing.
John D. McGregor Session 9 Testing Vocabulary
The Development Process of Web Applications
Chapter 8 – Software Testing
Chapter 18 Software Testing Strategies
John D. McGregor Session 9 Testing Vocabulary
John D. McGregor Session 9 Testing Vocabulary
Analysis and Understanding
Introduction to Software Testing
Software System Integration
Integration Testing CS 4311
Software Development Chapter 1.
Chapter 7 Software Testing.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Extending Interface Based Design
Eurostat Unit B3 – IT and standards for data and metadata exchange
Software Testing.
Presentation transcript:

Fundamentals of Software Development 1Slide 1 Unit Tests Programs to test other programs a module at a time… This makes sense because:Programs to test other programs a module at a time… This makes sense because: –Typically software developers work on separate modules –Unit test them before submitting them for integration Unit testing aims to get rids of bugs in a module before one focuses on system bugsUnit testing aims to get rids of bugs in a module before one focuses on system bugs Generally conducted by the developersGenerally conducted by the developers

Fundamentals of Software Development 1Slide 2 Robot Example If I am working on the Robots hands and you are working on the legs, we should test our modules before we put the robot together…If I am working on the Robots hands and you are working on the legs, we should test our modules before we put the robot together… –Based on the principle… get your own stuff to work first before meddling with others’ stuff

Fundamentals of Software Development 1Slide 3 How Big are Unit Test Modules? Generally one class is considered unit…Generally one class is considered unit… –However, a unit can be defined as any module, varying in size… achieve balance… Unit testing big modules is time-consuming and complicatedUnit testing big modules is time-consuming and complicated Unit testing small modules splits things into too many modulesUnit testing small modules splits things into too many modules Sometimes when several classes are tested together the process is called component testingSometimes when several classes are tested together the process is called component testing –A unit is a component –One or more units combine to make bigger components Unit tests are writing to test every method in a module!Unit tests are writing to test every method in a module!

Fundamentals of Software Development 1Slide 4 Another Example For example: A module to convert roman numerals to regular numbersFor example: A module to convert roman numerals to regular numbers –List the valid inputs to be tested and corresponding outputs –Validate output based on the test inputs

Fundamentals of Software Development 1Slide 5 Visual Example Test Ball Buttons on the interfaceTest Ball Buttons on the interface –Verify that they create the correct corresponding ball by means of a stub (without observing the ball’s behavior)

Fundamentals of Software Development 1Slide 6 Advantages of Unit Testing Helps IntegrationHelps Integration –It is easier to fix smaller modules before they start messing with the rest of the system Facilitates changeFacilitates change –Makes it easier to change and test modules independently

Fundamentals of Software Development 1Slide 7 Unit Testing Tools: JUnit Used by developers to implements unit tests in JavaUsed by developers to implements unit tests in Java –Open Source Software Read all about it at its dedicated website:Read all about it at its dedicated website: –