An empirical process to get an assessment of the quality of the quality of a system Never exhaustive  one can never prove the system will work Comparison.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Test-First Programming. The tests should drive you to write the code, the reason you write code is to get a test to succeed, and you should only write.
Test process essentials Riitta Viitamäki,
Javascript Code Quality Check Tools Javascript Code Quality Check Tools JavaScript was originally intended to do small tasks in webpages, but now JavaScript.
The Use of Cases: Use Case Scenarios College of Alameda Copyright © 2007 Patrick McDermott Sometimes a Word is worth a thousand.
MIS 2000 Class 20 System Development Process Updated 2014.
1 Software Engineering Lecture 11 Software Testing.
CSI 101 Elements of Computing Spring 2009 Lecture #2 Development Life Cycle of a Computer Application Monday January 26th, 2009.
Illinois Institute of Technology
SE 555 Software Requirements & Specification Requirements Validation.
7. Fault Tolerance Through Dynamic or Standby Redundancy 7.5 Forward Recovery Systems Upon the detection of a failure, the system discards the current.
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Semester 2, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
IST346:  Web Services. Today’s Agenda  Learn the basics of how the Web works  Understand various web service architectures  Address scaling, security,
Bottom-Up Integration Testing After unit testing of individual components the components are combined together into a system. Bottom-Up Integration: each.
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
Introduction to Computer Technology
1 Joe Meehean. 2 Testing is the process of executing a program with the intent of finding errors. -Glenford Myers.
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
Unit Six Assignment 1 Chris Boardley.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management 1.
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
Costing and Pricing Judith Harrison FCCA DipChA Manager of VAS’s Community Accountancy & Payroll Service.
S/W Project Management
CPTE 209 Software Engineering Summary and Review.
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Problem Analysis and Program Design
1 Debugging and Testing Overview Defensive Programming The goal is to prevent failures Debugging The goal is to find cause of failures and fix it Testing.
OHTO -99 SOFTWARE ENGINEERING “SOFTWARE PRODUCT QUALITY” Today: - Software quality - Quality Components - ”Good” software properties.
Upgrading to IBM Cognos 10
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Testing E001 Access to Computing: Programming. 2 Introduction This presentation is designed to show you the importance of testing, and how it is used.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
INTRODUCTION SOFTWARE HARDWARE DIFFERENCE BETWEEN THE S/W AND H/W.
Prepared for Boğaziçi University SWE 523 course by Özgür Çetin 1 Chapter 13 Reporting Progress.
Professional IT Roles Investigate IT professional roles. Find out what each role involves, what the job entails. Identify what personal qualities are needed.
System Test Methods TESTTEME The Test Challenge Bottom Up Testing Strategy Integration Test System Test Types of Testing Unit Test = Code-based Testing.
Software testing Main issues: There are a great many testing techniques Often, only the final code is tested.
Chapter 11. Intro  What is Project Management?  Project Manager  Project Failures & Successes Managing Projects  PMBOK  SDLC Core Process 1 – Project.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
DEBUGGING. BUG A software bug is an error, flaw, failure, or fault in a computer program or system that causes it to produce an incorrect or unexpected.
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.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
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.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
System Test Planning SYSTTPLAN 1 Location of Test Planning Responsibilities for Test Planning Results of Test Planning Structure of a Test Plan Test Definitions.
Introduction to Embedded Systems Rabie A. Ramadan 5.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Unit Testing. F-22 Raptor Fighter Manufactured by Lockheed Martin & Boeing How many parts does the F-22 have?
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Needs Assessment Results Allen Frear Technology Initiative Nicole Schaefer.
Testing and Debugging. Testing Fundamentals  Test as you develop Easier to find bugs early rather than later Prototyping helps identify problems early.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
System Development Life Cycle (SDLC). Activities Common to Software Projects Planning : Principles Principle #1. Understand the scope of the project.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
6. (supplemental) User Interface Design. User Interface Design System users often judge a system by its interface rather than its functionality A poorly.
Unit Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software testing strategies 2
Lecture 09:Software Testing
Group Truck Technology, Powetrain Engineering, Control Systems dept.
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Dr. Rob Hasker SE 3800 Note 9 Reviews.
CS 240 – Advanced Programming Concepts
Test Process “V” Diagram
Presentation transcript:

An empirical process to get an assessment of the quality of the quality of a system Never exhaustive  one can never prove the system will work Comparison against expected results  requires correct preparation of expected results Assumes a sequence of events  what if this sequence is not always followed ?

 Forms Static : review, inspection,… Dynamic : execution  Functional Unit – examples : input validation, calculation, formatting System – examples : website with interfaces stubbed out, website running against test customer database Integration – full functioning system – as close as possible to production Conversion – when you upgrade Acceptance – the customer signs off  Non functional Scaling Duration Security Performance

Project Initiation4% Project Management10% Training12% Communications4% Analysis9% Design10% Build25% Test17% Roll Out8% Evaluation1% For larger – 10 + people projects For smaller projects – testing cost increase

Unstated mental models It compiled so it will work I hate MS$&^*T stuff It is written in PHP so it works Show that the website works Everyone has broadband …  Imperative that you break this mental block

Repeat/recreate the error Other browsers, OS-s,… Different sequence Different data – input and DB-s Different HW (video, memory, disk,..), SW Different connection speeds Different connectivity paths …  First assumption has to be: Your application has an error

The “owner’ is way to invested into the system to truly test it Main focus will be to prove the system works – not on trying to break the system To aware of the many assumptions that went in the design/implementation Quite often the system is too large to be tested by an individual; there are too many variations

 Create unit tests for complex lower design issues  Test driven development Helps clarify the requirements/design Helps automate  Document larger tests in a form that works for you scenarios, use cases in word document, excel,… Document data, steps and outcomes If possible automate Do not forget the exceptions, errors,..  Execute these tests in an environment that is not your development environment; maybe everything you execute them use a different browser, OS  VM-s are your friend  If none of your tests fail: find someone else to test

 Focus first on the common scenarios  Then focus on common exceptions  Then focus on rare exceptions  Then…. MONKEY test

 Continuously test – if you wait till the end – it will be very, very, very tedious  If you find lots of errors in a certain subsystem, and they keep coming back (ie you can not seem to fix it), toss it and rewrite it  It is probably the most undervalued activity to ensure you site works  There are truly testing geniuses – if you find them try and hire them.. Able to perform repetitive tasks with high focus Have fingers that make code break Have an incredible attention for detail Are very productive in finding high quality errors

Questions…..