Unit Testing Scenario and Sample Unit Test Plan



Similar documents
How to transfer your Recipient Address Book from FedEx Ship Manager at fedex.ca to FedEx Ship Manager Software

Shared Services/ Accounting TACS Adjustpay USER GUIDE Course No

Automated Inventory System

Lease and Owned Property Contract Management User Guide

PaymentNet Federal Card Solutions Cardholder FAQs

Business e-cash Manager Plus Automated Clearing House (ACH)

BCSD WebMail Documentation

Rational Quality Manager. Quick Start Tutorial

User Manual Version 15.1

SmartLink for Lotus Notes User Guide

ADP Workforce Now Portal Administrator Guide. Version 1.2

Sage Abra SQL HRMS System. User Guide

Appointments Module. User s Manual

Vodafone PC SMS (Software version 4.7.1) User Manual

Accounts Payable Back Office Reference Guide

Job Streaming User Guide

Creating a table of contents quickly in Word

Mastering Mail Merge. 2 Parts to a Mail Merge. Mail Merge Mailings Ribbon. Mailings Create Envelopes or Labels

TOPS PROFESSIONAL ACCOUNTS PAYABLE MANUAL. By TOPS Software, LLC Clearwater, FL

? Index. Introduction. 1 of 38 About the QMS Network Print Monitor for Windows NT

Quick reference Approver

C&A AR Online Credit Card Processor Installation and Setup Instructions with Process Flow

Project Management WalkThrough

Updating Addresses in Banner

Unified Messaging. User Guide

Active Directory User Management System (ADUMS)

Designed for use with QuickBooks Pro & Premier

ImageNow Report Library Catalog

Exchange Brick-level Backup and Restore

Document Creation Automation Using SharePoint Designer Workflows

Appendix A How to create a data-sharing lab

REPORTING CENTRAL EXTERNAL USER GUIDE FEDERAL RESERVE SYSTEM

TheFinancialEdge. Configuration Guide for General Ledger

LOGO. HBS Bi-Weekly Exempt Employee Training. Bi-Weekly Exempt Timesheets. Updated

PCLaw Scheduled Backup

LOYEX TRADING STATION

Oracle CRM Foundation

Central and Remote Users Guide

Mail Merge Creating Mailing Labels 3/23/2011

Suite. How to Use GrandMaster Suite. Exporting with ODBC

IBM TRIRIGA Version Procurement Management User Guide. Copyright IBM Corp i

Contact Management. All Records This query returns all records in the project with the contact ID, flag status, first name, and last name.

Accounts Payable Workflow Guide. Version 12.0

Job Scheduler User Guide IGSS Version 11.0

Bank Reconciliation: Improvements for the Shelby v5 Spring 2006 Release

How to Configure and Use MRP

Microsoft Office Access 2007 Basics

Outlook Quick Steps & Rules

Results CRM 2012 User Manual

Server & Workstation Installation of Client Profiles for Windows (WAN Edition)

Contents COMBO SCREEN FOR THEPATRON EDGE ONLINE...1 TICKET/EVENT BUNDLES...11 INDEX...71

Utility Billing Software Version 10 +

Managing Your Bard Account

EMMA Application v. 4.9 User Manual

IFAS 7i Department Accounts Payable

ADVANCED OUTLOOK 2003

SES Project v 9.0 SES/CAESAR QUERY TOOL. Running and Editing Queries. PS Query

MOTOR CARRIER SERVICES MoDOT Carrier Express 24-Hour Online System

How To Create A Database For Employee Records In A Club Account In A Computer System In A Cell Phone Or Cell Phone With A Cell Computer (For A Cell)

TRUST Online u s e r g u i d e v e r s i o n 8. 4 O c t o b e r

SmartLink for Outlook User Guide

Use the Microsoft Office Word Add-In to Create a Source Document Template for Microsoft Dynamics AX 2012 WHITEPAPER

UTILITIES BACKUP. Figure 25-1 Backup & Reindex utilities on the Main Menu

CASE TOOLS. Contents

Nortel Networks Symposium Call Center Web Client Supervisor s Reference Guide

To add files to your , first create the . When you have opened a new

Customer Relations Management

To export data formatted for Avery labels -

GUIDE FOR SORTING RX HISTORY REPORTS IN MICROSOFT EXCEL

Backup Tab. User Guide

Backup Tab. User Guide

Claims Manager. Accident Claim Tracking Made Easy

Critical Care EEG Database Public Edition. User Manual

IBM Maximo Asset Management IBM Tivoli Asset Management for IT IBM Tivoli Service Request Manager. Version 7.1. Workflow Implementation Guide

COINS User Guide: Human Resources Training Manual

Financial Processing Journal Voucher (JV)

Introduction to Microsoft Access 2003

Creating an Expense Report from a Blank Report Form. These instructions are designed for those who do NOT need a Travel Authorization.

SIMMS. Contact Manager Manual. Table of Contents. What s New in the Contact Manager. Contact Management

Modifier with Visual Basic with Applications (VBA) in Microsoft Dynamics GP 9.0

Getting Started with Web Based Data Reporting. November, 2005

Creating International Wire Transfer Payments Reference Guide

Webmail User Guide. The Webmail Window. Logging In to Webmail. Displaying and Hiding the Full Header. Printing an . Composing a New

Microsoft Dynamics GP. Extender User s Guide

Deposit Direct. Getting Started Guide

Creating tables of contents and figures in Word 2013

COMMUNICATIONS... 1 COMMUNICATIONS...

Sage Abra SQL HRMS Setup. User Guide

ImageNow Document Management Created on Friday, October 01, 2010

Procurement Management User Guide

Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or

Merging Labels, Letters, and Envelopes Word 2013

Creating Cost Recovery Layouts

Nexsure Training Manual - Accounting. Chapter 6

Transitioning from TurningPoint 5 to TurningPoint Cloud - LMS 1

Transcription:

Unit Testing Scenario and Sample Unit Test Plan Version 2.3 May 1999 The following example follows one portion of an application from specification to turning the code over to Quality Assurance. In each phase there are examples of what is traditionally expected. If your organization adheres to methodology that is different from this one, then evaluate each step to determine that it is accomplished somewhere in your development cycle. Phases: I. Specification II. Specification review III. Customer review IV. Writing the unit test plan V. Coding/Testing considerations VI. Unit test cases VII. Unit test plan review VIII. Move to Quality Assurance PHASE I: Specification Identification: MOMS - Mail Order Management System APE - Task #12, Address and Profile Entry Processing Primary Functions: References: This module will perform the following functions: A. Add a new customer B. Modify an existing customer C. Delete a customer D. Allow profile entry E. Prevent duplicate entries MOMS Data Dictionary, release #42 Button Definition Standards, release #6 Standard Field Tests, release #9 1 of 13

Functionality: The address and profile processing routine is used by the Order Entry operators. The information on the screen must be completed before orders and payment information can be entered. The entry screen may be accessed from: A. Order Entry main menu selection 1: Enter a new customer B. Mail List Entry, Add option All entries must contain sufficient information to create mailing labels for use in the United states and Canada. Profile information will be included only when it is available. The source code must be included for every entry. No duplicate entries are permitted. capitalization will be employed. The standard rules of Address Information Screen 2 of 13

PHASE II: Specification Review Quality Assurance jointly reviewed this specification with the programmer. The following assumptions must be confirmed: 1. The entry screen may be accessed from two sources, not just order entry. The list maintenance group will also have access. 2. The information on this screen must be present to add orders and payment information. The sequence of entry is not clear. We will permit orders to be entered before or after address information. Orders will not be fulfilled without all of the information and a message will be displayed to this effect if the situation arises. This is covered in more detail in the order processing module. 3. Sufficient information to create a mailing label, will be treated to mean that the minimum amount of information will be: A. Last Name B. Address Line 1 C. City D. State or Province Zip or Postal Code, while desirable, is not a required entry. 4. If the source code is not known, it is acceptable to enter Unknown. 5. Incomplete entries will be placing in a pending database to be completed when information is available. Entries in the pending file will be deleted automatically after 45 calendar days. 6. Testing for duplicate entries will be performed as follows. An entry is considered a duplicate if the First Name, Last Name, Address Line 1 and State/Province entry matches an existing database record. The State/Province entry must match exactly (it is always forced to uppercase). The Last Name entry will only examine the first five characters for duplication; the same is true for the Address Line 1 comparison. Potential duplicates, based upon name and address, will be displayed and the operator will be allowed to make a determination concerning duplicates. 3 of 13

7. Since we do not have a document to identify the standard rules of capitalization, we will make all entries in upper and lowercase with the exception of State/Province which is always a two letter capitalized abbreviation. 8. Titles such as Mr., Ms., Mrs., etc., will be placed in the First Name field. The same is true of middle initials. Jr., III type entries will be acceptable in the Last Name field. 9. First initials may be used in lieu of full first names. They should be entered with a period, for example: use S. not S 10. Income Level and Source Code will use drop down tables. 11. No special authorization is required to delete from the database. Names will not be deleted if there are any pending activities (payments, orders, etc.). All deleted names will be placed in a temporary file, from which they can be retrieved. They will remain in the temporary file for 18 months and then be deleted permanently. 12. Messages will be displayed when there is incomplete information on the screen giving the operator an opportunity to correct the entry. 13. Relational editing will take place after all entries are made, fields are individually validated whenever possible. PHASE III: Customer Review 1. Zip/Postal Code is required. The US +4 may be omitted. 2. We will make multiple deliveries (more than one label) to the same Last Name and street address if there are more than two adults (number in household minus children greater than 2). Examine Address Line 2 to see if the address is a second apartment in the same building. 3. Please display a confirmation message on the screen after each entry. The message should be displayed for 1 second and go away without any operator action. If there is a problem with the entry, display a message that remains on the screen until the operator takes action. All of the assumptions in PHASE II, are acceptable with the above exceptions and additions. 4 of 13

PHASE IV: Writing the Unit Test Plan I. Introduction Description: APE, Address and Profile Entry processing is an integral part of list management and will be responsible for all names added to the catalogue database. Risks and contingencies: This module is required to implement the system and must be completed before other down line features can be tested. If this module is delayed in development or testing, the entire project will be delayed. Note that this task is on the critical path. Test strategy and approach: Field testing will be performed manually and functional tests will be written in detail to be turned over to the automation test team. Test data will be taken from the MOMS Test Partition located on the Test Server. Coverage requirements: 100% statement coverage. Standard (Release #9) tests will be performed on all character, date, and numeric entries. Assumptions: All assumptions are identified and confirmed in PHASE II and PHASE III. These sections are included in this document. Test objectives: All field entry must work properly, the module must be activated from the identified menu or button. This module is used extensively and the entry screen, messages, and responses must not be delayed. Features to be tested: Verify that the Add, Modify, Delete, and Exit buttons work. No duplicate entries. Demonstrate that the correct context sensitive Help screens (by screen number) are displayed. Features that will not be tested (and why): The content of the Help screens will be tested by the Training Department. II. Unit Walkthrough A structured walkthrough is presently scheduled. The complexity of the module does not warrant a review by itself, but the risk associated with it not working suggests that the review must take place. Participants in this review should include: testers, programmers, and support analysts. The order entry group should send at least one observer. 5 of 13

III. Tests, Scripts and Cases Unit Tests U1: Verify last name entry. U1-S1: U1-S2: U1-S3: U1-S4: U1-S5: Last name is a required field. Attempt to enter a record with all entries except last name. Last name may not exceed 35 characters. Submit a record with all fields completed and a last name of 36 characters. Hyphens and apostrophes are permitted, but may not be the first character or the last character, and they must not appear in pairs. Attempt to enter a last name with a leading apostrophe; a trailing hyphen; a pair of hyphens in the middle of the name. Enter a last name with a hyphen in the middle. Enter a last name with a space-hyphen-space sequence in the middle and verify that the spaces are removed when exiting the field. U2: Verify first name entry. U2-S1: U2-S2: U2-S3: First names without last names are not permitted. Insert a title such as Ms. or Mr. with the first name. First name may not exceed 20 characters. Submit a record with all fields completed and use a first name of 21 characters. U3: Verify address entry. U3-S1: U3-S2: Verify that if address line 2 is used when address line 1 is not, line 2 automatically moves to line 1, when the Add button is clicked. Verify that address is treated as a required entry. U4: Verify City, State/Province, Zip/Postal code entry. U4-S1: U4-S2: Verify that when a Zip/Postal code is entered that is not found in the Master Code database, an error message is displayed. Verify that these fields are treated as required entries. 6 of 13

U5: Verify income level entry. U5-S1: U5-S1: Enter a value from 0 to 5 and demonstrate that the corresponding dollar amounts are displayed. Make an entry using the drop down table. A sample screen follows: U6: Verify household member entry. U6-S1: U6-S2: U6-S3: U6-S4: Verify that this field may be left blank when no information is available. Verify that when this number exceeds 10 a warning message appears. Verify that this field contains a numeric entry or spaces. Verify that the number of children is always less that the total number in the household. 7 of 13

U7: Verify source code entry. U7-S1: U7-S2: Verify that only entries from the drop down table are permissible. Verify that the point-and-shoot table works. U8: Verify that duplicate entries cannot be made. String Tests (Low level Integration) S1: Verify that the module can be accessed from the Order Entry main menu. S2: Verify that the module can be accessed from the Mail List entry Add button. 1. Single click 2. Ctrl-A 3. <Enter> 4. <Space bar> S3: Verify that name and address entries are found in the Catalogue database. S4: Use the filtering features of the List Selection Program. IV. Test Execution and Support Platform and environment Platforms will include microcomputers with a minimum of 32 megabytes of memory and using either Windows 95 or NT (all versions.) The application will run on the corporate network. Progress measures and reporting Status reports will be delivered at the weekly Friday meetings. The report will include: defect counts and identify the number of completed tests and the count of severe, moderate, and minor defects. 8 of 13

PHASE V: Coding/Testing Considerations APE, task #12, will be treated as a single unit. Our definition of a unit of code is: an amount of code that is independently testable. Additional tasks Test coverage: At least one positive and one negative test on all screen entry fields. 100% statement coverage for functional areas; 35% coverage for error handling routines. Library routines will be minimally tested with library scripts. String testing will include all modules. Automation: Our capture playback tool will be used to record all tests for documentation. All test setups will be automated. Static analysis (path, dead code, redundant code) will be reviewed daily. Code Management: Integration: Source control will be utilized. Version control will be utilized. Will submit code for Tuesday and Friday builds. 9 of 13

PHASE VI: Unit Test Cases Last Name Tests Test Test Initial State Test Expected Result No. ID 1 U1-S1-C1 Valid entry in all Erase the last name and Error 101: Last name is a fields. click Add. required field. 2 U1-S2-C1 Valid entry in all Enter a last name with 35 Name is accepted, record fields. characters and no spaces. is added and a clear input Click Add. screen is displayed. 3 U1-S2-C2 Valid entry in all Enter a last name of 36 Error 103: Last name may fields. characters and no spaces. not exceed 35 characters. 4 U1-S3-C1 Valid entry in all Enter a last name in the Name is accepted, record fields. form: X Xxxxx is added and a clear input screen is displayed. 5 U1-S3-C2 Valid entry in all Enter a last name in the Error 107: First character fields. form: Xxxxx must be a letter. 6 U1-S3-C3 Valid entry in all Enter a last name in the Name is accepted, record fields. form Xxxx-Xxxxxx. is added and a clear input screen is displayed. 7 U1-S3-C4 Valid entry in all Enter a last name in the Error 107: First character fields. form -Xxxxxxx must be a letter. 8 U1-S3-C5 Valid entry in all Enter a last name in the Error 111: Last character fields. form Xxxxxxx- must be a letter. 9 U1-S3-C6 Valid entry in all Enter a last name in the Name is accepted, record fields. form Xxxx-Xxxx-Xxxx is added and a clear input screen is displayed. 10 U1-S3-C7 Valid entry in all Enter a last name in the Automatically correct and fields. form Xxxx--Xxxxx redisplay entry with single hyphen; Name is accepted, record is added and a clear input screen is displayed. Similar state-transition matrices are created for each of the test scripts. 10 of 13

PHASE VII: Unit Test Plan Review The walkthrough participants included Quality Assurance, Programming, and Support. The test plan appears to be thorough and we believe it provides adequate coverage. Coding can now begin. 11 of 13

PHASE VIII: Move to Quality Assurance A unit test package is completed for the application and System Testing is notified that the application is ready to be released to their group. Unit Test Package Compiles with production compiler options (no warning messages). Version control applied. All tests in the unit test plan have passed. Code walkthrough completed. Acceptable complexity levels. Follows department coding standards. Documentation complete. Source code uses comments. Diagrams have been added to the specification. 100% statement coverage in testing. Changes to JCL required. Test databases or other data structures modified. No undocumented features in program. Source control entered. All sign-offs complete. All scheduled reviews performed. Y2K compliant. 12 of 13

Additional notes and comments: L The contents of the unit test package are negotiated between the testing organization and the development team. L When reviewing specifications, it is more productive to return them with a list of assumptions as opposed to a series of questions. It may not be clear to the author why you have a question and precisely what you do not understand. L It may be useful to add additional columns to the state -transition matrices used to identify the unit test cases. For example you may want to include columns to record testing platforms or suitability to be included in the regression test. Test Id Initial State Test Expected Win WFW Win Win Win Result 3.1 3.11 95 98 NT 4 1: U1-S1-C1 Valid entry Erase the last Error 101: Last in all fields. name and click name is a NA T T add required field L Test automation may require more detail than the example above. For example, a procedure may be required. U1-S1-C1 Procedure: 1. Start Mail Order Management System, MOMS100, from test partition SysTestOne. 2. Press Alt-O, for Order Entry menu. 3. Press Alt-A, for Add New Customer. 4. Enter all fields using the Fratelli customer template. 5. Press Tab after entering Source Code to position the cursor back to the Last name field. 6. Press the Delete key 8 times to delete the last name. 7. Single click the Add button. 8. Verify that error dialogue box is displayed in the center of the entry window with Error 101: Last name is a required field. 9. Click OK in the error dialogue box and verify that it is removed and the cursor returns to the Last name field. 13 of 13