Software Testing Course Shmuel Ur 8296250.

Slides:



Advertisements
Similar presentations
Copyright Insight Test Services Testing From The Start – Test Driven Development TM Summit Fran OHara, Insight Test Services
Advertisements

Configuration Management
Test Yaodong Bi.
Test process essentials Riitta Viitamäki,
Testing and Quality Assurance
Ossi Taipale, Lappeenranta University of Technology
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Alternate Software Development Methodologies
Sixth Hour Lecture 10:30 – 11:20 am, September 9 Framework for a Software Management Process – Artifacts of the Process (Part II, Chapter 6 of Royce’ book)
Using UML, Patterns, and Java Object-Oriented Software Engineering Royce’s Methodology Chapter 16, Royce’ Methodology.
Software Quality Assurance Inspection by Ross Simmerman Software developers follow a method of software quality assurance and try to eliminate bugs prior.
Software Testing and Quality Assurance
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
Fundamentals of Information Systems, Second Edition
Software Testing and Quality Assurance: Introduction and Terminology
Systems Analysis and Design in a Changing World, 6th Edition
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Introduction to Software Testing
Types and Techniques of Software Testing
Verification and Validation
What is Business Analysis Planning & Monitoring?
Effective Methods for Software and Systems Integration
Chapter : Software Process
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Extreme Programming Software Development Written by Sanjay Kumar.
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.
Test Organization and Management
Software Project Management
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Software Quality Assurance Activities
CS4723 Software Validation and Quality Assurance Lecture 15 Advanced Topics Test Plans and Management.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
SOFTWARE TESTING Scope of Testing  The dynamic Indian IT industry has always lured the brightest minds with challenging career.

What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
Formal Methods in Software Engineering
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 4 프로세스 모델 Process Models
Environmental Management Plan (EMP) Required for: Full EIA based on Palestinian EIA Policy Category A projects based on World Bank Policy.
Verification and Validation Assuring that a software system meets a user's needs.
Introduction to Testing. Topics Who are we? Who are we? Software Testing Definition and Goals Software Testing Definition and Goals Facts and Numbers.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
LOGO TESTING Team 8: 1.Nguyễn Hoàng Khánh 2.Dương Quốc Việt 3.Trang Thế Vinh.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Software Engineering Lecture 8: Quality Assurance.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Chapter Two Copyright © 2006 McGraw-Hill/Irwin The Marketing Research Process.
BSBPMG501A Manage Project Integrative Processes Manage Project Integrative Processes Project Integration Processes – Part 2 Diploma of Project Management.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Cs498dm Software Testing Darko Marinov January 24, 2012.
CSC 480 Software Engineering
Introduction to Software Testing
A test technique is a recipe these tasks that will reveal something
Software Verification, Validation, and Acceptance Testing
Testing, Inspection, Walkthrough
Presentation transcript:

Software Testing Course Shmuel Ur

An interview situation How do you know that your program work correctly? What part of the total development budget should be spent on testing? Do you use coverage? Can you achieve zero defects? Have you ever used a testing tool?

Administrative details There will be an optional exercise Class slides will be on the class web-site (hopefully by Monday) Office hours upon request

Outline Foundation of Modern Testing Course topics

Foundation of Modern Testing Testing Defined –Why do we test –What do we test Modern Themes –Why understanding risks is so important –Testing as an integrated engineering process –What is preventive testing

Why do we test? Phase 0 - Testing is debugging (1950’s) Phase 1 - Show the software works (1970’s) Phase 2 - Show that the software does not work (1975’s) Phase 3 - Assess quality, evaluation (1980’s) Phase 4 - Control quality, prevention (1990’s)

What do we test? Unit testing Component testing Integration testing System testing Regression testing Acceptance Testing Usability Testing

More thing we test Field Testing Stress or capacity testing Platform testing Performance Testing Viral protection testing

Why understanding risks is so important Bug importance = f (frequency, correction_cost, instaltion_cost, consequences) Bug consequences scale: mild, moderate, annoying, disturbing, serious, very serious, extreme, intolerable, catastrophic, infectious. Quantifying risk leads to cost-effective test sets

What is preventive testing? Using tests to influence and control software design and development Implicit concurrent engineering of testware and software –Preventive testing is built on the observation that one effective way to specifying something is to describe (in detail) how you would accept (test) the something if someone gave it to you. Bill Hetzel

Side-effects are important The side-effect of early test preparation can be more important than later results. Side-effects –Better communication –Clearer and better understood requirements –better design definition and understanding –more reliable implementations Higher quality software!

Key elements of preventive testing Tests are used as requirements models Testware design leads software design Defects are detected earlier or prevented altogether Defects are systematically analyzed Tester and developers work together

Why is testing so difficult? Testing is a challenge because: –Complexity of software products –Nature of software behavior and problems –Large amounts of information required Plus Frustration due to –Attitude, Communication, Schedule, Resources, Documentation, Requirements, –Changes,.....

Foundation of Modern Testing Summary Testing is planning, designing, building, executing &maintaining testware We test for many reasons Good testing drives good quality testing produces a product Software and testware are strongly co- dependent

Topics to be covered Coverage Regression Bug Classifications Requirement Check List Test Specifications Code Inspection

Topics to be covered II Software Reliability Risks and Bug Taxonomy Domain Specific Test Generators OO Testing Metrics and Complexity

Topics to be covered III Test Tools Formal Verification Automatic Test Generators Random Test Generators Exploratory Testing