1 CSc 191 - Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.

Slides:



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

Software Quality Assurance Plan
Test process essentials Riitta Viitamäki,
Lecture 8: Testing, Verification and Validation
P5, M1, D1.
Software Quality Assurance Plan
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
The Basics of Software Testing
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.
Projmgmt-1/22 DePaul University Project Management I - Realistic Scheduling Instructor: David A. Lash.
 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.
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Software Testing Prasad G.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
Design, Implementation and Maintenance
System Implementation
Scenario testing Tor Stålhane. Scenario testing – 1 There are two types of scenario testing. Type 1 – scenarios used as to define input/output sequences.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
RUP Requirements RUP Artifacts and Deliverables
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
PHASE 4 SYSTEMS IMPLEMENTATION Application Development SYSTEMS ANALYSIS & DESIGN.
Software Testing Lifecycle Practice
Chapter 8: Systems analysis and design
Best Practices By Gabriel Rodriguez
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
Introduction Telerik Software Academy Software Quality Assurance.
Output and User Interface Design
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
From Use Cases to Test Cases 1. A Tester’s Perspective  Without use cases testers will approach the system to be tested as a “black box”. “What, exactly,
Testing Workflow In the Unified Process and Agile/Scrum processes.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
Debugging Strategies from Software Carpentry. Agan's Rules Many people make debugging harder than it needs to be by: Using inadequate tools Not going.
An Object-Oriented Approach to Programming Logic and Design Fourth Edition Chapter 6 Using Methods.
Pre-Project Components
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
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.
Chair of Software Engineering Exercise Session 6: V & V Software Engineering Prof. Dr. Bertrand Meyer March–June 2007.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
System Test Planning SYSTTPLAN 1 Location of Test Planning Responsibilities for Test Planning Results of Test Planning Structure of a Test Plan Test Definitions.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
TESTING FUNDAMENTALS BY K.KARTHIKEYAN.
1 test10b Software Testing Necessary to measure and certify quality in software.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 14 Event-Driven Programming with Graphical User Interfaces.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Software Test Plan Why do you need a test plan? –Provides a road map –Provides a feasibility check of: Resources/Cost Schedule Goal What is a test plan?
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Test Plan IEEE Explained by Nimesh Vadgama - QA.
Writing Test Cases Why writing and tracking test cases is important? What is a test design specification? What is a test case specification? How test procedures.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
1 March 19, Test Plans William Cohen NCSU CSC 591W March 19, 2008.
Regression Testing with its types
Software Engineering (CSI 321)
MIS 120 Test Planning.
Chapter 8 – Software Testing
Chapter 13 & 14 Software Testing Strategies and Techniques
BASIC DEFINITIONS Errors : An error is a mistake, misconception, or misunderstanding on the part of a software developer. In the category of developer.
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
SYSTEMS ANALYSIS & DESIGN
Software Testing Lifecycle Practice
© Oxford University Press All rights reserved.
Black Box Software Testing (Professional Seminar)
Presentation transcript:

1 CSc Senior Project Software Testing

2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of four years… Over the next decade, we don’t expect to meet many computer science graduates who learned anything useful about testing… Many of the revisions that we made… for this edition were with the college student … in mind“ Testing Computer Software, 2 nd Edition, Cem Kaner, Jack Falk and Hung Quoc Nguyen.

3 The Test Plan A document that describes the scope, approach, resources, and schedule of intended testing activities. It identifies: –For each Use Case, the features to be tested –Test items = SW components –Testing tasks and schedule –Personnel to do the tasks –Risks associated with this plan

4 Product or Tool? The Test Plan as a Product –Structure, format, and level of detail are determined not only by what’s best for the effectiveness of the testing effort but also what a customer or regulating agency wants. The Test Plan as a Tool –Only if it helps you manage your testing and finding of bugs… otherwise, it is a diversion of resources.

5 Structure of the Test Plan - 3 Specified in the Test Document: –Test Plan –Test Design Specification Details of the test approach for each Use Case and identifies the associated test cases –Test Procedure Specification Sequence of actions necessary for execution of a test –Test Case Specification Inputs, execution steps, predicted results

6 Structure of the Test Plan - 4 Schedule –Identify test milestones –organized by Use Case –Define any additional test milestones –Estimate time for each testing task –Specify periods of use for each testing resource (facilities, tools and team members), as appropriate

7 What Kind of Testing? Test running code, from the outside, working and stressing it in all the many ways that your customers/users might. This approach complements the programmer’s approach, that is, these tests are comprehensive in a way that the programmer’s are not.

8 How to Begin List what the product can do –Use Case features; organized in a way that is convenient for testing Testing, for example: –“Business Rules” –Menu “choices” –“Entry to” and “Exit from”, options –Data entry screens, dialog boxes, and message boxes –Error handling (if it makes sense to treat this separately)

9 Test Design Specification Explain how each Use Case will be tested: –Begin with an Identifier –Explain what is being tested –Approach What techniques will you use? How will use analyze the results? Are there conditions which dictate the type of tests (e.g. Boundaries…) –List each Use Case Feature and its test cases –Indicate Pass – Fail criteria

10 Each Test Case Identifier (what feature is being tested) The following (with explanation): –All software components involved –Actual input values –Expected output values (Postconditions) –Special setups, testing actions, or output analysis needed –Dependencies / Preconditions (are there prerequisite Features that should have been tested first?)

11 Test Procedure What to consider? For example: How will you log the results What setups are needed to begin How do you begin execution Any actions needed during the procedure execution How do you “measure” the results How to shut down if unknown events occur How do you restart after you shut down How do you restore the environment to its original state What you do if it all goes wrong!

12 Remember What Programmer’s Don’t Test Time related bugs Unanticipated error conditions Special data conditions Invalid of onscreen information User interface inconsistency User interface everything-else Interaction with background tasks Configuration/compatibility failures Ability to cope with volume, load, and HW faults “Testing” the design prototype might cover some of these.

13 A Closing Thought “Many testers generate too much paper. Remember your primary task - finding bugs and getting them fixed - not designing or filling out forms.” Testing Computer Software, 2nd Edition Cem Kaner, Jack Falk and Hung Quoc Nguyen Be clear as to why you are doing what you are doing… test documentation is a means to an end, not the end!