70

Test Design_ Training Material

Embed Size (px)

Citation preview

Page 1: Test Design_ Training Material

Company Confidential 1

Company Confidential 2

Test DesignVampV CoE

Company Confidential 3

Pre-requisites

The participants have attended amp completed the course for

bull Art of Software Testing

bull Task Based Approach

Recommended ndash Understanding of

bull Use Case Diagram

bull Domain Model E-R Diagram

Company Confidential 4

Evolution of Test Design Techniques

Risk Based Test Design

Art of Software Testing

Task Based Approach

Use Case Interaction

Company Confidential 5

Table of Contents

bull Test Design ndash Definition amp Introduction bull Test Design Tools Techniques bull Functional Testing bull Business Process Testing

o Use Case Diagram o Developing test scenarios from

Use Case Interaction Matrix Entity Interaction Matrix Use Case ndash Entity Interaction Matrix

o Role Based Access Testing o System Testing

bull Requirements Verification o Eight point check o Traceability Matrix

bull Risk Based Testing o Risk Identification o Risk Assessment o Risk Value Calculations o Test Prioritization

bull Case Study

Company Confidential 6

Test Design ndash Definition amp Introduction

bull Test design is a technique for creating developing effective and efficient test cases

bull Many of the elemental design components can be chained together into anall- encompassing test design that executes a series of test cases

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 2: Test Design_ Training Material

Company Confidential 2

Test DesignVampV CoE

Company Confidential 3

Pre-requisites

The participants have attended amp completed the course for

bull Art of Software Testing

bull Task Based Approach

Recommended ndash Understanding of

bull Use Case Diagram

bull Domain Model E-R Diagram

Company Confidential 4

Evolution of Test Design Techniques

Risk Based Test Design

Art of Software Testing

Task Based Approach

Use Case Interaction

Company Confidential 5

Table of Contents

bull Test Design ndash Definition amp Introduction bull Test Design Tools Techniques bull Functional Testing bull Business Process Testing

o Use Case Diagram o Developing test scenarios from

Use Case Interaction Matrix Entity Interaction Matrix Use Case ndash Entity Interaction Matrix

o Role Based Access Testing o System Testing

bull Requirements Verification o Eight point check o Traceability Matrix

bull Risk Based Testing o Risk Identification o Risk Assessment o Risk Value Calculations o Test Prioritization

bull Case Study

Company Confidential 6

Test Design ndash Definition amp Introduction

bull Test design is a technique for creating developing effective and efficient test cases

bull Many of the elemental design components can be chained together into anall- encompassing test design that executes a series of test cases

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 3: Test Design_ Training Material

Company Confidential 3

Pre-requisites

The participants have attended amp completed the course for

bull Art of Software Testing

bull Task Based Approach

Recommended ndash Understanding of

bull Use Case Diagram

bull Domain Model E-R Diagram

Company Confidential 4

Evolution of Test Design Techniques

Risk Based Test Design

Art of Software Testing

Task Based Approach

Use Case Interaction

Company Confidential 5

Table of Contents

bull Test Design ndash Definition amp Introduction bull Test Design Tools Techniques bull Functional Testing bull Business Process Testing

o Use Case Diagram o Developing test scenarios from

Use Case Interaction Matrix Entity Interaction Matrix Use Case ndash Entity Interaction Matrix

o Role Based Access Testing o System Testing

bull Requirements Verification o Eight point check o Traceability Matrix

bull Risk Based Testing o Risk Identification o Risk Assessment o Risk Value Calculations o Test Prioritization

bull Case Study

Company Confidential 6

Test Design ndash Definition amp Introduction

bull Test design is a technique for creating developing effective and efficient test cases

bull Many of the elemental design components can be chained together into anall- encompassing test design that executes a series of test cases

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 4: Test Design_ Training Material

Company Confidential 4

Evolution of Test Design Techniques

Risk Based Test Design

Art of Software Testing

Task Based Approach

Use Case Interaction

Company Confidential 5

Table of Contents

bull Test Design ndash Definition amp Introduction bull Test Design Tools Techniques bull Functional Testing bull Business Process Testing

o Use Case Diagram o Developing test scenarios from

Use Case Interaction Matrix Entity Interaction Matrix Use Case ndash Entity Interaction Matrix

o Role Based Access Testing o System Testing

bull Requirements Verification o Eight point check o Traceability Matrix

bull Risk Based Testing o Risk Identification o Risk Assessment o Risk Value Calculations o Test Prioritization

bull Case Study

Company Confidential 6

Test Design ndash Definition amp Introduction

bull Test design is a technique for creating developing effective and efficient test cases

bull Many of the elemental design components can be chained together into anall- encompassing test design that executes a series of test cases

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 5: Test Design_ Training Material

Company Confidential 5

Table of Contents

bull Test Design ndash Definition amp Introduction bull Test Design Tools Techniques bull Functional Testing bull Business Process Testing

o Use Case Diagram o Developing test scenarios from

Use Case Interaction Matrix Entity Interaction Matrix Use Case ndash Entity Interaction Matrix

o Role Based Access Testing o System Testing

bull Requirements Verification o Eight point check o Traceability Matrix

bull Risk Based Testing o Risk Identification o Risk Assessment o Risk Value Calculations o Test Prioritization

bull Case Study

Company Confidential 6

Test Design ndash Definition amp Introduction

bull Test design is a technique for creating developing effective and efficient test cases

bull Many of the elemental design components can be chained together into anall- encompassing test design that executes a series of test cases

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 6: Test Design_ Training Material

Company Confidential 6

Test Design ndash Definition amp Introduction

bull Test design is a technique for creating developing effective and efficient test cases

bull Many of the elemental design components can be chained together into anall- encompassing test design that executes a series of test cases

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 7: Test Design_ Training Material

Company Confidential 7

Test Design - Introduction (Contd hellip)

In the IT industry often two groups of people are doing Software Testing

bull The Developers who build the software application want to make sure the final

product works as intended

bull The end users who will be using the final product do ad-hoc testing based on their

work experience

bull The testing done by developers is done from technical perspective without relating

back to the business

bull End users make assumptions of how the application should work that come from their

individual needs and ideas Their approach is more trial and error than systemized

testing and hence can create lot of rework

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 8: Test Design_ Training Material

Company Confidential 8

Test Design - Introduction (Contd hellip)

Integration of STLC with SDLC

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 9: Test Design_ Training Material

Company Confidential 9

Functional Testing

In the context of todayrsquos presentation

bull A business function is a Unit By Unit testing we refer to testing a business function

For Example ndash

The MS Outlook application can have following business Functions-

1 SendReceive Mail2 Delete Contacts3 EditUpdate Contacts 4 Assign Calendar5 Create Appointment 6 Request Meeting

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 10: Test Design_ Training Material

Company Confidential 10

bull We test each Function independently as soon as it has passed Unit testing from

Developerrsquos point of view

Entry Criteria For Functional Testing

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 11: Test Design_ Training Material

Company Confidential 11

Functional Testing Techniques

bull Each component in the application should be tested for functional correctness

bull The techniques that can be used for testing functionality are Test Cases from Use cases

Field level and Form level validation test cases

bull Each function will be tested for its functionality as well as its integration with other

business functions

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 12: Test Design_ Training Material

Company Confidential 12

Exit Criteria For Functional Testing

Quality gates for the Business Function Tests are

bull All planned test cases have been executed

bull All incidents have been logged as defects

bull All identified defects have been resolved

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 13: Test Design_ Training Material

Company Confidential 13

Business Process Test

Entry Criteria for Business Process Testing - All functional tests have been carried out

What is Business Process Testing

Testing the full business process from the start to completion with focus on the correct implementation of the interfaces between the business functions is Business Process Testing

Login

Send a MailAdd a Contact

Exit

Login

Assign TaskAdd a Contact

Exit

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 14: Test Design_ Training Material

Company Confidential 14

Business Process Test (Contd hellip)

bull When it comes to business process test we need to make sure that we test various

business function sequences

For example

Login -gt Add Contact -gt Send Mail -gt Exit

bull It is important to test each possible combination between business functions at least

once For Example below is a combination of different business functions which needs

to be tested

Login -gt Adding Contacts -gt New Distribution List -gt Send Email -gt Exit

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 15: Test Design_ Training Material

Company Confidential 15

Business Process Test (Contd hellip)

bull The focus is on transition from one business function to next and not to functional

correctness of the single business function

For example

Login -gt Assign Calendar -gtCreate Appointment -gtAdd Contact -gtExit

Login -gtAssign Calendar -gtRequest Meeting -gt Add Contact -gtExit

Each Business Function can be treated as a Use Case

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 16: Test Design_ Training Material

Company Confidential 16

What is Use Case Interactions

bull Use Case Interactions depict the relationships among

the Use Cases in a system

bull Use Case Interactions is a technique used to capture functional requirements of complex systems composed of many features

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 17: Test Design_ Training Material

Company Confidential 17

Testing Use Case Interactions

Why to test Use Case Interactions

bull Use Case Interactions provide the basis to validate the integration among various Use cases of an Application Hence test based on Use Case Interactions helps to perform User Acceptance Test in an effective manner

bull Study of use case interactions helps us to validate intended interactions as well as detects un-intended interactions

When to Test Use Case Interactionsbull Use case interactions are identified and specification of the interactions is captured

after related use cases are unit-tested

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 18: Test Design_ Training Material

Company Confidential 18

Use Case Relationships Symbol

Includes One Use Case uses (includes) the services

(behaviors) specified by another Use Case It is similar to a

common sub routine which can be called from many places

Uses In Uses relationship the scenario of one Use Case is

not only a part of another Use Case but also a pre condition

for the other Use Case

Extends In an extend relationship between two use cases

the child (Optional) use case adds to the existing

functionality and characteristics of the parent use case

Create New Order

Lookup Item avail

ltltincludesgtgt

Withdraw Money

Make Express Withdrawal

ltltextendsgtgt

Withdraw Money

Authenticate Customer

ltltusesgtgt

Use Case Diagram ndash Symbols amp Notations

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 19: Test Design_ Training Material

Company Confidential 19

What Is a Use Case Diagram

A use case diagram displays the relationship among actor and use cases in asystem

Use Case Interactions from Use Case Diagram bull Obtain various kinds of interactions from Use Case Diagram bull The relationships shown in the use case diagram tell how the different use cases are

interacting with each otherbull Use Case Interactions detected from use case diagram help structuring and integrating

test scenarios to validate these relationships

Input Document For MS Outlook

Use Case Diagram For MS Outlook

InputDoc for MSOutlook

UCD for MSOutlook

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 20: Test Design_ Training Material

Use Case- Description for MS-Outlook Example S No Use Case Description

1 Add Contact User can add Name(s) of people their numbers Email Ids and this

information can be saved in the Contact Details One or more Email Ids work numbers as well as residential numbers can be saved

2 Delete Contact

User can delete the name of a personcontact from the contact details

3 Edit Contact User can edit the Contact details for a particular person like name phone

number Email Id Task Appointment and Meeting assigned to the contact can be changed

4

Send Mail Mail can be sent to a contact from the contact details after verifying email id from the Contact details Attachments can be sent to a person (or a group of people in case of a distribution list)

5 Receive Mail Looks up the contact details and displays the mail message senderrsquos name as stored in the contact details (if it exists in the contact list of the user)

6 Create Distribution List

Refers to contact details for creating a distribution list

7 Assign Calendar User assigns date amp time in order to request meetings assign tasks and verify the schedules of the contacts for the appointments

8 Assign Task User assigns a task to the contact with details like required date time and schedule from the calendar for the particular contact

9 Make Appointment

User gets the appointment created with all the specifications like day time intended contact and the request approval from the contact

10 Make a Meeting Request

User creates a Meeting Request with all the specifications like day time intended contact and the request approval from the contact

11 Verify Address Verify Email Address from Contact list if it exists in the contact list It also verifies whether the email id specified is correctly formed

kulkarmr
File Attachment
InputDocument_MSOutlookpdf

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 21: Test Design_ Training Material

Example - Use case Diagram for MS-Outlook

Add Contact

Assign Calendar

Delete Contact

ltltusesgtgt

Edit Contact

ltltusesgtgt

Send Mail

ltltincludesgt

Receive Mail

Make Appointment

ltltincludesgtgt

Assign Task

Userltltusesgtgt

Create Distribution List

ltltincludesgt

ltltincludesgt

Verify address

ltltusesgtgt

ltltincludesgt

ltltincludesgt

ltltusesgtgtltltextendsgtgt

Make a meeting request

kulkarmr
File Attachment
UseCaseDiagram_MSOutlookpdf

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 22: Test Design_ Training Material

Company Confidential 20

Use Case ndash Use Case Interactions Matrix

bull Derive Use Case ndash Use Case Interaction Matrix which captures the explicit interaction among the Use Cases of a system

Use Case ndash Use Case Matrix

Use Case 1

Use Case 2

Use Case 3

Test for Validating the

InteractionsAmong the Use cases

Interactions among Use Cases

Extends

Uses

Includes UC-UC Interaction Matrix

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 23: Test Design_ Training Material

Use Case -Use Case Interaction Matrix

Use CaseUse Case

Send Mail

Receive Mail

Add Contact

Delete Contact

Edit contact

Assign Calendar

Make Appointment

MakeMeeting Request

Verify Address

Create Distribution List Assign Task

Send Mail Receive Mail Add ContactDelete Contact Edit Contact Assign CalendarMake Appointment Make A Meeting Request Verify Address Create Distribution List Assign Task

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 24: Test Design_ Training Material

From the Use Case Interaction Matrix we will now identify different Test Scenarios to creats Test Cases

Sr No Test Scenario Description Expected Result

1

Sending mails includes adding contacts

User specifies the e-mail address of the contact adds the email id in his contact list and sends a mail to the added contact

The contact should be added and the user should be able to send the mail to the added contact

2

Mails can be received from the added contacts

User specifies the e-mail addressThe email id is added inthe contact listUser recieves mail from the email id which is added in the contact list

Mails can be recieved from the e-mail id thatrsquos added in the contact list

3A contact can be deleted from the added contact list

User specifies the email id and deletes it from the added contact list

User should be able to Delete a contact from the added contact list

4A contact can be edited from the added contact list

Specify the email id and contact added in the contact list and edit information for that contact

User should be able to Edit an added contact

5An appoointment can be created for an added contact

Specify the email id and a contact from the contact list and create an appointment for that contact

User should be able to create an appointment for the contact added

6

An appointment can be created using the default calendar settings

User specifes the contact from the contact list User then specifies date and time using the calendar for the specified contact

User should be able to create an appointment using the calendar for the selected contact

7

A meeting can be scheduled for an added contact

Specify the email id and a contact Schedule a meeting for that contact added in the contact list

User should be able to schedule a meeting for the specified contact added

8

Meeting can be scheduled by creating an appointment for the added contact

Specify the appointment details for the selected contactSchedule a meeting for the contact

The meeting should be scheduled for the selected contact

9

Addresses can be verified for the contacts added

Specify the email id and address for a particular contact and verifies the correct address is saved for the contact

The address for the added contacts can be verified

10

A Distribution list can be created by adding contacts

User adds contacts with their email ids numbers addresses and creates a distribution list for sending multiple emails

User should be able to create a distribution list for added contacts in the contact list

11

Tasks can be assigned to the added contact

Specify the email id and a contact from the added contact list Assign a task to the specified contact

The user should be able to assign task to the selectedspecified contact

12A task can be made by assigning a task

User makes a task and assigns it to the contact added in the contact list

User should be able to create a task and assign it to the contact

  • UseCase_Interactions
  • TestScenarios
    • kulkarmr
      File Attachment
      Copy of UseCaseInteractionMatrix_MSOutlook_1pdf

      Company Confidential 21

      Testing Use Case Interactions (Contd hellip)

      bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

      of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

      optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

      Requirement Traceability

      Company Confidential 22

      Advantages of Use Case Interactions

      bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

      bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

      bull Detection of required interaction bull Avoidance of undesirable interactions

      Use Cases Interactions must be validated by the Business Users or the Client

      Company Confidential 23

      What is an Entity

      bull An entity is a thing of significance either real or conceptual (person place or thing)

      about which the business or system being modeled needs to hold information

      bull An entity is a self-contained piece of data that can be referenced as a unit

      bull An Entity represents a discrete object

      Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

      to a physical table on database level

      Company Confidential 24

      What is Entity Interactions

      bullEntity Interactions depict the relationships among different entities in a system

      bullEntity Interactions is a technique used to capture functional data flow between

      different entities in a system

      For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

      Tasks are entities

      Company Confidential 25

      Entity Interactions (Contd hellip)

      Why to test Entity Interactions

      bull Entity interactions depict integration between different entities in the system

      bull Testing integration between the entities help functional data flow testing of the system

      bull Hence the tests based on Entity Interactions help integration testing of the system

      When to test Entity Interactions

      bull When the system is complex with number of entities integrated together entity

      interactions would be helpful

      bull Entity interactions are tested when entities involved in the system are unit-tested

      Company Confidential 26

      What is a Domain Model

      bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

      bull Domain model for a system will display relationship between different entities in a system

      Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

      Company Confidential 27

      Entity Interactions from Domain Model

      User SendsReceive Mails

      Contacts

      MaintainsSendReceive

      Tasks

      Assigns

      Allocated to

      Calendar

      AppointmentCreates

      Is scheduled from

      MeetingOrganizes Send to

      Sendreceive

      Company Confidential 28

      Entity-Entity Matrix

      bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

      bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

      Entity - Entity Matrix

      Entity 1

      Entity 3

      Entity 2

      Entity 4

      Relationship among Entities

      Used ForDetecting the

      Implicit Interactions

      E2E Matrix

      Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

      • Entity-Entity Matrix
        • kulkarmr
          File Attachment
          EntityInteractionMatrix_MSOutlook_1pdf

          Company Confidential 29

          Use Case ndash Entity Interactions

          bull Use case and entity interactions depict relationship between use case and different

          entities in a system

          bull This relationship will show how the use case and different entities in the system interact

          with each other

          bull There can be many entities interacting with a single use case in a system

          Company Confidential 30

          Use Case - Entity Interactions (Contd hellip)

          Why to test use case and entity interactions

          bull Use case and entity interactions will help us test integrations between a use case and

          different entities in the system

          bull It will help in the functional testing of a system

          When to test use case and entity interactions

          bull Use case and entity interactions are tested when there are many entities integrated with

          one or more use cases

          bull Use case and entity interactions are tested when use cases and entities in a system are

          unit tested

          Company Confidential 31

          Use Case-Entity Matrix

          bull Use Case-Entity matrix shows association between different use cases and entities of the system This

          matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

          would be useful for Impact Analysis

          Use Case - Entity Matrix

          Entity 1

          Entity 2

          Use Case 1

          Use Case 2

          Use Cases and the Participating Entities

          Used ForDoing Impact

          Analysis UC2Entity

          Use Case to Entity Matrix Use Case

          Entity Send Mails

          Receive Mails

          Add Contacts

          Delete Contacts

          Edit contacts

          Assign Calendar

          Create Appointment

          MakeMeeting Request

          Verify Address

          Create Distribution

          ListAssign Task

          Make Task

          RequestCalendar Appointment User Mails Tasks Contacts Meeting

          • Sheet1
            • kulkarmr
              File Attachment
              UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

              Company Confidential 32

              Exit Criteria For Business Process Test

              Possible quality gates for Business Process Test are

              bull All end to end processes can be executed

              bull A workaround exists for all defects found

              Company Confidential 33

              Role Based Access Testing

              What is Role Based Access Testing

              Role Based Access Testing is where permissions are associated with roles and users are

              assigned to appropriate roles

              Where

              Permissions Is an approval of a particular mode of access to one or more objects in the

              system Permissions can apply to single or many roles

              Example- Read access to a particular file or generic as read access to all files

              belonging to a department

              Company Confidential 34

              Role Based Access Testing (Contd hellip)

              Role Is a function or job title written within the organization with some associated

              semantics regarding the authority and responsibility conferred on a member of the role

              User A user in this model is a human being The concept of users can be generalized

              Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

              of instructions

              bull A User can be a member of many roles and a role can have many users

              bull A Role can have many permissions and the same permission can be assigned to

              many roles

              bull The key for Role Based Access Testing lies in these two relations

              Company Confidential 35

              Example Library Management system

              In the working of a library management system

              Different types of users are allowed to login and access the

              library facilities

              bull Only some users are allowed to lend an item from the system

              bull Only some users are allowed to use the library resources like printers

              bull Depending upon the access rights few users can add items (Books CD etc) to the

              system

              Company Confidential 36

              helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

              Task-Role-User Relationship

              User TasksRoles

              Anthony

              Nupur

              Monica

              Hemangi

              Manisha

              Add Items

              View Items

              Issue Items

              Search Items

              Use resources

              Librarian

              Student

              Student

              Visitor

              Visitor

              Company Confidential 37

              Understanding Task-Role Matrix

              bull Different Roles perform different Tasks

              bull Many Tasks can be performed by Many Roles

              bull For a given application the access rights are specified using the Task-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

              Nordquo indicates that role does not have access rights for that task

              bull This matrix acts as a specification for the design tests

              bullLibrarian has access to perform all the tasks

              bullStudent has access to perform some of the tasks only

              Company Confidential 38

              Understanding Role-User Matrix

              bull For a given application the access rights for user to perform a task is specified

              using the User-Role matrix

              bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

              Nordquo indicates that User does not have rights to perform the Role

              bull Tests can be designed based on this specification In doing so each and every

              cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

              matrix tests are prepared

              The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

              bull Many Users can perform Many Roles

              Company Confidential 39

              Exit Criteria For Role Based Access Test

              Possible quality gates for Role Based Access Test are

              bull All access rights adhere to the specifications

              bull A workaround exists for all defects found

              Company Confidential 40

              System Test

              System Test makes various applications work together as the business process requires

              Goals of system test are

              bull Functional Correctness All interfacing applications are in place and the application

              functions correctly in the defined environment

              bull Usability The product can be employed by users to achieve specified goals

              effectively and efficiently in a specified context of use

              bull Reliability The system can perform and maintain its functionality in routine

              circumstances as well as in hostile or unexpected circumstances

              bull Accessibility A system is usable by as many people as possible with modification

              Company Confidential 41

              Exit Criteria For System Test

              Possible quality gates for system test are

              bull All end to end processes can be executed

              bull No severe defects exist

              Company Confidential 42

              Case Study - 1

              Tasks

              bull Identify Use Cases amp Entities

              bull Create Use Case ndash Entity Interactions Matrix

              bull Create Use Case Interactions Matrix

              bull Create Entity Interactions Matrix

              Use Case Diagram For MS Project

              Domain Model Diagram for MS Project

              UCD for MS-Project

              DomainModel-MSProject

              Use case Diagram for MS-Project

              Create project

              Schedules task

              Entering tasks

              Sub-tasks

              Linking tasks

              User

              Removing tasks

              Manage resource

              Resource pool

              Update work

              Project manager

              Entering cost

              Viewing cost

              Budget Representative

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltIncludesgtgt

              ltltUsesgt

              ltltIncludesgtgt

              ltltIncludesgtgt

              ltltUsesgtgtltltUsesgt

              ltltUsesgtgt

              ltltUsesgtgt

              ltltUsesgtgt Calendar Setting

              ltltUsesgtgt

              • Use case Diagram for MS-Project
                • kulkarmr
                  File Attachment
                  UseCaseDiagram_MSProjectpdf

                  Domain Model for MS-Project

                  User Project

                  Task Resource Pool

                  Resource Cost

                  Budget Representative

                  1 Scheduled 1

                  1 Schedules

                  1hellip Creates 1

                  1 allots resources

                  1 get Scheduled 1

                  1 Manages resources

                  1 is allotted to 1

                  1 Consists of

                  1 Gets 1

                  1 Does

                  Schedules

                  Assigned 1 1 is allotted to

                  assigns

                  Base Calendar Resource Calendar

                  Assigned to 1

                  kulkarmr
                  File Attachment
                  DomainModel__MSProjectpdf

                  Company Confidential 43

                  Requirements Verification

                  Requirements Verification ensures that the system requirements are satisfied and also

                  that the technical derived and product requirements are verified

                  Software requirements are often called as specifications

                  In order to ensure test coverage we will be mapping requirements to the test cases

                  Company Confidential 44

                  Requirements Verification (Contd hellip)

                  Following steps are to be taken for requirement Verification

                  bull Build a common reference or business analysts and IT Group similar user cases to form

                  one business function Split complex use case into two or more business functions

                  bull Link Requirements Here we can link requirements with appropriate business functions

                  bull For Example Login functionality for the Ms Outlook application will have requirements

                  related to login with Valid User name and password

                  Company Confidential 45

                  Requirements Verification (Contd hellip)

                  bull Add Proof Points are for requirements based on changes Each requirement must have

                  within it a statement of the acceptance criteria

                  For example Requirement must specify that New page is displayed after validating

                  user login

                  Company Confidential 46

                  Eight Point Check

                  It is advisable to do a check on the requirements received from the client The testing

                  team can take care of the following aspects ndash

                  The following guidelines can be used to verify requirements received from the client

                  Singular Consistent

                  Unambiguous Dependencies

                  Measurable Testable

                  Complete Traceable

                  Company Confidential 47

                  Eight Point Check (Contdhellip)

                  Singular

                  Donrsquot merge or link requirements The requirement must address one and only one

                  thing Break the requirements down into singular Units The usage of the word and to

                  combine two separate thoughts into one requirement If itrsquos two separate thoughts it

                  should be two requirements

                  Unambiguous

                  Anything that makes you think that there are at least two different ways of understanding

                  the requirement amp clarification sought is ambiguous

                  Example The HTML Parser shall produce an HTML markup error report which

                  allows quick resolution of errors when used by HTML novices

                  The word quick is ambiguous

                  Company Confidential 48

                  Eight Point Check (Contdhellip)

                  Measurable

                  Specific ranges and outcomes ndash no approximates Can you have an expected measurable

                  result It should be possible to construct an expected result for every requirement

                  Complete

                  No requirements or necessary information should be missing Completeness is also a

                  desired characteristic of an individual requirement It is hard to spot missing requirements

                  because they arenrsquot there

                  Example - ldquoThe product shall provide status messages at regular intervals not less than

                  every 60 seconds This requirement is incomplete as it leaves the following questions

                  unanswered Is the interval between status messages really supposed to be at least 60

                  seconds so showing a new message every 1 hour is okay

                  Company Confidential 49

                  Eight Point Check (Contdhellip)

                  Consistent

                  The requirement does not contradict any other requirement and is fully consistent with

                  all other project documentation

                  Dependencies

                  Clearly identify the dependency of your requirements on ndash

                  bull Any other requirement

                  bull On systems which are outside the scope of the project This is prevalent in

                  environments where inputs come from other systems Interface requirements

                  need to be clearly documented and signed off by all the stakeholders

                  Company Confidential 50

                  Eight Point Check (Contdhellip)

                  Testable

                  One of the major challenges we face during requirements gathering is the testability of a

                  requirement Very often customers come up with requirements that are not testable

                  To determine the testability of a requirement following questions can be asked -

                  bull Can we define the acceptance criteria for this requirement

                  If the answer is no then this requirement is not testable

                  bull Is this requirement clashing with any other requirement

                  If yes then the set of requirements are not testable

                  Example ndash The following requirement is not testable

                  10 The system shall be user-friendly

                  20 The user interface shall indicate the correct format for data input

                  Company Confidential 51

                  Eight Point Check (Contdhellip)

                  Traceable

                  You should be able to link each software requirement to its source which

                  could be a higher-level system requirement a use case or a voice-of-the-customer

                  statement or even a change request Also link each software requirement to the

                  design elements source code and test cases that are constructed to implement and

                  verify the requirement

                  Company Confidential 52

                  Requirements Traceability

                  bull Requirement traceability is a process of establishing the linkage between the

                  requirements and the testcases This helps the project in many ways

                  bull It indicates the extent of testing a requirement has undergone

                  bull It also gives a clear indication of how many requirements have gone live without

                  any testing

                  bull It also helps the testing team in identifying the impact of a requirement change

                  For example if a requirement is getting tested using 10 testcases a change

                  request will mean revisiting and retesting 10 testcases

                  Company Confidential 53

                  Requirements Traceability

                  Traceability Matrix - A table that documents the requirements of the system

                  for use in subsequent stages to confirm that all requirements have been met

                  Requirements Id Design Specification Program Specification Test Case ID Defect ID

                  Company Confidential 54

                  Risk Based Testing

                  Definition of Risk

                  Risk is the possibility of suffering harm or loss

                  In software testing we think of risk on three dimensions

                  bull A way the program could fail

                  bull How likely it is that the program could fail in that way

                  bull What the consequences of that failure could be

                  Company Confidential 55

                  Risk Identification

                  Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

                  Company Confidential 56

                  Risk Assessment

                  Damage or Business Impact Business Impact is defined in terms of the damage to the

                  business if a failure were to occur Each business function is checked with each criterion

                  The result of analysis will help us divide business Functions into impact categories High

                  Medium Low

                  Impact

                  Criteria High Impact Medium Low

                  Type of Process

                  Calculation

                  Validation

                  Change of data Display

                  Business Implication Legal Wrong information None

                  Frequency of use Very often Often Rare

                  Number or

                  Significance of Users

                  Large number

                  Very important

                  Group Some

                  Company Confidential 57

                  Risk Assessment (Contdhellip)

                  Type Of Process

                  This criterion has the following possible values

                  Calculation Validation - The feature represented by the requirement is an important

                  calculation or validation

                  Data Change - The feature represented by the requirement modifies application data

                  Display - The feature represented by the requirement modifies the application display

                  Company Confidential 58

                  Risk Assessment (Contdhellip)

                  Business Implication

                  The impact to the business if the requirement is not met

                  This criterion has the following possible values

                  Legal - There may be legal consequences

                  Wrong Information - The user may receive inaccurate information but this

                  would not have legal consequences

                  No Impact - The business would not be affected

                  Company Confidential 59

                  Risk Assessment (Contdhellip)

                  Frequency of Use

                  How often the feature represented by the requirement is used

                  This criterion has the following possible values

                  Very often - The feature is used very often

                  Often - The feature is used relatively often

                  Rare - The feature is rarely used

                  Company Confidential 60

                  Risk Assessment (Contdhellip)

                  No or Significance of Users

                  This criterion has the following possible values

                  ManyHigh - The requirement affects many users or users with high importance

                  to the business

                  SomeMedium - The requirement affects some users or users with medium

                  importance to the business

                  FewLow - The requirement affects few users or users with minimal importance

                  to the business

                  Company Confidential 61

                  Risk Assessment (Contdhellip)

                  Failure Probability Like business impact failure probability is the result of an

                  assessment based on standard criteria The criteria can be changed and adapted

                  depending on a given environment The business functions are divided into three

                  probability categories Very likely Likely and Unlikely

                  Probability

                  Criteria Very Likely Likely UnlikelyChange Type

                  New Feature Changed Feature Unchanged Feature

                  Software MaturityImmature Intermediate Mature

                  Defect RateA high number of defects are likely to be opened

                  Medium - A medium number of defects are likely to be opened

                  Low - A low number of defects are likely to be opened

                  No of affected ScreensEntities

                  greater than 4 between 2 and 4 less than 2

                  FAILURE PROBABILITY

                  Company Confidential 62

                  Risk Assessment (Contdhellip)

                  Change Type

                  Whether the feature the requirement is new changed or unchanged feature

                  This criterion has the following possible values

                  bull New feature - The requirement represents a feature that is new in this release

                  bull Changed feature - The requirement represents a feature that previously existed but

                  has been changed for this release

                  bull Unchanged feature - The requirement represents a feature that is unchanged since

                  previous releases

                  Company Confidential 63

                  Risk Assessment (Contdhellip)

                  Software Maturity

                  How mature is the code of feature represented by the requirement

                  This criterion has the following possible values

                  bull Immature - The code is not mature

                  bull Intermediate - The code is at a medium level of maturity

                  bull Mature - The code is at a high level of maturity

                  Company Confidential 64

                  Risk Assessment (Contdhellip)

                  Defect Rate

                  An estimate of how many defects are likely to be opened that relate to the requirement

                  This criterion has the following possible values

                  bull High - A high number of defects are likely to be opened

                  bull Medium - A medium number of defects are likely to be opened

                  bull Low - A low number of defects are likely to be opened

                  Company Confidential 65

                  Risk Assessment (Contdhellip)

                  No of Affected Screens Entities

                  This criterion has the following possible values

                  bull How many application screens and entities are affected by the requirement

                  bull This criterion has the following possible valuesgt 4 2-4 lt 2

                  Company Confidential 66

                  Risk Value Calculations

                  Risk = Damage ProbabilityWhere -

                  Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

                  Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

                  Hence we can derive the following formula ndashR (f) = C(f) P(f)

                  Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

                  P (f) ndash probability of a fault in function f

                  Risk Calculator TemplateRisk Calculator

                  Template

                  RISK

                  Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  • Sheet1
                    • kulkarmr
                      File Attachment
                      Risk Calculatorpdf

                      Company Confidential 67

                      Test Prioritization

                      Test Prioritization is done on the basis of identified Risk

                      bull Test should find the most important defects first Most important means often ldquoin the most

                      important functionsrdquo To find possible damage analyze how every function supports the mission and

                      checking which functions are critical and which are not

                      bull To find the probability of damage you have to decide where you expect

                      most failures Finding the worst areas in the product and testing them more will help you find more

                      defects If you find too many serious problems management will often be motivated to give you

                      more time and resources for testing

                      bull Testing in a situation where management cuts both budget and time is a bad game

                      You have to endure and survive this game and turn it into a success The general methodology for

                      this situation is not to test everything a little but to concentrate on high risk areas and the worst

                      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                      Company Confidential 68

                      Test Prioritization

                      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                      RISK

                      Business Function

                      Type of process(a)

                      Impact of Failure(b)

                      No Significance of Users(c)

                      Frequency of Use(d)

                      Total Weighted Business Impact(x=a+b+c+d)

                      Change Type(p)

                      Software Maturity(q)

                      Defect Rate(r)

                      No of affected ScreensEntities(s)

                      Total Weighted Failure Probability(y=p+q+r+s)

                      RISK(xy)

                      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                      BUSINESS IMPACT FAILURE PROBABILITY

                      Assumption - The MS Outlook system is fairly stable

                      Company Confidential 69

                      Tasks amp Deliverables

                      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                      Verify that test cases are created for all end to end flows in the application

                      Create Requirements Verification matrix for all business functions

                      Update requirements verification matrix with Test case Ids created

                      Create Prioritization Matrix for Test case development and Execution

                      Execute developed test cases

                      Company Confidential 70

                      References

                      bull Writing Effective Use Cases by Alistair Cockburn

                      bull URLs

                      httpwwwprocessimpactcomarticlesqualreqshtml

                      • Slide Number 1
                      • Test Design
                      • Pre-requisites
                      • Evolution of Test Design Techniques
                      • Table of Contents
                      • Slide Number 6
                      • Test Design - Introduction (Contd hellip)
                      • Test Design - Introduction (Contd hellip)
                      • Functional Testing
                      • Entry Criteria For Functional Testing
                      • Functional Testing Techniques
                      • Exit Criteria For Functional Testing
                      • Business Process Test
                      • Business Process Test (Contd hellip)
                      • Business Process Test (Contd hellip)
                      • What is Use Case Interactions
                      • Testing Use Case Interactions
                      • Use Case Diagram ndash Symbols amp Notations
                      • What Is a Use Case Diagram
                      • Use Case ndash Use Case Interactions Matrix
                      • Testing Use Case Interactions (Contd hellip)
                      • Advantages of Use Case Interactions
                      • What is an Entity
                      • What is Entity Interactions
                      • Entity Interactions (Contd hellip)
                      • What is a Domain Model
                      • Entity Interactions from Domain Model
                      • Entity-Entity Matrix
                      • Use Case ndash Entity Interactions
                      • Use Case - Entity Interactions (Contd hellip)
                      • Use Case-Entity Matrix
                      • Exit Criteria For Business Process Test
                      • Role Based Access Testing
                      • Role Based Access Testing (Contd hellip)
                      • Example Library Management system
                      • Task-Role-User Relationship
                      • Understanding Task-Role Matrix
                      • Understanding Role-User Matrix
                      • Exit Criteria For Role Based Access Test
                      • System Test
                      • Exit Criteria For System Test
                      • Case Study - 1
                      • Requirements Verification
                      • Requirements Verification (Contd hellip)
                      • Requirements Verification (Contd hellip)
                      • Eight Point Check
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Eight Point Check (Contdhellip)
                      • Requirements Traceability
                      • Requirements Traceability
                      • Risk Based Testing
                      • Risk Identification
                      • Risk Assessment
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Assessment (Contdhellip)
                      • Risk Value Calculations
                      • Test Prioritization
                      • Test Prioritization
                      • Tasks amp Deliverables
                      • References
Page 25: Test Design_ Training Material

Company Confidential 21

Testing Use Case Interactions (Contd hellip)

bull Once Use Case interaction matrix is created identify test scenarios from the Matrixbull Test Scenario refers to the possible different course of action that different instances

of the same use case might takebull This method of identifying Test Scenarios will ensure maximum test coverage with

optimum number of test cases bull Use Cases which are created can be directly mapped to the requirements for

Requirement Traceability

Company Confidential 22

Advantages of Use Case Interactions

bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

bull Detection of required interaction bull Avoidance of undesirable interactions

Use Cases Interactions must be validated by the Business Users or the Client

Company Confidential 23

What is an Entity

bull An entity is a thing of significance either real or conceptual (person place or thing)

about which the business or system being modeled needs to hold information

bull An entity is a self-contained piece of data that can be referenced as a unit

bull An Entity represents a discrete object

Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

to a physical table on database level

Company Confidential 24

What is Entity Interactions

bullEntity Interactions depict the relationships among different entities in a system

bullEntity Interactions is a technique used to capture functional data flow between

different entities in a system

For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

Tasks are entities

Company Confidential 25

Entity Interactions (Contd hellip)

Why to test Entity Interactions

bull Entity interactions depict integration between different entities in the system

bull Testing integration between the entities help functional data flow testing of the system

bull Hence the tests based on Entity Interactions help integration testing of the system

When to test Entity Interactions

bull When the system is complex with number of entities integrated together entity

interactions would be helpful

bull Entity interactions are tested when entities involved in the system are unit-tested

Company Confidential 26

What is a Domain Model

bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

bull Domain model for a system will display relationship between different entities in a system

Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 26: Test Design_ Training Material

Company Confidential 22

Advantages of Use Case Interactions

bull The analysis and validation of requirements only with use case is incomplete for development of complex systems It is mandatory to study the interactions among the use cases to depict an overall view of the complete functionality of the system

bull Use Case Interaction will be useful for requirements specification design testing Specifically it can be used for

bull Detection of required interaction bull Avoidance of undesirable interactions

Use Cases Interactions must be validated by the Business Users or the Client

Company Confidential 23

What is an Entity

bull An entity is a thing of significance either real or conceptual (person place or thing)

about which the business or system being modeled needs to hold information

bull An entity is a self-contained piece of data that can be referenced as a unit

bull An Entity represents a discrete object

Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

to a physical table on database level

Company Confidential 24

What is Entity Interactions

bullEntity Interactions depict the relationships among different entities in a system

bullEntity Interactions is a technique used to capture functional data flow between

different entities in a system

For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

Tasks are entities

Company Confidential 25

Entity Interactions (Contd hellip)

Why to test Entity Interactions

bull Entity interactions depict integration between different entities in the system

bull Testing integration between the entities help functional data flow testing of the system

bull Hence the tests based on Entity Interactions help integration testing of the system

When to test Entity Interactions

bull When the system is complex with number of entities integrated together entity

interactions would be helpful

bull Entity interactions are tested when entities involved in the system are unit-tested

Company Confidential 26

What is a Domain Model

bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

bull Domain model for a system will display relationship between different entities in a system

Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 27: Test Design_ Training Material

Company Confidential 23

What is an Entity

bull An entity is a thing of significance either real or conceptual (person place or thing)

about which the business or system being modeled needs to hold information

bull An entity is a self-contained piece of data that can be referenced as a unit

bull An Entity represents a discrete object

Example EMPLOYEE DEPARTMENT CAR etc Each entity in an ERD generally corresponds

to a physical table on database level

Company Confidential 24

What is Entity Interactions

bullEntity Interactions depict the relationships among different entities in a system

bullEntity Interactions is a technique used to capture functional data flow between

different entities in a system

For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

Tasks are entities

Company Confidential 25

Entity Interactions (Contd hellip)

Why to test Entity Interactions

bull Entity interactions depict integration between different entities in the system

bull Testing integration between the entities help functional data flow testing of the system

bull Hence the tests based on Entity Interactions help integration testing of the system

When to test Entity Interactions

bull When the system is complex with number of entities integrated together entity

interactions would be helpful

bull Entity interactions are tested when entities involved in the system are unit-tested

Company Confidential 26

What is a Domain Model

bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

bull Domain model for a system will display relationship between different entities in a system

Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 28: Test Design_ Training Material

Company Confidential 24

What is Entity Interactions

bullEntity Interactions depict the relationships among different entities in a system

bullEntity Interactions is a technique used to capture functional data flow between

different entities in a system

For Eg In MS Outlook User Contact Mails Calendar Meeting Appointment and

Tasks are entities

Company Confidential 25

Entity Interactions (Contd hellip)

Why to test Entity Interactions

bull Entity interactions depict integration between different entities in the system

bull Testing integration between the entities help functional data flow testing of the system

bull Hence the tests based on Entity Interactions help integration testing of the system

When to test Entity Interactions

bull When the system is complex with number of entities integrated together entity

interactions would be helpful

bull Entity interactions are tested when entities involved in the system are unit-tested

Company Confidential 26

What is a Domain Model

bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

bull Domain model for a system will display relationship between different entities in a system

Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 29: Test Design_ Training Material

Company Confidential 25

Entity Interactions (Contd hellip)

Why to test Entity Interactions

bull Entity interactions depict integration between different entities in the system

bull Testing integration between the entities help functional data flow testing of the system

bull Hence the tests based on Entity Interactions help integration testing of the system

When to test Entity Interactions

bull When the system is complex with number of entities integrated together entity

interactions would be helpful

bull Entity interactions are tested when entities involved in the system are unit-tested

Company Confidential 26

What is a Domain Model

bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

bull Domain model for a system will display relationship between different entities in a system

Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 30: Test Design_ Training Material

Company Confidential 26

What is a Domain Model

bull A domain model can be thought as a conceptual model of a system that tells about the various entities involved along with their relationships The domain model is created to understand the key concept of the system and to familiarize with the vocabulary of the system

bull Domain model for a system will display relationship between different entities in a system

Entity Interactions from Domain Modelbull Identify the entities participating in the use casesbull Obtain relationship among different entities in a system from domain modele-r diagrambull Obtain Scenario which depicts how change in one entity affects otherbull Design Test Case for each scenario

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 31: Test Design_ Training Material

Company Confidential 27

Entity Interactions from Domain Model

User SendsReceive Mails

Contacts

MaintainsSendReceive

Tasks

Assigns

Allocated to

Calendar

AppointmentCreates

Is scheduled from

MeetingOrganizes Send to

Sendreceive

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 32: Test Design_ Training Material

Company Confidential 28

Entity-Entity Matrix

bull Form Entity-Entity Matrix which shows the Referential Integrity among the entities eg A contact cannot be deleted if there exists any active Meeting Request against that contact

bull Example for Inter- form dependency Scheduling a Meeting at a particular time gets scheduled on the Calendar for selected time period

Entity - Entity Matrix

Entity 1

Entity 3

Entity 2

Entity 4

Relationship among Entities

Used ForDetecting the

Implicit Interactions

E2E Matrix

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 33: Test Design_ Training Material

Entity To Entity MatrixEntity Entity Calendar Appointment User Mails Tasks Contacts MeetingCalendarAppointment User MailsTasks Contacts Meeting

  • Entity-Entity Matrix
    • kulkarmr
      File Attachment
      EntityInteractionMatrix_MSOutlook_1pdf

      Company Confidential 29

      Use Case ndash Entity Interactions

      bull Use case and entity interactions depict relationship between use case and different

      entities in a system

      bull This relationship will show how the use case and different entities in the system interact

      with each other

      bull There can be many entities interacting with a single use case in a system

      Company Confidential 30

      Use Case - Entity Interactions (Contd hellip)

      Why to test use case and entity interactions

      bull Use case and entity interactions will help us test integrations between a use case and

      different entities in the system

      bull It will help in the functional testing of a system

      When to test use case and entity interactions

      bull Use case and entity interactions are tested when there are many entities integrated with

      one or more use cases

      bull Use case and entity interactions are tested when use cases and entities in a system are

      unit tested

      Company Confidential 31

      Use Case-Entity Matrix

      bull Use Case-Entity matrix shows association between different use cases and entities of the system This

      matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

      would be useful for Impact Analysis

      Use Case - Entity Matrix

      Entity 1

      Entity 2

      Use Case 1

      Use Case 2

      Use Cases and the Participating Entities

      Used ForDoing Impact

      Analysis UC2Entity

      Use Case to Entity Matrix Use Case

      Entity Send Mails

      Receive Mails

      Add Contacts

      Delete Contacts

      Edit contacts

      Assign Calendar

      Create Appointment

      MakeMeeting Request

      Verify Address

      Create Distribution

      ListAssign Task

      Make Task

      RequestCalendar Appointment User Mails Tasks Contacts Meeting

      • Sheet1
        • kulkarmr
          File Attachment
          UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

          Company Confidential 32

          Exit Criteria For Business Process Test

          Possible quality gates for Business Process Test are

          bull All end to end processes can be executed

          bull A workaround exists for all defects found

          Company Confidential 33

          Role Based Access Testing

          What is Role Based Access Testing

          Role Based Access Testing is where permissions are associated with roles and users are

          assigned to appropriate roles

          Where

          Permissions Is an approval of a particular mode of access to one or more objects in the

          system Permissions can apply to single or many roles

          Example- Read access to a particular file or generic as read access to all files

          belonging to a department

          Company Confidential 34

          Role Based Access Testing (Contd hellip)

          Role Is a function or job title written within the organization with some associated

          semantics regarding the authority and responsibility conferred on a member of the role

          User A user in this model is a human being The concept of users can be generalized

          Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

          of instructions

          bull A User can be a member of many roles and a role can have many users

          bull A Role can have many permissions and the same permission can be assigned to

          many roles

          bull The key for Role Based Access Testing lies in these two relations

          Company Confidential 35

          Example Library Management system

          In the working of a library management system

          Different types of users are allowed to login and access the

          library facilities

          bull Only some users are allowed to lend an item from the system

          bull Only some users are allowed to use the library resources like printers

          bull Depending upon the access rights few users can add items (Books CD etc) to the

          system

          Company Confidential 36

          helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

          Task-Role-User Relationship

          User TasksRoles

          Anthony

          Nupur

          Monica

          Hemangi

          Manisha

          Add Items

          View Items

          Issue Items

          Search Items

          Use resources

          Librarian

          Student

          Student

          Visitor

          Visitor

          Company Confidential 37

          Understanding Task-Role Matrix

          bull Different Roles perform different Tasks

          bull Many Tasks can be performed by Many Roles

          bull For a given application the access rights are specified using the Task-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

          Nordquo indicates that role does not have access rights for that task

          bull This matrix acts as a specification for the design tests

          bullLibrarian has access to perform all the tasks

          bullStudent has access to perform some of the tasks only

          Company Confidential 38

          Understanding Role-User Matrix

          bull For a given application the access rights for user to perform a task is specified

          using the User-Role matrix

          bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

          Nordquo indicates that User does not have rights to perform the Role

          bull Tests can be designed based on this specification In doing so each and every

          cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

          matrix tests are prepared

          The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

          bull Many Users can perform Many Roles

          Company Confidential 39

          Exit Criteria For Role Based Access Test

          Possible quality gates for Role Based Access Test are

          bull All access rights adhere to the specifications

          bull A workaround exists for all defects found

          Company Confidential 40

          System Test

          System Test makes various applications work together as the business process requires

          Goals of system test are

          bull Functional Correctness All interfacing applications are in place and the application

          functions correctly in the defined environment

          bull Usability The product can be employed by users to achieve specified goals

          effectively and efficiently in a specified context of use

          bull Reliability The system can perform and maintain its functionality in routine

          circumstances as well as in hostile or unexpected circumstances

          bull Accessibility A system is usable by as many people as possible with modification

          Company Confidential 41

          Exit Criteria For System Test

          Possible quality gates for system test are

          bull All end to end processes can be executed

          bull No severe defects exist

          Company Confidential 42

          Case Study - 1

          Tasks

          bull Identify Use Cases amp Entities

          bull Create Use Case ndash Entity Interactions Matrix

          bull Create Use Case Interactions Matrix

          bull Create Entity Interactions Matrix

          Use Case Diagram For MS Project

          Domain Model Diagram for MS Project

          UCD for MS-Project

          DomainModel-MSProject

          Use case Diagram for MS-Project

          Create project

          Schedules task

          Entering tasks

          Sub-tasks

          Linking tasks

          User

          Removing tasks

          Manage resource

          Resource pool

          Update work

          Project manager

          Entering cost

          Viewing cost

          Budget Representative

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltIncludesgtgt

          ltltUsesgt

          ltltIncludesgtgt

          ltltIncludesgtgt

          ltltUsesgtgtltltUsesgt

          ltltUsesgtgt

          ltltUsesgtgt

          ltltUsesgtgt Calendar Setting

          ltltUsesgtgt

          • Use case Diagram for MS-Project
            • kulkarmr
              File Attachment
              UseCaseDiagram_MSProjectpdf

              Domain Model for MS-Project

              User Project

              Task Resource Pool

              Resource Cost

              Budget Representative

              1 Scheduled 1

              1 Schedules

              1hellip Creates 1

              1 allots resources

              1 get Scheduled 1

              1 Manages resources

              1 is allotted to 1

              1 Consists of

              1 Gets 1

              1 Does

              Schedules

              Assigned 1 1 is allotted to

              assigns

              Base Calendar Resource Calendar

              Assigned to 1

              kulkarmr
              File Attachment
              DomainModel__MSProjectpdf

              Company Confidential 43

              Requirements Verification

              Requirements Verification ensures that the system requirements are satisfied and also

              that the technical derived and product requirements are verified

              Software requirements are often called as specifications

              In order to ensure test coverage we will be mapping requirements to the test cases

              Company Confidential 44

              Requirements Verification (Contd hellip)

              Following steps are to be taken for requirement Verification

              bull Build a common reference or business analysts and IT Group similar user cases to form

              one business function Split complex use case into two or more business functions

              bull Link Requirements Here we can link requirements with appropriate business functions

              bull For Example Login functionality for the Ms Outlook application will have requirements

              related to login with Valid User name and password

              Company Confidential 45

              Requirements Verification (Contd hellip)

              bull Add Proof Points are for requirements based on changes Each requirement must have

              within it a statement of the acceptance criteria

              For example Requirement must specify that New page is displayed after validating

              user login

              Company Confidential 46

              Eight Point Check

              It is advisable to do a check on the requirements received from the client The testing

              team can take care of the following aspects ndash

              The following guidelines can be used to verify requirements received from the client

              Singular Consistent

              Unambiguous Dependencies

              Measurable Testable

              Complete Traceable

              Company Confidential 47

              Eight Point Check (Contdhellip)

              Singular

              Donrsquot merge or link requirements The requirement must address one and only one

              thing Break the requirements down into singular Units The usage of the word and to

              combine two separate thoughts into one requirement If itrsquos two separate thoughts it

              should be two requirements

              Unambiguous

              Anything that makes you think that there are at least two different ways of understanding

              the requirement amp clarification sought is ambiguous

              Example The HTML Parser shall produce an HTML markup error report which

              allows quick resolution of errors when used by HTML novices

              The word quick is ambiguous

              Company Confidential 48

              Eight Point Check (Contdhellip)

              Measurable

              Specific ranges and outcomes ndash no approximates Can you have an expected measurable

              result It should be possible to construct an expected result for every requirement

              Complete

              No requirements or necessary information should be missing Completeness is also a

              desired characteristic of an individual requirement It is hard to spot missing requirements

              because they arenrsquot there

              Example - ldquoThe product shall provide status messages at regular intervals not less than

              every 60 seconds This requirement is incomplete as it leaves the following questions

              unanswered Is the interval between status messages really supposed to be at least 60

              seconds so showing a new message every 1 hour is okay

              Company Confidential 49

              Eight Point Check (Contdhellip)

              Consistent

              The requirement does not contradict any other requirement and is fully consistent with

              all other project documentation

              Dependencies

              Clearly identify the dependency of your requirements on ndash

              bull Any other requirement

              bull On systems which are outside the scope of the project This is prevalent in

              environments where inputs come from other systems Interface requirements

              need to be clearly documented and signed off by all the stakeholders

              Company Confidential 50

              Eight Point Check (Contdhellip)

              Testable

              One of the major challenges we face during requirements gathering is the testability of a

              requirement Very often customers come up with requirements that are not testable

              To determine the testability of a requirement following questions can be asked -

              bull Can we define the acceptance criteria for this requirement

              If the answer is no then this requirement is not testable

              bull Is this requirement clashing with any other requirement

              If yes then the set of requirements are not testable

              Example ndash The following requirement is not testable

              10 The system shall be user-friendly

              20 The user interface shall indicate the correct format for data input

              Company Confidential 51

              Eight Point Check (Contdhellip)

              Traceable

              You should be able to link each software requirement to its source which

              could be a higher-level system requirement a use case or a voice-of-the-customer

              statement or even a change request Also link each software requirement to the

              design elements source code and test cases that are constructed to implement and

              verify the requirement

              Company Confidential 52

              Requirements Traceability

              bull Requirement traceability is a process of establishing the linkage between the

              requirements and the testcases This helps the project in many ways

              bull It indicates the extent of testing a requirement has undergone

              bull It also gives a clear indication of how many requirements have gone live without

              any testing

              bull It also helps the testing team in identifying the impact of a requirement change

              For example if a requirement is getting tested using 10 testcases a change

              request will mean revisiting and retesting 10 testcases

              Company Confidential 53

              Requirements Traceability

              Traceability Matrix - A table that documents the requirements of the system

              for use in subsequent stages to confirm that all requirements have been met

              Requirements Id Design Specification Program Specification Test Case ID Defect ID

              Company Confidential 54

              Risk Based Testing

              Definition of Risk

              Risk is the possibility of suffering harm or loss

              In software testing we think of risk on three dimensions

              bull A way the program could fail

              bull How likely it is that the program could fail in that way

              bull What the consequences of that failure could be

              Company Confidential 55

              Risk Identification

              Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

              Company Confidential 56

              Risk Assessment

              Damage or Business Impact Business Impact is defined in terms of the damage to the

              business if a failure were to occur Each business function is checked with each criterion

              The result of analysis will help us divide business Functions into impact categories High

              Medium Low

              Impact

              Criteria High Impact Medium Low

              Type of Process

              Calculation

              Validation

              Change of data Display

              Business Implication Legal Wrong information None

              Frequency of use Very often Often Rare

              Number or

              Significance of Users

              Large number

              Very important

              Group Some

              Company Confidential 57

              Risk Assessment (Contdhellip)

              Type Of Process

              This criterion has the following possible values

              Calculation Validation - The feature represented by the requirement is an important

              calculation or validation

              Data Change - The feature represented by the requirement modifies application data

              Display - The feature represented by the requirement modifies the application display

              Company Confidential 58

              Risk Assessment (Contdhellip)

              Business Implication

              The impact to the business if the requirement is not met

              This criterion has the following possible values

              Legal - There may be legal consequences

              Wrong Information - The user may receive inaccurate information but this

              would not have legal consequences

              No Impact - The business would not be affected

              Company Confidential 59

              Risk Assessment (Contdhellip)

              Frequency of Use

              How often the feature represented by the requirement is used

              This criterion has the following possible values

              Very often - The feature is used very often

              Often - The feature is used relatively often

              Rare - The feature is rarely used

              Company Confidential 60

              Risk Assessment (Contdhellip)

              No or Significance of Users

              This criterion has the following possible values

              ManyHigh - The requirement affects many users or users with high importance

              to the business

              SomeMedium - The requirement affects some users or users with medium

              importance to the business

              FewLow - The requirement affects few users or users with minimal importance

              to the business

              Company Confidential 61

              Risk Assessment (Contdhellip)

              Failure Probability Like business impact failure probability is the result of an

              assessment based on standard criteria The criteria can be changed and adapted

              depending on a given environment The business functions are divided into three

              probability categories Very likely Likely and Unlikely

              Probability

              Criteria Very Likely Likely UnlikelyChange Type

              New Feature Changed Feature Unchanged Feature

              Software MaturityImmature Intermediate Mature

              Defect RateA high number of defects are likely to be opened

              Medium - A medium number of defects are likely to be opened

              Low - A low number of defects are likely to be opened

              No of affected ScreensEntities

              greater than 4 between 2 and 4 less than 2

              FAILURE PROBABILITY

              Company Confidential 62

              Risk Assessment (Contdhellip)

              Change Type

              Whether the feature the requirement is new changed or unchanged feature

              This criterion has the following possible values

              bull New feature - The requirement represents a feature that is new in this release

              bull Changed feature - The requirement represents a feature that previously existed but

              has been changed for this release

              bull Unchanged feature - The requirement represents a feature that is unchanged since

              previous releases

              Company Confidential 63

              Risk Assessment (Contdhellip)

              Software Maturity

              How mature is the code of feature represented by the requirement

              This criterion has the following possible values

              bull Immature - The code is not mature

              bull Intermediate - The code is at a medium level of maturity

              bull Mature - The code is at a high level of maturity

              Company Confidential 64

              Risk Assessment (Contdhellip)

              Defect Rate

              An estimate of how many defects are likely to be opened that relate to the requirement

              This criterion has the following possible values

              bull High - A high number of defects are likely to be opened

              bull Medium - A medium number of defects are likely to be opened

              bull Low - A low number of defects are likely to be opened

              Company Confidential 65

              Risk Assessment (Contdhellip)

              No of Affected Screens Entities

              This criterion has the following possible values

              bull How many application screens and entities are affected by the requirement

              bull This criterion has the following possible valuesgt 4 2-4 lt 2

              Company Confidential 66

              Risk Value Calculations

              Risk = Damage ProbabilityWhere -

              Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

              Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

              Hence we can derive the following formula ndashR (f) = C(f) P(f)

              Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

              P (f) ndash probability of a fault in function f

              Risk Calculator TemplateRisk Calculator

              Template

              RISK

              Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              • Sheet1
                • kulkarmr
                  File Attachment
                  Risk Calculatorpdf

                  Company Confidential 67

                  Test Prioritization

                  Test Prioritization is done on the basis of identified Risk

                  bull Test should find the most important defects first Most important means often ldquoin the most

                  important functionsrdquo To find possible damage analyze how every function supports the mission and

                  checking which functions are critical and which are not

                  bull To find the probability of damage you have to decide where you expect

                  most failures Finding the worst areas in the product and testing them more will help you find more

                  defects If you find too many serious problems management will often be motivated to give you

                  more time and resources for testing

                  bull Testing in a situation where management cuts both budget and time is a bad game

                  You have to endure and survive this game and turn it into a success The general methodology for

                  this situation is not to test everything a little but to concentrate on high risk areas and the worst

                  areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

                  Company Confidential 68

                  Test Prioritization

                  In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

                  In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

                  RISK

                  Business Function

                  Type of process(a)

                  Impact of Failure(b)

                  No Significance of Users(c)

                  Frequency of Use(d)

                  Total Weighted Business Impact(x=a+b+c+d)

                  Change Type(p)

                  Software Maturity(q)

                  Defect Rate(r)

                  No of affected ScreensEntities(s)

                  Total Weighted Failure Probability(y=p+q+r+s)

                  RISK(xy)

                  Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

                  3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

                  NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

                  BUSINESS IMPACT FAILURE PROBABILITY

                  Assumption - The MS Outlook system is fairly stable

                  Company Confidential 69

                  Tasks amp Deliverables

                  Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

                  Develop Test Cases from Use Cases Create Form level test cases and field level test cases

                  Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

                  Verify that test cases are created for all end to end flows in the application

                  Create Requirements Verification matrix for all business functions

                  Update requirements verification matrix with Test case Ids created

                  Create Prioritization Matrix for Test case development and Execution

                  Execute developed test cases

                  Company Confidential 70

                  References

                  bull Writing Effective Use Cases by Alistair Cockburn

                  bull URLs

                  httpwwwprocessimpactcomarticlesqualreqshtml

                  • Slide Number 1
                  • Test Design
                  • Pre-requisites
                  • Evolution of Test Design Techniques
                  • Table of Contents
                  • Slide Number 6
                  • Test Design - Introduction (Contd hellip)
                  • Test Design - Introduction (Contd hellip)
                  • Functional Testing
                  • Entry Criteria For Functional Testing
                  • Functional Testing Techniques
                  • Exit Criteria For Functional Testing
                  • Business Process Test
                  • Business Process Test (Contd hellip)
                  • Business Process Test (Contd hellip)
                  • What is Use Case Interactions
                  • Testing Use Case Interactions
                  • Use Case Diagram ndash Symbols amp Notations
                  • What Is a Use Case Diagram
                  • Use Case ndash Use Case Interactions Matrix
                  • Testing Use Case Interactions (Contd hellip)
                  • Advantages of Use Case Interactions
                  • What is an Entity
                  • What is Entity Interactions
                  • Entity Interactions (Contd hellip)
                  • What is a Domain Model
                  • Entity Interactions from Domain Model
                  • Entity-Entity Matrix
                  • Use Case ndash Entity Interactions
                  • Use Case - Entity Interactions (Contd hellip)
                  • Use Case-Entity Matrix
                  • Exit Criteria For Business Process Test
                  • Role Based Access Testing
                  • Role Based Access Testing (Contd hellip)
                  • Example Library Management system
                  • Task-Role-User Relationship
                  • Understanding Task-Role Matrix
                  • Understanding Role-User Matrix
                  • Exit Criteria For Role Based Access Test
                  • System Test
                  • Exit Criteria For System Test
                  • Case Study - 1
                  • Requirements Verification
                  • Requirements Verification (Contd hellip)
                  • Requirements Verification (Contd hellip)
                  • Eight Point Check
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Eight Point Check (Contdhellip)
                  • Requirements Traceability
                  • Requirements Traceability
                  • Risk Based Testing
                  • Risk Identification
                  • Risk Assessment
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Assessment (Contdhellip)
                  • Risk Value Calculations
                  • Test Prioritization
                  • Test Prioritization
                  • Tasks amp Deliverables
                  • References
Page 34: Test Design_ Training Material

Company Confidential 29

Use Case ndash Entity Interactions

bull Use case and entity interactions depict relationship between use case and different

entities in a system

bull This relationship will show how the use case and different entities in the system interact

with each other

bull There can be many entities interacting with a single use case in a system

Company Confidential 30

Use Case - Entity Interactions (Contd hellip)

Why to test use case and entity interactions

bull Use case and entity interactions will help us test integrations between a use case and

different entities in the system

bull It will help in the functional testing of a system

When to test use case and entity interactions

bull Use case and entity interactions are tested when there are many entities integrated with

one or more use cases

bull Use case and entity interactions are tested when use cases and entities in a system are

unit tested

Company Confidential 31

Use Case-Entity Matrix

bull Use Case-Entity matrix shows association between different use cases and entities of the system This

matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

would be useful for Impact Analysis

Use Case - Entity Matrix

Entity 1

Entity 2

Use Case 1

Use Case 2

Use Cases and the Participating Entities

Used ForDoing Impact

Analysis UC2Entity

Use Case to Entity Matrix Use Case

Entity Send Mails

Receive Mails

Add Contacts

Delete Contacts

Edit contacts

Assign Calendar

Create Appointment

MakeMeeting Request

Verify Address

Create Distribution

ListAssign Task

Make Task

RequestCalendar Appointment User Mails Tasks Contacts Meeting

  • Sheet1
    • kulkarmr
      File Attachment
      UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

      Company Confidential 32

      Exit Criteria For Business Process Test

      Possible quality gates for Business Process Test are

      bull All end to end processes can be executed

      bull A workaround exists for all defects found

      Company Confidential 33

      Role Based Access Testing

      What is Role Based Access Testing

      Role Based Access Testing is where permissions are associated with roles and users are

      assigned to appropriate roles

      Where

      Permissions Is an approval of a particular mode of access to one or more objects in the

      system Permissions can apply to single or many roles

      Example- Read access to a particular file or generic as read access to all files

      belonging to a department

      Company Confidential 34

      Role Based Access Testing (Contd hellip)

      Role Is a function or job title written within the organization with some associated

      semantics regarding the authority and responsibility conferred on a member of the role

      User A user in this model is a human being The concept of users can be generalized

      Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

      of instructions

      bull A User can be a member of many roles and a role can have many users

      bull A Role can have many permissions and the same permission can be assigned to

      many roles

      bull The key for Role Based Access Testing lies in these two relations

      Company Confidential 35

      Example Library Management system

      In the working of a library management system

      Different types of users are allowed to login and access the

      library facilities

      bull Only some users are allowed to lend an item from the system

      bull Only some users are allowed to use the library resources like printers

      bull Depending upon the access rights few users can add items (Books CD etc) to the

      system

      Company Confidential 36

      helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

      Task-Role-User Relationship

      User TasksRoles

      Anthony

      Nupur

      Monica

      Hemangi

      Manisha

      Add Items

      View Items

      Issue Items

      Search Items

      Use resources

      Librarian

      Student

      Student

      Visitor

      Visitor

      Company Confidential 37

      Understanding Task-Role Matrix

      bull Different Roles perform different Tasks

      bull Many Tasks can be performed by Many Roles

      bull For a given application the access rights are specified using the Task-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

      Nordquo indicates that role does not have access rights for that task

      bull This matrix acts as a specification for the design tests

      bullLibrarian has access to perform all the tasks

      bullStudent has access to perform some of the tasks only

      Company Confidential 38

      Understanding Role-User Matrix

      bull For a given application the access rights for user to perform a task is specified

      using the User-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

      Nordquo indicates that User does not have rights to perform the Role

      bull Tests can be designed based on this specification In doing so each and every

      cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

      matrix tests are prepared

      The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

      bull Many Users can perform Many Roles

      Company Confidential 39

      Exit Criteria For Role Based Access Test

      Possible quality gates for Role Based Access Test are

      bull All access rights adhere to the specifications

      bull A workaround exists for all defects found

      Company Confidential 40

      System Test

      System Test makes various applications work together as the business process requires

      Goals of system test are

      bull Functional Correctness All interfacing applications are in place and the application

      functions correctly in the defined environment

      bull Usability The product can be employed by users to achieve specified goals

      effectively and efficiently in a specified context of use

      bull Reliability The system can perform and maintain its functionality in routine

      circumstances as well as in hostile or unexpected circumstances

      bull Accessibility A system is usable by as many people as possible with modification

      Company Confidential 41

      Exit Criteria For System Test

      Possible quality gates for system test are

      bull All end to end processes can be executed

      bull No severe defects exist

      Company Confidential 42

      Case Study - 1

      Tasks

      bull Identify Use Cases amp Entities

      bull Create Use Case ndash Entity Interactions Matrix

      bull Create Use Case Interactions Matrix

      bull Create Entity Interactions Matrix

      Use Case Diagram For MS Project

      Domain Model Diagram for MS Project

      UCD for MS-Project

      DomainModel-MSProject

      Use case Diagram for MS-Project

      Create project

      Schedules task

      Entering tasks

      Sub-tasks

      Linking tasks

      User

      Removing tasks

      Manage resource

      Resource pool

      Update work

      Project manager

      Entering cost

      Viewing cost

      Budget Representative

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltIncludesgtgt

      ltltUsesgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgtltltUsesgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt Calendar Setting

      ltltUsesgtgt

      • Use case Diagram for MS-Project
        • kulkarmr
          File Attachment
          UseCaseDiagram_MSProjectpdf

          Domain Model for MS-Project

          User Project

          Task Resource Pool

          Resource Cost

          Budget Representative

          1 Scheduled 1

          1 Schedules

          1hellip Creates 1

          1 allots resources

          1 get Scheduled 1

          1 Manages resources

          1 is allotted to 1

          1 Consists of

          1 Gets 1

          1 Does

          Schedules

          Assigned 1 1 is allotted to

          assigns

          Base Calendar Resource Calendar

          Assigned to 1

          kulkarmr
          File Attachment
          DomainModel__MSProjectpdf

          Company Confidential 43

          Requirements Verification

          Requirements Verification ensures that the system requirements are satisfied and also

          that the technical derived and product requirements are verified

          Software requirements are often called as specifications

          In order to ensure test coverage we will be mapping requirements to the test cases

          Company Confidential 44

          Requirements Verification (Contd hellip)

          Following steps are to be taken for requirement Verification

          bull Build a common reference or business analysts and IT Group similar user cases to form

          one business function Split complex use case into two or more business functions

          bull Link Requirements Here we can link requirements with appropriate business functions

          bull For Example Login functionality for the Ms Outlook application will have requirements

          related to login with Valid User name and password

          Company Confidential 45

          Requirements Verification (Contd hellip)

          bull Add Proof Points are for requirements based on changes Each requirement must have

          within it a statement of the acceptance criteria

          For example Requirement must specify that New page is displayed after validating

          user login

          Company Confidential 46

          Eight Point Check

          It is advisable to do a check on the requirements received from the client The testing

          team can take care of the following aspects ndash

          The following guidelines can be used to verify requirements received from the client

          Singular Consistent

          Unambiguous Dependencies

          Measurable Testable

          Complete Traceable

          Company Confidential 47

          Eight Point Check (Contdhellip)

          Singular

          Donrsquot merge or link requirements The requirement must address one and only one

          thing Break the requirements down into singular Units The usage of the word and to

          combine two separate thoughts into one requirement If itrsquos two separate thoughts it

          should be two requirements

          Unambiguous

          Anything that makes you think that there are at least two different ways of understanding

          the requirement amp clarification sought is ambiguous

          Example The HTML Parser shall produce an HTML markup error report which

          allows quick resolution of errors when used by HTML novices

          The word quick is ambiguous

          Company Confidential 48

          Eight Point Check (Contdhellip)

          Measurable

          Specific ranges and outcomes ndash no approximates Can you have an expected measurable

          result It should be possible to construct an expected result for every requirement

          Complete

          No requirements or necessary information should be missing Completeness is also a

          desired characteristic of an individual requirement It is hard to spot missing requirements

          because they arenrsquot there

          Example - ldquoThe product shall provide status messages at regular intervals not less than

          every 60 seconds This requirement is incomplete as it leaves the following questions

          unanswered Is the interval between status messages really supposed to be at least 60

          seconds so showing a new message every 1 hour is okay

          Company Confidential 49

          Eight Point Check (Contdhellip)

          Consistent

          The requirement does not contradict any other requirement and is fully consistent with

          all other project documentation

          Dependencies

          Clearly identify the dependency of your requirements on ndash

          bull Any other requirement

          bull On systems which are outside the scope of the project This is prevalent in

          environments where inputs come from other systems Interface requirements

          need to be clearly documented and signed off by all the stakeholders

          Company Confidential 50

          Eight Point Check (Contdhellip)

          Testable

          One of the major challenges we face during requirements gathering is the testability of a

          requirement Very often customers come up with requirements that are not testable

          To determine the testability of a requirement following questions can be asked -

          bull Can we define the acceptance criteria for this requirement

          If the answer is no then this requirement is not testable

          bull Is this requirement clashing with any other requirement

          If yes then the set of requirements are not testable

          Example ndash The following requirement is not testable

          10 The system shall be user-friendly

          20 The user interface shall indicate the correct format for data input

          Company Confidential 51

          Eight Point Check (Contdhellip)

          Traceable

          You should be able to link each software requirement to its source which

          could be a higher-level system requirement a use case or a voice-of-the-customer

          statement or even a change request Also link each software requirement to the

          design elements source code and test cases that are constructed to implement and

          verify the requirement

          Company Confidential 52

          Requirements Traceability

          bull Requirement traceability is a process of establishing the linkage between the

          requirements and the testcases This helps the project in many ways

          bull It indicates the extent of testing a requirement has undergone

          bull It also gives a clear indication of how many requirements have gone live without

          any testing

          bull It also helps the testing team in identifying the impact of a requirement change

          For example if a requirement is getting tested using 10 testcases a change

          request will mean revisiting and retesting 10 testcases

          Company Confidential 53

          Requirements Traceability

          Traceability Matrix - A table that documents the requirements of the system

          for use in subsequent stages to confirm that all requirements have been met

          Requirements Id Design Specification Program Specification Test Case ID Defect ID

          Company Confidential 54

          Risk Based Testing

          Definition of Risk

          Risk is the possibility of suffering harm or loss

          In software testing we think of risk on three dimensions

          bull A way the program could fail

          bull How likely it is that the program could fail in that way

          bull What the consequences of that failure could be

          Company Confidential 55

          Risk Identification

          Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

          Company Confidential 56

          Risk Assessment

          Damage or Business Impact Business Impact is defined in terms of the damage to the

          business if a failure were to occur Each business function is checked with each criterion

          The result of analysis will help us divide business Functions into impact categories High

          Medium Low

          Impact

          Criteria High Impact Medium Low

          Type of Process

          Calculation

          Validation

          Change of data Display

          Business Implication Legal Wrong information None

          Frequency of use Very often Often Rare

          Number or

          Significance of Users

          Large number

          Very important

          Group Some

          Company Confidential 57

          Risk Assessment (Contdhellip)

          Type Of Process

          This criterion has the following possible values

          Calculation Validation - The feature represented by the requirement is an important

          calculation or validation

          Data Change - The feature represented by the requirement modifies application data

          Display - The feature represented by the requirement modifies the application display

          Company Confidential 58

          Risk Assessment (Contdhellip)

          Business Implication

          The impact to the business if the requirement is not met

          This criterion has the following possible values

          Legal - There may be legal consequences

          Wrong Information - The user may receive inaccurate information but this

          would not have legal consequences

          No Impact - The business would not be affected

          Company Confidential 59

          Risk Assessment (Contdhellip)

          Frequency of Use

          How often the feature represented by the requirement is used

          This criterion has the following possible values

          Very often - The feature is used very often

          Often - The feature is used relatively often

          Rare - The feature is rarely used

          Company Confidential 60

          Risk Assessment (Contdhellip)

          No or Significance of Users

          This criterion has the following possible values

          ManyHigh - The requirement affects many users or users with high importance

          to the business

          SomeMedium - The requirement affects some users or users with medium

          importance to the business

          FewLow - The requirement affects few users or users with minimal importance

          to the business

          Company Confidential 61

          Risk Assessment (Contdhellip)

          Failure Probability Like business impact failure probability is the result of an

          assessment based on standard criteria The criteria can be changed and adapted

          depending on a given environment The business functions are divided into three

          probability categories Very likely Likely and Unlikely

          Probability

          Criteria Very Likely Likely UnlikelyChange Type

          New Feature Changed Feature Unchanged Feature

          Software MaturityImmature Intermediate Mature

          Defect RateA high number of defects are likely to be opened

          Medium - A medium number of defects are likely to be opened

          Low - A low number of defects are likely to be opened

          No of affected ScreensEntities

          greater than 4 between 2 and 4 less than 2

          FAILURE PROBABILITY

          Company Confidential 62

          Risk Assessment (Contdhellip)

          Change Type

          Whether the feature the requirement is new changed or unchanged feature

          This criterion has the following possible values

          bull New feature - The requirement represents a feature that is new in this release

          bull Changed feature - The requirement represents a feature that previously existed but

          has been changed for this release

          bull Unchanged feature - The requirement represents a feature that is unchanged since

          previous releases

          Company Confidential 63

          Risk Assessment (Contdhellip)

          Software Maturity

          How mature is the code of feature represented by the requirement

          This criterion has the following possible values

          bull Immature - The code is not mature

          bull Intermediate - The code is at a medium level of maturity

          bull Mature - The code is at a high level of maturity

          Company Confidential 64

          Risk Assessment (Contdhellip)

          Defect Rate

          An estimate of how many defects are likely to be opened that relate to the requirement

          This criterion has the following possible values

          bull High - A high number of defects are likely to be opened

          bull Medium - A medium number of defects are likely to be opened

          bull Low - A low number of defects are likely to be opened

          Company Confidential 65

          Risk Assessment (Contdhellip)

          No of Affected Screens Entities

          This criterion has the following possible values

          bull How many application screens and entities are affected by the requirement

          bull This criterion has the following possible valuesgt 4 2-4 lt 2

          Company Confidential 66

          Risk Value Calculations

          Risk = Damage ProbabilityWhere -

          Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

          Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

          Hence we can derive the following formula ndashR (f) = C(f) P(f)

          Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

          P (f) ndash probability of a fault in function f

          Risk Calculator TemplateRisk Calculator

          Template

          RISK

          Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          • Sheet1
            • kulkarmr
              File Attachment
              Risk Calculatorpdf

              Company Confidential 67

              Test Prioritization

              Test Prioritization is done on the basis of identified Risk

              bull Test should find the most important defects first Most important means often ldquoin the most

              important functionsrdquo To find possible damage analyze how every function supports the mission and

              checking which functions are critical and which are not

              bull To find the probability of damage you have to decide where you expect

              most failures Finding the worst areas in the product and testing them more will help you find more

              defects If you find too many serious problems management will often be motivated to give you

              more time and resources for testing

              bull Testing in a situation where management cuts both budget and time is a bad game

              You have to endure and survive this game and turn it into a success The general methodology for

              this situation is not to test everything a little but to concentrate on high risk areas and the worst

              areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

              Company Confidential 68

              Test Prioritization

              In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

              In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

              RISK

              Business Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

              3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              Assumption - The MS Outlook system is fairly stable

              Company Confidential 69

              Tasks amp Deliverables

              Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

              Develop Test Cases from Use Cases Create Form level test cases and field level test cases

              Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

              Verify that test cases are created for all end to end flows in the application

              Create Requirements Verification matrix for all business functions

              Update requirements verification matrix with Test case Ids created

              Create Prioritization Matrix for Test case development and Execution

              Execute developed test cases

              Company Confidential 70

              References

              bull Writing Effective Use Cases by Alistair Cockburn

              bull URLs

              httpwwwprocessimpactcomarticlesqualreqshtml

              • Slide Number 1
              • Test Design
              • Pre-requisites
              • Evolution of Test Design Techniques
              • Table of Contents
              • Slide Number 6
              • Test Design - Introduction (Contd hellip)
              • Test Design - Introduction (Contd hellip)
              • Functional Testing
              • Entry Criteria For Functional Testing
              • Functional Testing Techniques
              • Exit Criteria For Functional Testing
              • Business Process Test
              • Business Process Test (Contd hellip)
              • Business Process Test (Contd hellip)
              • What is Use Case Interactions
              • Testing Use Case Interactions
              • Use Case Diagram ndash Symbols amp Notations
              • What Is a Use Case Diagram
              • Use Case ndash Use Case Interactions Matrix
              • Testing Use Case Interactions (Contd hellip)
              • Advantages of Use Case Interactions
              • What is an Entity
              • What is Entity Interactions
              • Entity Interactions (Contd hellip)
              • What is a Domain Model
              • Entity Interactions from Domain Model
              • Entity-Entity Matrix
              • Use Case ndash Entity Interactions
              • Use Case - Entity Interactions (Contd hellip)
              • Use Case-Entity Matrix
              • Exit Criteria For Business Process Test
              • Role Based Access Testing
              • Role Based Access Testing (Contd hellip)
              • Example Library Management system
              • Task-Role-User Relationship
              • Understanding Task-Role Matrix
              • Understanding Role-User Matrix
              • Exit Criteria For Role Based Access Test
              • System Test
              • Exit Criteria For System Test
              • Case Study - 1
              • Requirements Verification
              • Requirements Verification (Contd hellip)
              • Requirements Verification (Contd hellip)
              • Eight Point Check
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Requirements Traceability
              • Requirements Traceability
              • Risk Based Testing
              • Risk Identification
              • Risk Assessment
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Value Calculations
              • Test Prioritization
              • Test Prioritization
              • Tasks amp Deliverables
              • References
Page 35: Test Design_ Training Material

Company Confidential 30

Use Case - Entity Interactions (Contd hellip)

Why to test use case and entity interactions

bull Use case and entity interactions will help us test integrations between a use case and

different entities in the system

bull It will help in the functional testing of a system

When to test use case and entity interactions

bull Use case and entity interactions are tested when there are many entities integrated with

one or more use cases

bull Use case and entity interactions are tested when use cases and entities in a system are

unit tested

Company Confidential 31

Use Case-Entity Matrix

bull Use Case-Entity matrix shows association between different use cases and entities of the system This

matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

would be useful for Impact Analysis

Use Case - Entity Matrix

Entity 1

Entity 2

Use Case 1

Use Case 2

Use Cases and the Participating Entities

Used ForDoing Impact

Analysis UC2Entity

Use Case to Entity Matrix Use Case

Entity Send Mails

Receive Mails

Add Contacts

Delete Contacts

Edit contacts

Assign Calendar

Create Appointment

MakeMeeting Request

Verify Address

Create Distribution

ListAssign Task

Make Task

RequestCalendar Appointment User Mails Tasks Contacts Meeting

  • Sheet1
    • kulkarmr
      File Attachment
      UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

      Company Confidential 32

      Exit Criteria For Business Process Test

      Possible quality gates for Business Process Test are

      bull All end to end processes can be executed

      bull A workaround exists for all defects found

      Company Confidential 33

      Role Based Access Testing

      What is Role Based Access Testing

      Role Based Access Testing is where permissions are associated with roles and users are

      assigned to appropriate roles

      Where

      Permissions Is an approval of a particular mode of access to one or more objects in the

      system Permissions can apply to single or many roles

      Example- Read access to a particular file or generic as read access to all files

      belonging to a department

      Company Confidential 34

      Role Based Access Testing (Contd hellip)

      Role Is a function or job title written within the organization with some associated

      semantics regarding the authority and responsibility conferred on a member of the role

      User A user in this model is a human being The concept of users can be generalized

      Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

      of instructions

      bull A User can be a member of many roles and a role can have many users

      bull A Role can have many permissions and the same permission can be assigned to

      many roles

      bull The key for Role Based Access Testing lies in these two relations

      Company Confidential 35

      Example Library Management system

      In the working of a library management system

      Different types of users are allowed to login and access the

      library facilities

      bull Only some users are allowed to lend an item from the system

      bull Only some users are allowed to use the library resources like printers

      bull Depending upon the access rights few users can add items (Books CD etc) to the

      system

      Company Confidential 36

      helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

      Task-Role-User Relationship

      User TasksRoles

      Anthony

      Nupur

      Monica

      Hemangi

      Manisha

      Add Items

      View Items

      Issue Items

      Search Items

      Use resources

      Librarian

      Student

      Student

      Visitor

      Visitor

      Company Confidential 37

      Understanding Task-Role Matrix

      bull Different Roles perform different Tasks

      bull Many Tasks can be performed by Many Roles

      bull For a given application the access rights are specified using the Task-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

      Nordquo indicates that role does not have access rights for that task

      bull This matrix acts as a specification for the design tests

      bullLibrarian has access to perform all the tasks

      bullStudent has access to perform some of the tasks only

      Company Confidential 38

      Understanding Role-User Matrix

      bull For a given application the access rights for user to perform a task is specified

      using the User-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

      Nordquo indicates that User does not have rights to perform the Role

      bull Tests can be designed based on this specification In doing so each and every

      cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

      matrix tests are prepared

      The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

      bull Many Users can perform Many Roles

      Company Confidential 39

      Exit Criteria For Role Based Access Test

      Possible quality gates for Role Based Access Test are

      bull All access rights adhere to the specifications

      bull A workaround exists for all defects found

      Company Confidential 40

      System Test

      System Test makes various applications work together as the business process requires

      Goals of system test are

      bull Functional Correctness All interfacing applications are in place and the application

      functions correctly in the defined environment

      bull Usability The product can be employed by users to achieve specified goals

      effectively and efficiently in a specified context of use

      bull Reliability The system can perform and maintain its functionality in routine

      circumstances as well as in hostile or unexpected circumstances

      bull Accessibility A system is usable by as many people as possible with modification

      Company Confidential 41

      Exit Criteria For System Test

      Possible quality gates for system test are

      bull All end to end processes can be executed

      bull No severe defects exist

      Company Confidential 42

      Case Study - 1

      Tasks

      bull Identify Use Cases amp Entities

      bull Create Use Case ndash Entity Interactions Matrix

      bull Create Use Case Interactions Matrix

      bull Create Entity Interactions Matrix

      Use Case Diagram For MS Project

      Domain Model Diagram for MS Project

      UCD for MS-Project

      DomainModel-MSProject

      Use case Diagram for MS-Project

      Create project

      Schedules task

      Entering tasks

      Sub-tasks

      Linking tasks

      User

      Removing tasks

      Manage resource

      Resource pool

      Update work

      Project manager

      Entering cost

      Viewing cost

      Budget Representative

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltIncludesgtgt

      ltltUsesgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgtltltUsesgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt Calendar Setting

      ltltUsesgtgt

      • Use case Diagram for MS-Project
        • kulkarmr
          File Attachment
          UseCaseDiagram_MSProjectpdf

          Domain Model for MS-Project

          User Project

          Task Resource Pool

          Resource Cost

          Budget Representative

          1 Scheduled 1

          1 Schedules

          1hellip Creates 1

          1 allots resources

          1 get Scheduled 1

          1 Manages resources

          1 is allotted to 1

          1 Consists of

          1 Gets 1

          1 Does

          Schedules

          Assigned 1 1 is allotted to

          assigns

          Base Calendar Resource Calendar

          Assigned to 1

          kulkarmr
          File Attachment
          DomainModel__MSProjectpdf

          Company Confidential 43

          Requirements Verification

          Requirements Verification ensures that the system requirements are satisfied and also

          that the technical derived and product requirements are verified

          Software requirements are often called as specifications

          In order to ensure test coverage we will be mapping requirements to the test cases

          Company Confidential 44

          Requirements Verification (Contd hellip)

          Following steps are to be taken for requirement Verification

          bull Build a common reference or business analysts and IT Group similar user cases to form

          one business function Split complex use case into two or more business functions

          bull Link Requirements Here we can link requirements with appropriate business functions

          bull For Example Login functionality for the Ms Outlook application will have requirements

          related to login with Valid User name and password

          Company Confidential 45

          Requirements Verification (Contd hellip)

          bull Add Proof Points are for requirements based on changes Each requirement must have

          within it a statement of the acceptance criteria

          For example Requirement must specify that New page is displayed after validating

          user login

          Company Confidential 46

          Eight Point Check

          It is advisable to do a check on the requirements received from the client The testing

          team can take care of the following aspects ndash

          The following guidelines can be used to verify requirements received from the client

          Singular Consistent

          Unambiguous Dependencies

          Measurable Testable

          Complete Traceable

          Company Confidential 47

          Eight Point Check (Contdhellip)

          Singular

          Donrsquot merge or link requirements The requirement must address one and only one

          thing Break the requirements down into singular Units The usage of the word and to

          combine two separate thoughts into one requirement If itrsquos two separate thoughts it

          should be two requirements

          Unambiguous

          Anything that makes you think that there are at least two different ways of understanding

          the requirement amp clarification sought is ambiguous

          Example The HTML Parser shall produce an HTML markup error report which

          allows quick resolution of errors when used by HTML novices

          The word quick is ambiguous

          Company Confidential 48

          Eight Point Check (Contdhellip)

          Measurable

          Specific ranges and outcomes ndash no approximates Can you have an expected measurable

          result It should be possible to construct an expected result for every requirement

          Complete

          No requirements or necessary information should be missing Completeness is also a

          desired characteristic of an individual requirement It is hard to spot missing requirements

          because they arenrsquot there

          Example - ldquoThe product shall provide status messages at regular intervals not less than

          every 60 seconds This requirement is incomplete as it leaves the following questions

          unanswered Is the interval between status messages really supposed to be at least 60

          seconds so showing a new message every 1 hour is okay

          Company Confidential 49

          Eight Point Check (Contdhellip)

          Consistent

          The requirement does not contradict any other requirement and is fully consistent with

          all other project documentation

          Dependencies

          Clearly identify the dependency of your requirements on ndash

          bull Any other requirement

          bull On systems which are outside the scope of the project This is prevalent in

          environments where inputs come from other systems Interface requirements

          need to be clearly documented and signed off by all the stakeholders

          Company Confidential 50

          Eight Point Check (Contdhellip)

          Testable

          One of the major challenges we face during requirements gathering is the testability of a

          requirement Very often customers come up with requirements that are not testable

          To determine the testability of a requirement following questions can be asked -

          bull Can we define the acceptance criteria for this requirement

          If the answer is no then this requirement is not testable

          bull Is this requirement clashing with any other requirement

          If yes then the set of requirements are not testable

          Example ndash The following requirement is not testable

          10 The system shall be user-friendly

          20 The user interface shall indicate the correct format for data input

          Company Confidential 51

          Eight Point Check (Contdhellip)

          Traceable

          You should be able to link each software requirement to its source which

          could be a higher-level system requirement a use case or a voice-of-the-customer

          statement or even a change request Also link each software requirement to the

          design elements source code and test cases that are constructed to implement and

          verify the requirement

          Company Confidential 52

          Requirements Traceability

          bull Requirement traceability is a process of establishing the linkage between the

          requirements and the testcases This helps the project in many ways

          bull It indicates the extent of testing a requirement has undergone

          bull It also gives a clear indication of how many requirements have gone live without

          any testing

          bull It also helps the testing team in identifying the impact of a requirement change

          For example if a requirement is getting tested using 10 testcases a change

          request will mean revisiting and retesting 10 testcases

          Company Confidential 53

          Requirements Traceability

          Traceability Matrix - A table that documents the requirements of the system

          for use in subsequent stages to confirm that all requirements have been met

          Requirements Id Design Specification Program Specification Test Case ID Defect ID

          Company Confidential 54

          Risk Based Testing

          Definition of Risk

          Risk is the possibility of suffering harm or loss

          In software testing we think of risk on three dimensions

          bull A way the program could fail

          bull How likely it is that the program could fail in that way

          bull What the consequences of that failure could be

          Company Confidential 55

          Risk Identification

          Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

          Company Confidential 56

          Risk Assessment

          Damage or Business Impact Business Impact is defined in terms of the damage to the

          business if a failure were to occur Each business function is checked with each criterion

          The result of analysis will help us divide business Functions into impact categories High

          Medium Low

          Impact

          Criteria High Impact Medium Low

          Type of Process

          Calculation

          Validation

          Change of data Display

          Business Implication Legal Wrong information None

          Frequency of use Very often Often Rare

          Number or

          Significance of Users

          Large number

          Very important

          Group Some

          Company Confidential 57

          Risk Assessment (Contdhellip)

          Type Of Process

          This criterion has the following possible values

          Calculation Validation - The feature represented by the requirement is an important

          calculation or validation

          Data Change - The feature represented by the requirement modifies application data

          Display - The feature represented by the requirement modifies the application display

          Company Confidential 58

          Risk Assessment (Contdhellip)

          Business Implication

          The impact to the business if the requirement is not met

          This criterion has the following possible values

          Legal - There may be legal consequences

          Wrong Information - The user may receive inaccurate information but this

          would not have legal consequences

          No Impact - The business would not be affected

          Company Confidential 59

          Risk Assessment (Contdhellip)

          Frequency of Use

          How often the feature represented by the requirement is used

          This criterion has the following possible values

          Very often - The feature is used very often

          Often - The feature is used relatively often

          Rare - The feature is rarely used

          Company Confidential 60

          Risk Assessment (Contdhellip)

          No or Significance of Users

          This criterion has the following possible values

          ManyHigh - The requirement affects many users or users with high importance

          to the business

          SomeMedium - The requirement affects some users or users with medium

          importance to the business

          FewLow - The requirement affects few users or users with minimal importance

          to the business

          Company Confidential 61

          Risk Assessment (Contdhellip)

          Failure Probability Like business impact failure probability is the result of an

          assessment based on standard criteria The criteria can be changed and adapted

          depending on a given environment The business functions are divided into three

          probability categories Very likely Likely and Unlikely

          Probability

          Criteria Very Likely Likely UnlikelyChange Type

          New Feature Changed Feature Unchanged Feature

          Software MaturityImmature Intermediate Mature

          Defect RateA high number of defects are likely to be opened

          Medium - A medium number of defects are likely to be opened

          Low - A low number of defects are likely to be opened

          No of affected ScreensEntities

          greater than 4 between 2 and 4 less than 2

          FAILURE PROBABILITY

          Company Confidential 62

          Risk Assessment (Contdhellip)

          Change Type

          Whether the feature the requirement is new changed or unchanged feature

          This criterion has the following possible values

          bull New feature - The requirement represents a feature that is new in this release

          bull Changed feature - The requirement represents a feature that previously existed but

          has been changed for this release

          bull Unchanged feature - The requirement represents a feature that is unchanged since

          previous releases

          Company Confidential 63

          Risk Assessment (Contdhellip)

          Software Maturity

          How mature is the code of feature represented by the requirement

          This criterion has the following possible values

          bull Immature - The code is not mature

          bull Intermediate - The code is at a medium level of maturity

          bull Mature - The code is at a high level of maturity

          Company Confidential 64

          Risk Assessment (Contdhellip)

          Defect Rate

          An estimate of how many defects are likely to be opened that relate to the requirement

          This criterion has the following possible values

          bull High - A high number of defects are likely to be opened

          bull Medium - A medium number of defects are likely to be opened

          bull Low - A low number of defects are likely to be opened

          Company Confidential 65

          Risk Assessment (Contdhellip)

          No of Affected Screens Entities

          This criterion has the following possible values

          bull How many application screens and entities are affected by the requirement

          bull This criterion has the following possible valuesgt 4 2-4 lt 2

          Company Confidential 66

          Risk Value Calculations

          Risk = Damage ProbabilityWhere -

          Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

          Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

          Hence we can derive the following formula ndashR (f) = C(f) P(f)

          Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

          P (f) ndash probability of a fault in function f

          Risk Calculator TemplateRisk Calculator

          Template

          RISK

          Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          • Sheet1
            • kulkarmr
              File Attachment
              Risk Calculatorpdf

              Company Confidential 67

              Test Prioritization

              Test Prioritization is done on the basis of identified Risk

              bull Test should find the most important defects first Most important means often ldquoin the most

              important functionsrdquo To find possible damage analyze how every function supports the mission and

              checking which functions are critical and which are not

              bull To find the probability of damage you have to decide where you expect

              most failures Finding the worst areas in the product and testing them more will help you find more

              defects If you find too many serious problems management will often be motivated to give you

              more time and resources for testing

              bull Testing in a situation where management cuts both budget and time is a bad game

              You have to endure and survive this game and turn it into a success The general methodology for

              this situation is not to test everything a little but to concentrate on high risk areas and the worst

              areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

              Company Confidential 68

              Test Prioritization

              In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

              In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

              RISK

              Business Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

              3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              Assumption - The MS Outlook system is fairly stable

              Company Confidential 69

              Tasks amp Deliverables

              Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

              Develop Test Cases from Use Cases Create Form level test cases and field level test cases

              Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

              Verify that test cases are created for all end to end flows in the application

              Create Requirements Verification matrix for all business functions

              Update requirements verification matrix with Test case Ids created

              Create Prioritization Matrix for Test case development and Execution

              Execute developed test cases

              Company Confidential 70

              References

              bull Writing Effective Use Cases by Alistair Cockburn

              bull URLs

              httpwwwprocessimpactcomarticlesqualreqshtml

              • Slide Number 1
              • Test Design
              • Pre-requisites
              • Evolution of Test Design Techniques
              • Table of Contents
              • Slide Number 6
              • Test Design - Introduction (Contd hellip)
              • Test Design - Introduction (Contd hellip)
              • Functional Testing
              • Entry Criteria For Functional Testing
              • Functional Testing Techniques
              • Exit Criteria For Functional Testing
              • Business Process Test
              • Business Process Test (Contd hellip)
              • Business Process Test (Contd hellip)
              • What is Use Case Interactions
              • Testing Use Case Interactions
              • Use Case Diagram ndash Symbols amp Notations
              • What Is a Use Case Diagram
              • Use Case ndash Use Case Interactions Matrix
              • Testing Use Case Interactions (Contd hellip)
              • Advantages of Use Case Interactions
              • What is an Entity
              • What is Entity Interactions
              • Entity Interactions (Contd hellip)
              • What is a Domain Model
              • Entity Interactions from Domain Model
              • Entity-Entity Matrix
              • Use Case ndash Entity Interactions
              • Use Case - Entity Interactions (Contd hellip)
              • Use Case-Entity Matrix
              • Exit Criteria For Business Process Test
              • Role Based Access Testing
              • Role Based Access Testing (Contd hellip)
              • Example Library Management system
              • Task-Role-User Relationship
              • Understanding Task-Role Matrix
              • Understanding Role-User Matrix
              • Exit Criteria For Role Based Access Test
              • System Test
              • Exit Criteria For System Test
              • Case Study - 1
              • Requirements Verification
              • Requirements Verification (Contd hellip)
              • Requirements Verification (Contd hellip)
              • Eight Point Check
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Requirements Traceability
              • Requirements Traceability
              • Risk Based Testing
              • Risk Identification
              • Risk Assessment
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Value Calculations
              • Test Prioritization
              • Test Prioritization
              • Tasks amp Deliverables
              • References
Page 36: Test Design_ Training Material

Company Confidential 31

Use Case-Entity Matrix

bull Use Case-Entity matrix shows association between different use cases and entities of the system This

matrix shows the use cases that would get affected by changing a particular entity Thus this matrix

would be useful for Impact Analysis

Use Case - Entity Matrix

Entity 1

Entity 2

Use Case 1

Use Case 2

Use Cases and the Participating Entities

Used ForDoing Impact

Analysis UC2Entity

Use Case to Entity Matrix Use Case

Entity Send Mails

Receive Mails

Add Contacts

Delete Contacts

Edit contacts

Assign Calendar

Create Appointment

MakeMeeting Request

Verify Address

Create Distribution

ListAssign Task

Make Task

RequestCalendar Appointment User Mails Tasks Contacts Meeting

  • Sheet1
    • kulkarmr
      File Attachment
      UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

      Company Confidential 32

      Exit Criteria For Business Process Test

      Possible quality gates for Business Process Test are

      bull All end to end processes can be executed

      bull A workaround exists for all defects found

      Company Confidential 33

      Role Based Access Testing

      What is Role Based Access Testing

      Role Based Access Testing is where permissions are associated with roles and users are

      assigned to appropriate roles

      Where

      Permissions Is an approval of a particular mode of access to one or more objects in the

      system Permissions can apply to single or many roles

      Example- Read access to a particular file or generic as read access to all files

      belonging to a department

      Company Confidential 34

      Role Based Access Testing (Contd hellip)

      Role Is a function or job title written within the organization with some associated

      semantics regarding the authority and responsibility conferred on a member of the role

      User A user in this model is a human being The concept of users can be generalized

      Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

      of instructions

      bull A User can be a member of many roles and a role can have many users

      bull A Role can have many permissions and the same permission can be assigned to

      many roles

      bull The key for Role Based Access Testing lies in these two relations

      Company Confidential 35

      Example Library Management system

      In the working of a library management system

      Different types of users are allowed to login and access the

      library facilities

      bull Only some users are allowed to lend an item from the system

      bull Only some users are allowed to use the library resources like printers

      bull Depending upon the access rights few users can add items (Books CD etc) to the

      system

      Company Confidential 36

      helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

      Task-Role-User Relationship

      User TasksRoles

      Anthony

      Nupur

      Monica

      Hemangi

      Manisha

      Add Items

      View Items

      Issue Items

      Search Items

      Use resources

      Librarian

      Student

      Student

      Visitor

      Visitor

      Company Confidential 37

      Understanding Task-Role Matrix

      bull Different Roles perform different Tasks

      bull Many Tasks can be performed by Many Roles

      bull For a given application the access rights are specified using the Task-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

      Nordquo indicates that role does not have access rights for that task

      bull This matrix acts as a specification for the design tests

      bullLibrarian has access to perform all the tasks

      bullStudent has access to perform some of the tasks only

      Company Confidential 38

      Understanding Role-User Matrix

      bull For a given application the access rights for user to perform a task is specified

      using the User-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

      Nordquo indicates that User does not have rights to perform the Role

      bull Tests can be designed based on this specification In doing so each and every

      cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

      matrix tests are prepared

      The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

      bull Many Users can perform Many Roles

      Company Confidential 39

      Exit Criteria For Role Based Access Test

      Possible quality gates for Role Based Access Test are

      bull All access rights adhere to the specifications

      bull A workaround exists for all defects found

      Company Confidential 40

      System Test

      System Test makes various applications work together as the business process requires

      Goals of system test are

      bull Functional Correctness All interfacing applications are in place and the application

      functions correctly in the defined environment

      bull Usability The product can be employed by users to achieve specified goals

      effectively and efficiently in a specified context of use

      bull Reliability The system can perform and maintain its functionality in routine

      circumstances as well as in hostile or unexpected circumstances

      bull Accessibility A system is usable by as many people as possible with modification

      Company Confidential 41

      Exit Criteria For System Test

      Possible quality gates for system test are

      bull All end to end processes can be executed

      bull No severe defects exist

      Company Confidential 42

      Case Study - 1

      Tasks

      bull Identify Use Cases amp Entities

      bull Create Use Case ndash Entity Interactions Matrix

      bull Create Use Case Interactions Matrix

      bull Create Entity Interactions Matrix

      Use Case Diagram For MS Project

      Domain Model Diagram for MS Project

      UCD for MS-Project

      DomainModel-MSProject

      Use case Diagram for MS-Project

      Create project

      Schedules task

      Entering tasks

      Sub-tasks

      Linking tasks

      User

      Removing tasks

      Manage resource

      Resource pool

      Update work

      Project manager

      Entering cost

      Viewing cost

      Budget Representative

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltIncludesgtgt

      ltltUsesgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgtltltUsesgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt Calendar Setting

      ltltUsesgtgt

      • Use case Diagram for MS-Project
        • kulkarmr
          File Attachment
          UseCaseDiagram_MSProjectpdf

          Domain Model for MS-Project

          User Project

          Task Resource Pool

          Resource Cost

          Budget Representative

          1 Scheduled 1

          1 Schedules

          1hellip Creates 1

          1 allots resources

          1 get Scheduled 1

          1 Manages resources

          1 is allotted to 1

          1 Consists of

          1 Gets 1

          1 Does

          Schedules

          Assigned 1 1 is allotted to

          assigns

          Base Calendar Resource Calendar

          Assigned to 1

          kulkarmr
          File Attachment
          DomainModel__MSProjectpdf

          Company Confidential 43

          Requirements Verification

          Requirements Verification ensures that the system requirements are satisfied and also

          that the technical derived and product requirements are verified

          Software requirements are often called as specifications

          In order to ensure test coverage we will be mapping requirements to the test cases

          Company Confidential 44

          Requirements Verification (Contd hellip)

          Following steps are to be taken for requirement Verification

          bull Build a common reference or business analysts and IT Group similar user cases to form

          one business function Split complex use case into two or more business functions

          bull Link Requirements Here we can link requirements with appropriate business functions

          bull For Example Login functionality for the Ms Outlook application will have requirements

          related to login with Valid User name and password

          Company Confidential 45

          Requirements Verification (Contd hellip)

          bull Add Proof Points are for requirements based on changes Each requirement must have

          within it a statement of the acceptance criteria

          For example Requirement must specify that New page is displayed after validating

          user login

          Company Confidential 46

          Eight Point Check

          It is advisable to do a check on the requirements received from the client The testing

          team can take care of the following aspects ndash

          The following guidelines can be used to verify requirements received from the client

          Singular Consistent

          Unambiguous Dependencies

          Measurable Testable

          Complete Traceable

          Company Confidential 47

          Eight Point Check (Contdhellip)

          Singular

          Donrsquot merge or link requirements The requirement must address one and only one

          thing Break the requirements down into singular Units The usage of the word and to

          combine two separate thoughts into one requirement If itrsquos two separate thoughts it

          should be two requirements

          Unambiguous

          Anything that makes you think that there are at least two different ways of understanding

          the requirement amp clarification sought is ambiguous

          Example The HTML Parser shall produce an HTML markup error report which

          allows quick resolution of errors when used by HTML novices

          The word quick is ambiguous

          Company Confidential 48

          Eight Point Check (Contdhellip)

          Measurable

          Specific ranges and outcomes ndash no approximates Can you have an expected measurable

          result It should be possible to construct an expected result for every requirement

          Complete

          No requirements or necessary information should be missing Completeness is also a

          desired characteristic of an individual requirement It is hard to spot missing requirements

          because they arenrsquot there

          Example - ldquoThe product shall provide status messages at regular intervals not less than

          every 60 seconds This requirement is incomplete as it leaves the following questions

          unanswered Is the interval between status messages really supposed to be at least 60

          seconds so showing a new message every 1 hour is okay

          Company Confidential 49

          Eight Point Check (Contdhellip)

          Consistent

          The requirement does not contradict any other requirement and is fully consistent with

          all other project documentation

          Dependencies

          Clearly identify the dependency of your requirements on ndash

          bull Any other requirement

          bull On systems which are outside the scope of the project This is prevalent in

          environments where inputs come from other systems Interface requirements

          need to be clearly documented and signed off by all the stakeholders

          Company Confidential 50

          Eight Point Check (Contdhellip)

          Testable

          One of the major challenges we face during requirements gathering is the testability of a

          requirement Very often customers come up with requirements that are not testable

          To determine the testability of a requirement following questions can be asked -

          bull Can we define the acceptance criteria for this requirement

          If the answer is no then this requirement is not testable

          bull Is this requirement clashing with any other requirement

          If yes then the set of requirements are not testable

          Example ndash The following requirement is not testable

          10 The system shall be user-friendly

          20 The user interface shall indicate the correct format for data input

          Company Confidential 51

          Eight Point Check (Contdhellip)

          Traceable

          You should be able to link each software requirement to its source which

          could be a higher-level system requirement a use case or a voice-of-the-customer

          statement or even a change request Also link each software requirement to the

          design elements source code and test cases that are constructed to implement and

          verify the requirement

          Company Confidential 52

          Requirements Traceability

          bull Requirement traceability is a process of establishing the linkage between the

          requirements and the testcases This helps the project in many ways

          bull It indicates the extent of testing a requirement has undergone

          bull It also gives a clear indication of how many requirements have gone live without

          any testing

          bull It also helps the testing team in identifying the impact of a requirement change

          For example if a requirement is getting tested using 10 testcases a change

          request will mean revisiting and retesting 10 testcases

          Company Confidential 53

          Requirements Traceability

          Traceability Matrix - A table that documents the requirements of the system

          for use in subsequent stages to confirm that all requirements have been met

          Requirements Id Design Specification Program Specification Test Case ID Defect ID

          Company Confidential 54

          Risk Based Testing

          Definition of Risk

          Risk is the possibility of suffering harm or loss

          In software testing we think of risk on three dimensions

          bull A way the program could fail

          bull How likely it is that the program could fail in that way

          bull What the consequences of that failure could be

          Company Confidential 55

          Risk Identification

          Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

          Company Confidential 56

          Risk Assessment

          Damage or Business Impact Business Impact is defined in terms of the damage to the

          business if a failure were to occur Each business function is checked with each criterion

          The result of analysis will help us divide business Functions into impact categories High

          Medium Low

          Impact

          Criteria High Impact Medium Low

          Type of Process

          Calculation

          Validation

          Change of data Display

          Business Implication Legal Wrong information None

          Frequency of use Very often Often Rare

          Number or

          Significance of Users

          Large number

          Very important

          Group Some

          Company Confidential 57

          Risk Assessment (Contdhellip)

          Type Of Process

          This criterion has the following possible values

          Calculation Validation - The feature represented by the requirement is an important

          calculation or validation

          Data Change - The feature represented by the requirement modifies application data

          Display - The feature represented by the requirement modifies the application display

          Company Confidential 58

          Risk Assessment (Contdhellip)

          Business Implication

          The impact to the business if the requirement is not met

          This criterion has the following possible values

          Legal - There may be legal consequences

          Wrong Information - The user may receive inaccurate information but this

          would not have legal consequences

          No Impact - The business would not be affected

          Company Confidential 59

          Risk Assessment (Contdhellip)

          Frequency of Use

          How often the feature represented by the requirement is used

          This criterion has the following possible values

          Very often - The feature is used very often

          Often - The feature is used relatively often

          Rare - The feature is rarely used

          Company Confidential 60

          Risk Assessment (Contdhellip)

          No or Significance of Users

          This criterion has the following possible values

          ManyHigh - The requirement affects many users or users with high importance

          to the business

          SomeMedium - The requirement affects some users or users with medium

          importance to the business

          FewLow - The requirement affects few users or users with minimal importance

          to the business

          Company Confidential 61

          Risk Assessment (Contdhellip)

          Failure Probability Like business impact failure probability is the result of an

          assessment based on standard criteria The criteria can be changed and adapted

          depending on a given environment The business functions are divided into three

          probability categories Very likely Likely and Unlikely

          Probability

          Criteria Very Likely Likely UnlikelyChange Type

          New Feature Changed Feature Unchanged Feature

          Software MaturityImmature Intermediate Mature

          Defect RateA high number of defects are likely to be opened

          Medium - A medium number of defects are likely to be opened

          Low - A low number of defects are likely to be opened

          No of affected ScreensEntities

          greater than 4 between 2 and 4 less than 2

          FAILURE PROBABILITY

          Company Confidential 62

          Risk Assessment (Contdhellip)

          Change Type

          Whether the feature the requirement is new changed or unchanged feature

          This criterion has the following possible values

          bull New feature - The requirement represents a feature that is new in this release

          bull Changed feature - The requirement represents a feature that previously existed but

          has been changed for this release

          bull Unchanged feature - The requirement represents a feature that is unchanged since

          previous releases

          Company Confidential 63

          Risk Assessment (Contdhellip)

          Software Maturity

          How mature is the code of feature represented by the requirement

          This criterion has the following possible values

          bull Immature - The code is not mature

          bull Intermediate - The code is at a medium level of maturity

          bull Mature - The code is at a high level of maturity

          Company Confidential 64

          Risk Assessment (Contdhellip)

          Defect Rate

          An estimate of how many defects are likely to be opened that relate to the requirement

          This criterion has the following possible values

          bull High - A high number of defects are likely to be opened

          bull Medium - A medium number of defects are likely to be opened

          bull Low - A low number of defects are likely to be opened

          Company Confidential 65

          Risk Assessment (Contdhellip)

          No of Affected Screens Entities

          This criterion has the following possible values

          bull How many application screens and entities are affected by the requirement

          bull This criterion has the following possible valuesgt 4 2-4 lt 2

          Company Confidential 66

          Risk Value Calculations

          Risk = Damage ProbabilityWhere -

          Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

          Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

          Hence we can derive the following formula ndashR (f) = C(f) P(f)

          Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

          P (f) ndash probability of a fault in function f

          Risk Calculator TemplateRisk Calculator

          Template

          RISK

          Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          • Sheet1
            • kulkarmr
              File Attachment
              Risk Calculatorpdf

              Company Confidential 67

              Test Prioritization

              Test Prioritization is done on the basis of identified Risk

              bull Test should find the most important defects first Most important means often ldquoin the most

              important functionsrdquo To find possible damage analyze how every function supports the mission and

              checking which functions are critical and which are not

              bull To find the probability of damage you have to decide where you expect

              most failures Finding the worst areas in the product and testing them more will help you find more

              defects If you find too many serious problems management will often be motivated to give you

              more time and resources for testing

              bull Testing in a situation where management cuts both budget and time is a bad game

              You have to endure and survive this game and turn it into a success The general methodology for

              this situation is not to test everything a little but to concentrate on high risk areas and the worst

              areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

              Company Confidential 68

              Test Prioritization

              In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

              In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

              RISK

              Business Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

              3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              Assumption - The MS Outlook system is fairly stable

              Company Confidential 69

              Tasks amp Deliverables

              Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

              Develop Test Cases from Use Cases Create Form level test cases and field level test cases

              Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

              Verify that test cases are created for all end to end flows in the application

              Create Requirements Verification matrix for all business functions

              Update requirements verification matrix with Test case Ids created

              Create Prioritization Matrix for Test case development and Execution

              Execute developed test cases

              Company Confidential 70

              References

              bull Writing Effective Use Cases by Alistair Cockburn

              bull URLs

              httpwwwprocessimpactcomarticlesqualreqshtml

              • Slide Number 1
              • Test Design
              • Pre-requisites
              • Evolution of Test Design Techniques
              • Table of Contents
              • Slide Number 6
              • Test Design - Introduction (Contd hellip)
              • Test Design - Introduction (Contd hellip)
              • Functional Testing
              • Entry Criteria For Functional Testing
              • Functional Testing Techniques
              • Exit Criteria For Functional Testing
              • Business Process Test
              • Business Process Test (Contd hellip)
              • Business Process Test (Contd hellip)
              • What is Use Case Interactions
              • Testing Use Case Interactions
              • Use Case Diagram ndash Symbols amp Notations
              • What Is a Use Case Diagram
              • Use Case ndash Use Case Interactions Matrix
              • Testing Use Case Interactions (Contd hellip)
              • Advantages of Use Case Interactions
              • What is an Entity
              • What is Entity Interactions
              • Entity Interactions (Contd hellip)
              • What is a Domain Model
              • Entity Interactions from Domain Model
              • Entity-Entity Matrix
              • Use Case ndash Entity Interactions
              • Use Case - Entity Interactions (Contd hellip)
              • Use Case-Entity Matrix
              • Exit Criteria For Business Process Test
              • Role Based Access Testing
              • Role Based Access Testing (Contd hellip)
              • Example Library Management system
              • Task-Role-User Relationship
              • Understanding Task-Role Matrix
              • Understanding Role-User Matrix
              • Exit Criteria For Role Based Access Test
              • System Test
              • Exit Criteria For System Test
              • Case Study - 1
              • Requirements Verification
              • Requirements Verification (Contd hellip)
              • Requirements Verification (Contd hellip)
              • Eight Point Check
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Requirements Traceability
              • Requirements Traceability
              • Risk Based Testing
              • Risk Identification
              • Risk Assessment
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Value Calculations
              • Test Prioritization
              • Test Prioritization
              • Tasks amp Deliverables
              • References
Page 37: Test Design_ Training Material

Use Case to Entity Matrix Use Case

Entity Send Mails

Receive Mails

Add Contacts

Delete Contacts

Edit contacts

Assign Calendar

Create Appointment

MakeMeeting Request

Verify Address

Create Distribution

ListAssign Task

Make Task

RequestCalendar Appointment User Mails Tasks Contacts Meeting

  • Sheet1
    • kulkarmr
      File Attachment
      UseCase-Entity-InteractionMatrix_MSOutlook_1pdf

      Company Confidential 32

      Exit Criteria For Business Process Test

      Possible quality gates for Business Process Test are

      bull All end to end processes can be executed

      bull A workaround exists for all defects found

      Company Confidential 33

      Role Based Access Testing

      What is Role Based Access Testing

      Role Based Access Testing is where permissions are associated with roles and users are

      assigned to appropriate roles

      Where

      Permissions Is an approval of a particular mode of access to one or more objects in the

      system Permissions can apply to single or many roles

      Example- Read access to a particular file or generic as read access to all files

      belonging to a department

      Company Confidential 34

      Role Based Access Testing (Contd hellip)

      Role Is a function or job title written within the organization with some associated

      semantics regarding the authority and responsibility conferred on a member of the role

      User A user in this model is a human being The concept of users can be generalized

      Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

      of instructions

      bull A User can be a member of many roles and a role can have many users

      bull A Role can have many permissions and the same permission can be assigned to

      many roles

      bull The key for Role Based Access Testing lies in these two relations

      Company Confidential 35

      Example Library Management system

      In the working of a library management system

      Different types of users are allowed to login and access the

      library facilities

      bull Only some users are allowed to lend an item from the system

      bull Only some users are allowed to use the library resources like printers

      bull Depending upon the access rights few users can add items (Books CD etc) to the

      system

      Company Confidential 36

      helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

      Task-Role-User Relationship

      User TasksRoles

      Anthony

      Nupur

      Monica

      Hemangi

      Manisha

      Add Items

      View Items

      Issue Items

      Search Items

      Use resources

      Librarian

      Student

      Student

      Visitor

      Visitor

      Company Confidential 37

      Understanding Task-Role Matrix

      bull Different Roles perform different Tasks

      bull Many Tasks can be performed by Many Roles

      bull For a given application the access rights are specified using the Task-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

      Nordquo indicates that role does not have access rights for that task

      bull This matrix acts as a specification for the design tests

      bullLibrarian has access to perform all the tasks

      bullStudent has access to perform some of the tasks only

      Company Confidential 38

      Understanding Role-User Matrix

      bull For a given application the access rights for user to perform a task is specified

      using the User-Role matrix

      bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

      Nordquo indicates that User does not have rights to perform the Role

      bull Tests can be designed based on this specification In doing so each and every

      cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

      matrix tests are prepared

      The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

      bull Many Users can perform Many Roles

      Company Confidential 39

      Exit Criteria For Role Based Access Test

      Possible quality gates for Role Based Access Test are

      bull All access rights adhere to the specifications

      bull A workaround exists for all defects found

      Company Confidential 40

      System Test

      System Test makes various applications work together as the business process requires

      Goals of system test are

      bull Functional Correctness All interfacing applications are in place and the application

      functions correctly in the defined environment

      bull Usability The product can be employed by users to achieve specified goals

      effectively and efficiently in a specified context of use

      bull Reliability The system can perform and maintain its functionality in routine

      circumstances as well as in hostile or unexpected circumstances

      bull Accessibility A system is usable by as many people as possible with modification

      Company Confidential 41

      Exit Criteria For System Test

      Possible quality gates for system test are

      bull All end to end processes can be executed

      bull No severe defects exist

      Company Confidential 42

      Case Study - 1

      Tasks

      bull Identify Use Cases amp Entities

      bull Create Use Case ndash Entity Interactions Matrix

      bull Create Use Case Interactions Matrix

      bull Create Entity Interactions Matrix

      Use Case Diagram For MS Project

      Domain Model Diagram for MS Project

      UCD for MS-Project

      DomainModel-MSProject

      Use case Diagram for MS-Project

      Create project

      Schedules task

      Entering tasks

      Sub-tasks

      Linking tasks

      User

      Removing tasks

      Manage resource

      Resource pool

      Update work

      Project manager

      Entering cost

      Viewing cost

      Budget Representative

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltIncludesgtgt

      ltltUsesgt

      ltltIncludesgtgt

      ltltIncludesgtgt

      ltltUsesgtgtltltUsesgt

      ltltUsesgtgt

      ltltUsesgtgt

      ltltUsesgtgt Calendar Setting

      ltltUsesgtgt

      • Use case Diagram for MS-Project
        • kulkarmr
          File Attachment
          UseCaseDiagram_MSProjectpdf

          Domain Model for MS-Project

          User Project

          Task Resource Pool

          Resource Cost

          Budget Representative

          1 Scheduled 1

          1 Schedules

          1hellip Creates 1

          1 allots resources

          1 get Scheduled 1

          1 Manages resources

          1 is allotted to 1

          1 Consists of

          1 Gets 1

          1 Does

          Schedules

          Assigned 1 1 is allotted to

          assigns

          Base Calendar Resource Calendar

          Assigned to 1

          kulkarmr
          File Attachment
          DomainModel__MSProjectpdf

          Company Confidential 43

          Requirements Verification

          Requirements Verification ensures that the system requirements are satisfied and also

          that the technical derived and product requirements are verified

          Software requirements are often called as specifications

          In order to ensure test coverage we will be mapping requirements to the test cases

          Company Confidential 44

          Requirements Verification (Contd hellip)

          Following steps are to be taken for requirement Verification

          bull Build a common reference or business analysts and IT Group similar user cases to form

          one business function Split complex use case into two or more business functions

          bull Link Requirements Here we can link requirements with appropriate business functions

          bull For Example Login functionality for the Ms Outlook application will have requirements

          related to login with Valid User name and password

          Company Confidential 45

          Requirements Verification (Contd hellip)

          bull Add Proof Points are for requirements based on changes Each requirement must have

          within it a statement of the acceptance criteria

          For example Requirement must specify that New page is displayed after validating

          user login

          Company Confidential 46

          Eight Point Check

          It is advisable to do a check on the requirements received from the client The testing

          team can take care of the following aspects ndash

          The following guidelines can be used to verify requirements received from the client

          Singular Consistent

          Unambiguous Dependencies

          Measurable Testable

          Complete Traceable

          Company Confidential 47

          Eight Point Check (Contdhellip)

          Singular

          Donrsquot merge or link requirements The requirement must address one and only one

          thing Break the requirements down into singular Units The usage of the word and to

          combine two separate thoughts into one requirement If itrsquos two separate thoughts it

          should be two requirements

          Unambiguous

          Anything that makes you think that there are at least two different ways of understanding

          the requirement amp clarification sought is ambiguous

          Example The HTML Parser shall produce an HTML markup error report which

          allows quick resolution of errors when used by HTML novices

          The word quick is ambiguous

          Company Confidential 48

          Eight Point Check (Contdhellip)

          Measurable

          Specific ranges and outcomes ndash no approximates Can you have an expected measurable

          result It should be possible to construct an expected result for every requirement

          Complete

          No requirements or necessary information should be missing Completeness is also a

          desired characteristic of an individual requirement It is hard to spot missing requirements

          because they arenrsquot there

          Example - ldquoThe product shall provide status messages at regular intervals not less than

          every 60 seconds This requirement is incomplete as it leaves the following questions

          unanswered Is the interval between status messages really supposed to be at least 60

          seconds so showing a new message every 1 hour is okay

          Company Confidential 49

          Eight Point Check (Contdhellip)

          Consistent

          The requirement does not contradict any other requirement and is fully consistent with

          all other project documentation

          Dependencies

          Clearly identify the dependency of your requirements on ndash

          bull Any other requirement

          bull On systems which are outside the scope of the project This is prevalent in

          environments where inputs come from other systems Interface requirements

          need to be clearly documented and signed off by all the stakeholders

          Company Confidential 50

          Eight Point Check (Contdhellip)

          Testable

          One of the major challenges we face during requirements gathering is the testability of a

          requirement Very often customers come up with requirements that are not testable

          To determine the testability of a requirement following questions can be asked -

          bull Can we define the acceptance criteria for this requirement

          If the answer is no then this requirement is not testable

          bull Is this requirement clashing with any other requirement

          If yes then the set of requirements are not testable

          Example ndash The following requirement is not testable

          10 The system shall be user-friendly

          20 The user interface shall indicate the correct format for data input

          Company Confidential 51

          Eight Point Check (Contdhellip)

          Traceable

          You should be able to link each software requirement to its source which

          could be a higher-level system requirement a use case or a voice-of-the-customer

          statement or even a change request Also link each software requirement to the

          design elements source code and test cases that are constructed to implement and

          verify the requirement

          Company Confidential 52

          Requirements Traceability

          bull Requirement traceability is a process of establishing the linkage between the

          requirements and the testcases This helps the project in many ways

          bull It indicates the extent of testing a requirement has undergone

          bull It also gives a clear indication of how many requirements have gone live without

          any testing

          bull It also helps the testing team in identifying the impact of a requirement change

          For example if a requirement is getting tested using 10 testcases a change

          request will mean revisiting and retesting 10 testcases

          Company Confidential 53

          Requirements Traceability

          Traceability Matrix - A table that documents the requirements of the system

          for use in subsequent stages to confirm that all requirements have been met

          Requirements Id Design Specification Program Specification Test Case ID Defect ID

          Company Confidential 54

          Risk Based Testing

          Definition of Risk

          Risk is the possibility of suffering harm or loss

          In software testing we think of risk on three dimensions

          bull A way the program could fail

          bull How likely it is that the program could fail in that way

          bull What the consequences of that failure could be

          Company Confidential 55

          Risk Identification

          Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

          Company Confidential 56

          Risk Assessment

          Damage or Business Impact Business Impact is defined in terms of the damage to the

          business if a failure were to occur Each business function is checked with each criterion

          The result of analysis will help us divide business Functions into impact categories High

          Medium Low

          Impact

          Criteria High Impact Medium Low

          Type of Process

          Calculation

          Validation

          Change of data Display

          Business Implication Legal Wrong information None

          Frequency of use Very often Often Rare

          Number or

          Significance of Users

          Large number

          Very important

          Group Some

          Company Confidential 57

          Risk Assessment (Contdhellip)

          Type Of Process

          This criterion has the following possible values

          Calculation Validation - The feature represented by the requirement is an important

          calculation or validation

          Data Change - The feature represented by the requirement modifies application data

          Display - The feature represented by the requirement modifies the application display

          Company Confidential 58

          Risk Assessment (Contdhellip)

          Business Implication

          The impact to the business if the requirement is not met

          This criterion has the following possible values

          Legal - There may be legal consequences

          Wrong Information - The user may receive inaccurate information but this

          would not have legal consequences

          No Impact - The business would not be affected

          Company Confidential 59

          Risk Assessment (Contdhellip)

          Frequency of Use

          How often the feature represented by the requirement is used

          This criterion has the following possible values

          Very often - The feature is used very often

          Often - The feature is used relatively often

          Rare - The feature is rarely used

          Company Confidential 60

          Risk Assessment (Contdhellip)

          No or Significance of Users

          This criterion has the following possible values

          ManyHigh - The requirement affects many users or users with high importance

          to the business

          SomeMedium - The requirement affects some users or users with medium

          importance to the business

          FewLow - The requirement affects few users or users with minimal importance

          to the business

          Company Confidential 61

          Risk Assessment (Contdhellip)

          Failure Probability Like business impact failure probability is the result of an

          assessment based on standard criteria The criteria can be changed and adapted

          depending on a given environment The business functions are divided into three

          probability categories Very likely Likely and Unlikely

          Probability

          Criteria Very Likely Likely UnlikelyChange Type

          New Feature Changed Feature Unchanged Feature

          Software MaturityImmature Intermediate Mature

          Defect RateA high number of defects are likely to be opened

          Medium - A medium number of defects are likely to be opened

          Low - A low number of defects are likely to be opened

          No of affected ScreensEntities

          greater than 4 between 2 and 4 less than 2

          FAILURE PROBABILITY

          Company Confidential 62

          Risk Assessment (Contdhellip)

          Change Type

          Whether the feature the requirement is new changed or unchanged feature

          This criterion has the following possible values

          bull New feature - The requirement represents a feature that is new in this release

          bull Changed feature - The requirement represents a feature that previously existed but

          has been changed for this release

          bull Unchanged feature - The requirement represents a feature that is unchanged since

          previous releases

          Company Confidential 63

          Risk Assessment (Contdhellip)

          Software Maturity

          How mature is the code of feature represented by the requirement

          This criterion has the following possible values

          bull Immature - The code is not mature

          bull Intermediate - The code is at a medium level of maturity

          bull Mature - The code is at a high level of maturity

          Company Confidential 64

          Risk Assessment (Contdhellip)

          Defect Rate

          An estimate of how many defects are likely to be opened that relate to the requirement

          This criterion has the following possible values

          bull High - A high number of defects are likely to be opened

          bull Medium - A medium number of defects are likely to be opened

          bull Low - A low number of defects are likely to be opened

          Company Confidential 65

          Risk Assessment (Contdhellip)

          No of Affected Screens Entities

          This criterion has the following possible values

          bull How many application screens and entities are affected by the requirement

          bull This criterion has the following possible valuesgt 4 2-4 lt 2

          Company Confidential 66

          Risk Value Calculations

          Risk = Damage ProbabilityWhere -

          Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

          Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

          Hence we can derive the following formula ndashR (f) = C(f) P(f)

          Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

          P (f) ndash probability of a fault in function f

          Risk Calculator TemplateRisk Calculator

          Template

          RISK

          Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          • Sheet1
            • kulkarmr
              File Attachment
              Risk Calculatorpdf

              Company Confidential 67

              Test Prioritization

              Test Prioritization is done on the basis of identified Risk

              bull Test should find the most important defects first Most important means often ldquoin the most

              important functionsrdquo To find possible damage analyze how every function supports the mission and

              checking which functions are critical and which are not

              bull To find the probability of damage you have to decide where you expect

              most failures Finding the worst areas in the product and testing them more will help you find more

              defects If you find too many serious problems management will often be motivated to give you

              more time and resources for testing

              bull Testing in a situation where management cuts both budget and time is a bad game

              You have to endure and survive this game and turn it into a success The general methodology for

              this situation is not to test everything a little but to concentrate on high risk areas and the worst

              areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

              Company Confidential 68

              Test Prioritization

              In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

              In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

              RISK

              Business Function

              Type of process(a)

              Impact of Failure(b)

              No Significance of Users(c)

              Frequency of Use(d)

              Total Weighted Business Impact(x=a+b+c+d)

              Change Type(p)

              Software Maturity(q)

              Defect Rate(r)

              No of affected ScreensEntities(s)

              Total Weighted Failure Probability(y=p+q+r+s)

              RISK(xy)

              Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

              3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

              NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

              BUSINESS IMPACT FAILURE PROBABILITY

              Assumption - The MS Outlook system is fairly stable

              Company Confidential 69

              Tasks amp Deliverables

              Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

              Develop Test Cases from Use Cases Create Form level test cases and field level test cases

              Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

              Verify that test cases are created for all end to end flows in the application

              Create Requirements Verification matrix for all business functions

              Update requirements verification matrix with Test case Ids created

              Create Prioritization Matrix for Test case development and Execution

              Execute developed test cases

              Company Confidential 70

              References

              bull Writing Effective Use Cases by Alistair Cockburn

              bull URLs

              httpwwwprocessimpactcomarticlesqualreqshtml

              • Slide Number 1
              • Test Design
              • Pre-requisites
              • Evolution of Test Design Techniques
              • Table of Contents
              • Slide Number 6
              • Test Design - Introduction (Contd hellip)
              • Test Design - Introduction (Contd hellip)
              • Functional Testing
              • Entry Criteria For Functional Testing
              • Functional Testing Techniques
              • Exit Criteria For Functional Testing
              • Business Process Test
              • Business Process Test (Contd hellip)
              • Business Process Test (Contd hellip)
              • What is Use Case Interactions
              • Testing Use Case Interactions
              • Use Case Diagram ndash Symbols amp Notations
              • What Is a Use Case Diagram
              • Use Case ndash Use Case Interactions Matrix
              • Testing Use Case Interactions (Contd hellip)
              • Advantages of Use Case Interactions
              • What is an Entity
              • What is Entity Interactions
              • Entity Interactions (Contd hellip)
              • What is a Domain Model
              • Entity Interactions from Domain Model
              • Entity-Entity Matrix
              • Use Case ndash Entity Interactions
              • Use Case - Entity Interactions (Contd hellip)
              • Use Case-Entity Matrix
              • Exit Criteria For Business Process Test
              • Role Based Access Testing
              • Role Based Access Testing (Contd hellip)
              • Example Library Management system
              • Task-Role-User Relationship
              • Understanding Task-Role Matrix
              • Understanding Role-User Matrix
              • Exit Criteria For Role Based Access Test
              • System Test
              • Exit Criteria For System Test
              • Case Study - 1
              • Requirements Verification
              • Requirements Verification (Contd hellip)
              • Requirements Verification (Contd hellip)
              • Eight Point Check
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Eight Point Check (Contdhellip)
              • Requirements Traceability
              • Requirements Traceability
              • Risk Based Testing
              • Risk Identification
              • Risk Assessment
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Assessment (Contdhellip)
              • Risk Value Calculations
              • Test Prioritization
              • Test Prioritization
              • Tasks amp Deliverables
              • References
Page 38: Test Design_ Training Material

Company Confidential 32

Exit Criteria For Business Process Test

Possible quality gates for Business Process Test are

bull All end to end processes can be executed

bull A workaround exists for all defects found

Company Confidential 33

Role Based Access Testing

What is Role Based Access Testing

Role Based Access Testing is where permissions are associated with roles and users are

assigned to appropriate roles

Where

Permissions Is an approval of a particular mode of access to one or more objects in the

system Permissions can apply to single or many roles

Example- Read access to a particular file or generic as read access to all files

belonging to a department

Company Confidential 34

Role Based Access Testing (Contd hellip)

Role Is a function or job title written within the organization with some associated

semantics regarding the authority and responsibility conferred on a member of the role

User A user in this model is a human being The concept of users can be generalized

Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

of instructions

bull A User can be a member of many roles and a role can have many users

bull A Role can have many permissions and the same permission can be assigned to

many roles

bull The key for Role Based Access Testing lies in these two relations

Company Confidential 35

Example Library Management system

In the working of a library management system

Different types of users are allowed to login and access the

library facilities

bull Only some users are allowed to lend an item from the system

bull Only some users are allowed to use the library resources like printers

bull Depending upon the access rights few users can add items (Books CD etc) to the

system

Company Confidential 36

helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Task-Role-User Relationship

User TasksRoles

Anthony

Nupur

Monica

Hemangi

Manisha

Add Items

View Items

Issue Items

Search Items

Use resources

Librarian

Student

Student

Visitor

Visitor

Company Confidential 37

Understanding Task-Role Matrix

bull Different Roles perform different Tasks

bull Many Tasks can be performed by Many Roles

bull For a given application the access rights are specified using the Task-Role matrix

bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

Nordquo indicates that role does not have access rights for that task

bull This matrix acts as a specification for the design tests

bullLibrarian has access to perform all the tasks

bullStudent has access to perform some of the tasks only

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 39: Test Design_ Training Material

Company Confidential 33

Role Based Access Testing

What is Role Based Access Testing

Role Based Access Testing is where permissions are associated with roles and users are

assigned to appropriate roles

Where

Permissions Is an approval of a particular mode of access to one or more objects in the

system Permissions can apply to single or many roles

Example- Read access to a particular file or generic as read access to all files

belonging to a department

Company Confidential 34

Role Based Access Testing (Contd hellip)

Role Is a function or job title written within the organization with some associated

semantics regarding the authority and responsibility conferred on a member of the role

User A user in this model is a human being The concept of users can be generalized

Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

of instructions

bull A User can be a member of many roles and a role can have many users

bull A Role can have many permissions and the same permission can be assigned to

many roles

bull The key for Role Based Access Testing lies in these two relations

Company Confidential 35

Example Library Management system

In the working of a library management system

Different types of users are allowed to login and access the

library facilities

bull Only some users are allowed to lend an item from the system

bull Only some users are allowed to use the library resources like printers

bull Depending upon the access rights few users can add items (Books CD etc) to the

system

Company Confidential 36

helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Task-Role-User Relationship

User TasksRoles

Anthony

Nupur

Monica

Hemangi

Manisha

Add Items

View Items

Issue Items

Search Items

Use resources

Librarian

Student

Student

Visitor

Visitor

Company Confidential 37

Understanding Task-Role Matrix

bull Different Roles perform different Tasks

bull Many Tasks can be performed by Many Roles

bull For a given application the access rights are specified using the Task-Role matrix

bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

Nordquo indicates that role does not have access rights for that task

bull This matrix acts as a specification for the design tests

bullLibrarian has access to perform all the tasks

bullStudent has access to perform some of the tasks only

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 40: Test Design_ Training Material

Company Confidential 34

Role Based Access Testing (Contd hellip)

Role Is a function or job title written within the organization with some associated

semantics regarding the authority and responsibility conferred on a member of the role

User A user in this model is a human being The concept of users can be generalized

Tasks Is defined as a job Itrsquos an ongoing action requiring completion It comprises a set

of instructions

bull A User can be a member of many roles and a role can have many users

bull A Role can have many permissions and the same permission can be assigned to

many roles

bull The key for Role Based Access Testing lies in these two relations

Company Confidential 35

Example Library Management system

In the working of a library management system

Different types of users are allowed to login and access the

library facilities

bull Only some users are allowed to lend an item from the system

bull Only some users are allowed to use the library resources like printers

bull Depending upon the access rights few users can add items (Books CD etc) to the

system

Company Confidential 36

helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Task-Role-User Relationship

User TasksRoles

Anthony

Nupur

Monica

Hemangi

Manisha

Add Items

View Items

Issue Items

Search Items

Use resources

Librarian

Student

Student

Visitor

Visitor

Company Confidential 37

Understanding Task-Role Matrix

bull Different Roles perform different Tasks

bull Many Tasks can be performed by Many Roles

bull For a given application the access rights are specified using the Task-Role matrix

bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

Nordquo indicates that role does not have access rights for that task

bull This matrix acts as a specification for the design tests

bullLibrarian has access to perform all the tasks

bullStudent has access to perform some of the tasks only

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 41: Test Design_ Training Material

Company Confidential 35

Example Library Management system

In the working of a library management system

Different types of users are allowed to login and access the

library facilities

bull Only some users are allowed to lend an item from the system

bull Only some users are allowed to use the library resources like printers

bull Depending upon the access rights few users can add items (Books CD etc) to the

system

Company Confidential 36

helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Task-Role-User Relationship

User TasksRoles

Anthony

Nupur

Monica

Hemangi

Manisha

Add Items

View Items

Issue Items

Search Items

Use resources

Librarian

Student

Student

Visitor

Visitor

Company Confidential 37

Understanding Task-Role Matrix

bull Different Roles perform different Tasks

bull Many Tasks can be performed by Many Roles

bull For a given application the access rights are specified using the Task-Role matrix

bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

Nordquo indicates that role does not have access rights for that task

bull This matrix acts as a specification for the design tests

bullLibrarian has access to perform all the tasks

bullStudent has access to perform some of the tasks only

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 42: Test Design_ Training Material

Company Confidential 36

helliphelliphelliphelliphelliphelliphelliphelliphelliphellip

Task-Role-User Relationship

User TasksRoles

Anthony

Nupur

Monica

Hemangi

Manisha

Add Items

View Items

Issue Items

Search Items

Use resources

Librarian

Student

Student

Visitor

Visitor

Company Confidential 37

Understanding Task-Role Matrix

bull Different Roles perform different Tasks

bull Many Tasks can be performed by Many Roles

bull For a given application the access rights are specified using the Task-Role matrix

bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

Nordquo indicates that role does not have access rights for that task

bull This matrix acts as a specification for the design tests

bullLibrarian has access to perform all the tasks

bullStudent has access to perform some of the tasks only

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 43: Test Design_ Training Material

Company Confidential 37

Understanding Task-Role Matrix

bull Different Roles perform different Tasks

bull Many Tasks can be performed by Many Roles

bull For a given application the access rights are specified using the Task-Role matrix

bull A ldquoYesrdquo in the matrix indicates that Role has access rights to perform the task

Nordquo indicates that role does not have access rights for that task

bull This matrix acts as a specification for the design tests

bullLibrarian has access to perform all the tasks

bullStudent has access to perform some of the tasks only

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 44: Test Design_ Training Material

Company Confidential 38

Understanding Role-User Matrix

bull For a given application the access rights for user to perform a task is specified

using the User-Role matrix

bull A ldquoYesrdquo in the matrix indicates that the User performs that particular role

Nordquo indicates that User does not have rights to perform the Role

bull Tests can be designed based on this specification In doing so each and every

cell of the matrix is tested Hence for every ldquoYesrdquo and ldquoNordquo specified in the

matrix tests are prepared

The Test design and Validation from the User-Role matrix can also be done in the similar way as done for Task-Role matrix

bull Many Users can perform Many Roles

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 45: Test Design_ Training Material

Company Confidential 39

Exit Criteria For Role Based Access Test

Possible quality gates for Role Based Access Test are

bull All access rights adhere to the specifications

bull A workaround exists for all defects found

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 46: Test Design_ Training Material

Company Confidential 40

System Test

System Test makes various applications work together as the business process requires

Goals of system test are

bull Functional Correctness All interfacing applications are in place and the application

functions correctly in the defined environment

bull Usability The product can be employed by users to achieve specified goals

effectively and efficiently in a specified context of use

bull Reliability The system can perform and maintain its functionality in routine

circumstances as well as in hostile or unexpected circumstances

bull Accessibility A system is usable by as many people as possible with modification

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 47: Test Design_ Training Material

Company Confidential 41

Exit Criteria For System Test

Possible quality gates for system test are

bull All end to end processes can be executed

bull No severe defects exist

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 48: Test Design_ Training Material

Company Confidential 42

Case Study - 1

Tasks

bull Identify Use Cases amp Entities

bull Create Use Case ndash Entity Interactions Matrix

bull Create Use Case Interactions Matrix

bull Create Entity Interactions Matrix

Use Case Diagram For MS Project

Domain Model Diagram for MS Project

UCD for MS-Project

DomainModel-MSProject

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 49: Test Design_ Training Material

Use case Diagram for MS-Project

Create project

Schedules task

Entering tasks

Sub-tasks

Linking tasks

User

Removing tasks

Manage resource

Resource pool

Update work

Project manager

Entering cost

Viewing cost

Budget Representative

ltltIncludesgtgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt

ltltIncludesgtgt

ltltUsesgt

ltltIncludesgtgt

ltltIncludesgtgt

ltltUsesgtgtltltUsesgt

ltltUsesgtgt

ltltUsesgtgt

ltltUsesgtgt Calendar Setting

ltltUsesgtgt

  • Use case Diagram for MS-Project
    • kulkarmr
      File Attachment
      UseCaseDiagram_MSProjectpdf

      Domain Model for MS-Project

      User Project

      Task Resource Pool

      Resource Cost

      Budget Representative

      1 Scheduled 1

      1 Schedules

      1hellip Creates 1

      1 allots resources

      1 get Scheduled 1

      1 Manages resources

      1 is allotted to 1

      1 Consists of

      1 Gets 1

      1 Does

      Schedules

      Assigned 1 1 is allotted to

      assigns

      Base Calendar Resource Calendar

      Assigned to 1

      kulkarmr
      File Attachment
      DomainModel__MSProjectpdf

      Company Confidential 43

      Requirements Verification

      Requirements Verification ensures that the system requirements are satisfied and also

      that the technical derived and product requirements are verified

      Software requirements are often called as specifications

      In order to ensure test coverage we will be mapping requirements to the test cases

      Company Confidential 44

      Requirements Verification (Contd hellip)

      Following steps are to be taken for requirement Verification

      bull Build a common reference or business analysts and IT Group similar user cases to form

      one business function Split complex use case into two or more business functions

      bull Link Requirements Here we can link requirements with appropriate business functions

      bull For Example Login functionality for the Ms Outlook application will have requirements

      related to login with Valid User name and password

      Company Confidential 45

      Requirements Verification (Contd hellip)

      bull Add Proof Points are for requirements based on changes Each requirement must have

      within it a statement of the acceptance criteria

      For example Requirement must specify that New page is displayed after validating

      user login

      Company Confidential 46

      Eight Point Check

      It is advisable to do a check on the requirements received from the client The testing

      team can take care of the following aspects ndash

      The following guidelines can be used to verify requirements received from the client

      Singular Consistent

      Unambiguous Dependencies

      Measurable Testable

      Complete Traceable

      Company Confidential 47

      Eight Point Check (Contdhellip)

      Singular

      Donrsquot merge or link requirements The requirement must address one and only one

      thing Break the requirements down into singular Units The usage of the word and to

      combine two separate thoughts into one requirement If itrsquos two separate thoughts it

      should be two requirements

      Unambiguous

      Anything that makes you think that there are at least two different ways of understanding

      the requirement amp clarification sought is ambiguous

      Example The HTML Parser shall produce an HTML markup error report which

      allows quick resolution of errors when used by HTML novices

      The word quick is ambiguous

      Company Confidential 48

      Eight Point Check (Contdhellip)

      Measurable

      Specific ranges and outcomes ndash no approximates Can you have an expected measurable

      result It should be possible to construct an expected result for every requirement

      Complete

      No requirements or necessary information should be missing Completeness is also a

      desired characteristic of an individual requirement It is hard to spot missing requirements

      because they arenrsquot there

      Example - ldquoThe product shall provide status messages at regular intervals not less than

      every 60 seconds This requirement is incomplete as it leaves the following questions

      unanswered Is the interval between status messages really supposed to be at least 60

      seconds so showing a new message every 1 hour is okay

      Company Confidential 49

      Eight Point Check (Contdhellip)

      Consistent

      The requirement does not contradict any other requirement and is fully consistent with

      all other project documentation

      Dependencies

      Clearly identify the dependency of your requirements on ndash

      bull Any other requirement

      bull On systems which are outside the scope of the project This is prevalent in

      environments where inputs come from other systems Interface requirements

      need to be clearly documented and signed off by all the stakeholders

      Company Confidential 50

      Eight Point Check (Contdhellip)

      Testable

      One of the major challenges we face during requirements gathering is the testability of a

      requirement Very often customers come up with requirements that are not testable

      To determine the testability of a requirement following questions can be asked -

      bull Can we define the acceptance criteria for this requirement

      If the answer is no then this requirement is not testable

      bull Is this requirement clashing with any other requirement

      If yes then the set of requirements are not testable

      Example ndash The following requirement is not testable

      10 The system shall be user-friendly

      20 The user interface shall indicate the correct format for data input

      Company Confidential 51

      Eight Point Check (Contdhellip)

      Traceable

      You should be able to link each software requirement to its source which

      could be a higher-level system requirement a use case or a voice-of-the-customer

      statement or even a change request Also link each software requirement to the

      design elements source code and test cases that are constructed to implement and

      verify the requirement

      Company Confidential 52

      Requirements Traceability

      bull Requirement traceability is a process of establishing the linkage between the

      requirements and the testcases This helps the project in many ways

      bull It indicates the extent of testing a requirement has undergone

      bull It also gives a clear indication of how many requirements have gone live without

      any testing

      bull It also helps the testing team in identifying the impact of a requirement change

      For example if a requirement is getting tested using 10 testcases a change

      request will mean revisiting and retesting 10 testcases

      Company Confidential 53

      Requirements Traceability

      Traceability Matrix - A table that documents the requirements of the system

      for use in subsequent stages to confirm that all requirements have been met

      Requirements Id Design Specification Program Specification Test Case ID Defect ID

      Company Confidential 54

      Risk Based Testing

      Definition of Risk

      Risk is the possibility of suffering harm or loss

      In software testing we think of risk on three dimensions

      bull A way the program could fail

      bull How likely it is that the program could fail in that way

      bull What the consequences of that failure could be

      Company Confidential 55

      Risk Identification

      Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

      Company Confidential 56

      Risk Assessment

      Damage or Business Impact Business Impact is defined in terms of the damage to the

      business if a failure were to occur Each business function is checked with each criterion

      The result of analysis will help us divide business Functions into impact categories High

      Medium Low

      Impact

      Criteria High Impact Medium Low

      Type of Process

      Calculation

      Validation

      Change of data Display

      Business Implication Legal Wrong information None

      Frequency of use Very often Often Rare

      Number or

      Significance of Users

      Large number

      Very important

      Group Some

      Company Confidential 57

      Risk Assessment (Contdhellip)

      Type Of Process

      This criterion has the following possible values

      Calculation Validation - The feature represented by the requirement is an important

      calculation or validation

      Data Change - The feature represented by the requirement modifies application data

      Display - The feature represented by the requirement modifies the application display

      Company Confidential 58

      Risk Assessment (Contdhellip)

      Business Implication

      The impact to the business if the requirement is not met

      This criterion has the following possible values

      Legal - There may be legal consequences

      Wrong Information - The user may receive inaccurate information but this

      would not have legal consequences

      No Impact - The business would not be affected

      Company Confidential 59

      Risk Assessment (Contdhellip)

      Frequency of Use

      How often the feature represented by the requirement is used

      This criterion has the following possible values

      Very often - The feature is used very often

      Often - The feature is used relatively often

      Rare - The feature is rarely used

      Company Confidential 60

      Risk Assessment (Contdhellip)

      No or Significance of Users

      This criterion has the following possible values

      ManyHigh - The requirement affects many users or users with high importance

      to the business

      SomeMedium - The requirement affects some users or users with medium

      importance to the business

      FewLow - The requirement affects few users or users with minimal importance

      to the business

      Company Confidential 61

      Risk Assessment (Contdhellip)

      Failure Probability Like business impact failure probability is the result of an

      assessment based on standard criteria The criteria can be changed and adapted

      depending on a given environment The business functions are divided into three

      probability categories Very likely Likely and Unlikely

      Probability

      Criteria Very Likely Likely UnlikelyChange Type

      New Feature Changed Feature Unchanged Feature

      Software MaturityImmature Intermediate Mature

      Defect RateA high number of defects are likely to be opened

      Medium - A medium number of defects are likely to be opened

      Low - A low number of defects are likely to be opened

      No of affected ScreensEntities

      greater than 4 between 2 and 4 less than 2

      FAILURE PROBABILITY

      Company Confidential 62

      Risk Assessment (Contdhellip)

      Change Type

      Whether the feature the requirement is new changed or unchanged feature

      This criterion has the following possible values

      bull New feature - The requirement represents a feature that is new in this release

      bull Changed feature - The requirement represents a feature that previously existed but

      has been changed for this release

      bull Unchanged feature - The requirement represents a feature that is unchanged since

      previous releases

      Company Confidential 63

      Risk Assessment (Contdhellip)

      Software Maturity

      How mature is the code of feature represented by the requirement

      This criterion has the following possible values

      bull Immature - The code is not mature

      bull Intermediate - The code is at a medium level of maturity

      bull Mature - The code is at a high level of maturity

      Company Confidential 64

      Risk Assessment (Contdhellip)

      Defect Rate

      An estimate of how many defects are likely to be opened that relate to the requirement

      This criterion has the following possible values

      bull High - A high number of defects are likely to be opened

      bull Medium - A medium number of defects are likely to be opened

      bull Low - A low number of defects are likely to be opened

      Company Confidential 65

      Risk Assessment (Contdhellip)

      No of Affected Screens Entities

      This criterion has the following possible values

      bull How many application screens and entities are affected by the requirement

      bull This criterion has the following possible valuesgt 4 2-4 lt 2

      Company Confidential 66

      Risk Value Calculations

      Risk = Damage ProbabilityWhere -

      Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

      Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

      Hence we can derive the following formula ndashR (f) = C(f) P(f)

      Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

      P (f) ndash probability of a fault in function f

      Risk Calculator TemplateRisk Calculator

      Template

      RISK

      Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      • Sheet1
        • kulkarmr
          File Attachment
          Risk Calculatorpdf

          Company Confidential 67

          Test Prioritization

          Test Prioritization is done on the basis of identified Risk

          bull Test should find the most important defects first Most important means often ldquoin the most

          important functionsrdquo To find possible damage analyze how every function supports the mission and

          checking which functions are critical and which are not

          bull To find the probability of damage you have to decide where you expect

          most failures Finding the worst areas in the product and testing them more will help you find more

          defects If you find too many serious problems management will often be motivated to give you

          more time and resources for testing

          bull Testing in a situation where management cuts both budget and time is a bad game

          You have to endure and survive this game and turn it into a success The general methodology for

          this situation is not to test everything a little but to concentrate on high risk areas and the worst

          areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

          Company Confidential 68

          Test Prioritization

          In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

          In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

          RISK

          Business Function

          Type of process(a)

          Impact of Failure(b)

          No Significance of Users(c)

          Frequency of Use(d)

          Total Weighted Business Impact(x=a+b+c+d)

          Change Type(p)

          Software Maturity(q)

          Defect Rate(r)

          No of affected ScreensEntities(s)

          Total Weighted Failure Probability(y=p+q+r+s)

          RISK(xy)

          Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

          3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

          NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

          BUSINESS IMPACT FAILURE PROBABILITY

          Assumption - The MS Outlook system is fairly stable

          Company Confidential 69

          Tasks amp Deliverables

          Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

          Develop Test Cases from Use Cases Create Form level test cases and field level test cases

          Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

          Verify that test cases are created for all end to end flows in the application

          Create Requirements Verification matrix for all business functions

          Update requirements verification matrix with Test case Ids created

          Create Prioritization Matrix for Test case development and Execution

          Execute developed test cases

          Company Confidential 70

          References

          bull Writing Effective Use Cases by Alistair Cockburn

          bull URLs

          httpwwwprocessimpactcomarticlesqualreqshtml

          • Slide Number 1
          • Test Design
          • Pre-requisites
          • Evolution of Test Design Techniques
          • Table of Contents
          • Slide Number 6
          • Test Design - Introduction (Contd hellip)
          • Test Design - Introduction (Contd hellip)
          • Functional Testing
          • Entry Criteria For Functional Testing
          • Functional Testing Techniques
          • Exit Criteria For Functional Testing
          • Business Process Test
          • Business Process Test (Contd hellip)
          • Business Process Test (Contd hellip)
          • What is Use Case Interactions
          • Testing Use Case Interactions
          • Use Case Diagram ndash Symbols amp Notations
          • What Is a Use Case Diagram
          • Use Case ndash Use Case Interactions Matrix
          • Testing Use Case Interactions (Contd hellip)
          • Advantages of Use Case Interactions
          • What is an Entity
          • What is Entity Interactions
          • Entity Interactions (Contd hellip)
          • What is a Domain Model
          • Entity Interactions from Domain Model
          • Entity-Entity Matrix
          • Use Case ndash Entity Interactions
          • Use Case - Entity Interactions (Contd hellip)
          • Use Case-Entity Matrix
          • Exit Criteria For Business Process Test
          • Role Based Access Testing
          • Role Based Access Testing (Contd hellip)
          • Example Library Management system
          • Task-Role-User Relationship
          • Understanding Task-Role Matrix
          • Understanding Role-User Matrix
          • Exit Criteria For Role Based Access Test
          • System Test
          • Exit Criteria For System Test
          • Case Study - 1
          • Requirements Verification
          • Requirements Verification (Contd hellip)
          • Requirements Verification (Contd hellip)
          • Eight Point Check
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Eight Point Check (Contdhellip)
          • Requirements Traceability
          • Requirements Traceability
          • Risk Based Testing
          • Risk Identification
          • Risk Assessment
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Assessment (Contdhellip)
          • Risk Value Calculations
          • Test Prioritization
          • Test Prioritization
          • Tasks amp Deliverables
          • References
Page 50: Test Design_ Training Material

Domain Model for MS-Project

User Project

Task Resource Pool

Resource Cost

Budget Representative

1 Scheduled 1

1 Schedules

1hellip Creates 1

1 allots resources

1 get Scheduled 1

1 Manages resources

1 is allotted to 1

1 Consists of

1 Gets 1

1 Does

Schedules

Assigned 1 1 is allotted to

assigns

Base Calendar Resource Calendar

Assigned to 1

kulkarmr
File Attachment
DomainModel__MSProjectpdf

Company Confidential 43

Requirements Verification

Requirements Verification ensures that the system requirements are satisfied and also

that the technical derived and product requirements are verified

Software requirements are often called as specifications

In order to ensure test coverage we will be mapping requirements to the test cases

Company Confidential 44

Requirements Verification (Contd hellip)

Following steps are to be taken for requirement Verification

bull Build a common reference or business analysts and IT Group similar user cases to form

one business function Split complex use case into two or more business functions

bull Link Requirements Here we can link requirements with appropriate business functions

bull For Example Login functionality for the Ms Outlook application will have requirements

related to login with Valid User name and password

Company Confidential 45

Requirements Verification (Contd hellip)

bull Add Proof Points are for requirements based on changes Each requirement must have

within it a statement of the acceptance criteria

For example Requirement must specify that New page is displayed after validating

user login

Company Confidential 46

Eight Point Check

It is advisable to do a check on the requirements received from the client The testing

team can take care of the following aspects ndash

The following guidelines can be used to verify requirements received from the client

Singular Consistent

Unambiguous Dependencies

Measurable Testable

Complete Traceable

Company Confidential 47

Eight Point Check (Contdhellip)

Singular

Donrsquot merge or link requirements The requirement must address one and only one

thing Break the requirements down into singular Units The usage of the word and to

combine two separate thoughts into one requirement If itrsquos two separate thoughts it

should be two requirements

Unambiguous

Anything that makes you think that there are at least two different ways of understanding

the requirement amp clarification sought is ambiguous

Example The HTML Parser shall produce an HTML markup error report which

allows quick resolution of errors when used by HTML novices

The word quick is ambiguous

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 51: Test Design_ Training Material

Company Confidential 43

Requirements Verification

Requirements Verification ensures that the system requirements are satisfied and also

that the technical derived and product requirements are verified

Software requirements are often called as specifications

In order to ensure test coverage we will be mapping requirements to the test cases

Company Confidential 44

Requirements Verification (Contd hellip)

Following steps are to be taken for requirement Verification

bull Build a common reference or business analysts and IT Group similar user cases to form

one business function Split complex use case into two or more business functions

bull Link Requirements Here we can link requirements with appropriate business functions

bull For Example Login functionality for the Ms Outlook application will have requirements

related to login with Valid User name and password

Company Confidential 45

Requirements Verification (Contd hellip)

bull Add Proof Points are for requirements based on changes Each requirement must have

within it a statement of the acceptance criteria

For example Requirement must specify that New page is displayed after validating

user login

Company Confidential 46

Eight Point Check

It is advisable to do a check on the requirements received from the client The testing

team can take care of the following aspects ndash

The following guidelines can be used to verify requirements received from the client

Singular Consistent

Unambiguous Dependencies

Measurable Testable

Complete Traceable

Company Confidential 47

Eight Point Check (Contdhellip)

Singular

Donrsquot merge or link requirements The requirement must address one and only one

thing Break the requirements down into singular Units The usage of the word and to

combine two separate thoughts into one requirement If itrsquos two separate thoughts it

should be two requirements

Unambiguous

Anything that makes you think that there are at least two different ways of understanding

the requirement amp clarification sought is ambiguous

Example The HTML Parser shall produce an HTML markup error report which

allows quick resolution of errors when used by HTML novices

The word quick is ambiguous

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 52: Test Design_ Training Material

Company Confidential 44

Requirements Verification (Contd hellip)

Following steps are to be taken for requirement Verification

bull Build a common reference or business analysts and IT Group similar user cases to form

one business function Split complex use case into two or more business functions

bull Link Requirements Here we can link requirements with appropriate business functions

bull For Example Login functionality for the Ms Outlook application will have requirements

related to login with Valid User name and password

Company Confidential 45

Requirements Verification (Contd hellip)

bull Add Proof Points are for requirements based on changes Each requirement must have

within it a statement of the acceptance criteria

For example Requirement must specify that New page is displayed after validating

user login

Company Confidential 46

Eight Point Check

It is advisable to do a check on the requirements received from the client The testing

team can take care of the following aspects ndash

The following guidelines can be used to verify requirements received from the client

Singular Consistent

Unambiguous Dependencies

Measurable Testable

Complete Traceable

Company Confidential 47

Eight Point Check (Contdhellip)

Singular

Donrsquot merge or link requirements The requirement must address one and only one

thing Break the requirements down into singular Units The usage of the word and to

combine two separate thoughts into one requirement If itrsquos two separate thoughts it

should be two requirements

Unambiguous

Anything that makes you think that there are at least two different ways of understanding

the requirement amp clarification sought is ambiguous

Example The HTML Parser shall produce an HTML markup error report which

allows quick resolution of errors when used by HTML novices

The word quick is ambiguous

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 53: Test Design_ Training Material

Company Confidential 45

Requirements Verification (Contd hellip)

bull Add Proof Points are for requirements based on changes Each requirement must have

within it a statement of the acceptance criteria

For example Requirement must specify that New page is displayed after validating

user login

Company Confidential 46

Eight Point Check

It is advisable to do a check on the requirements received from the client The testing

team can take care of the following aspects ndash

The following guidelines can be used to verify requirements received from the client

Singular Consistent

Unambiguous Dependencies

Measurable Testable

Complete Traceable

Company Confidential 47

Eight Point Check (Contdhellip)

Singular

Donrsquot merge or link requirements The requirement must address one and only one

thing Break the requirements down into singular Units The usage of the word and to

combine two separate thoughts into one requirement If itrsquos two separate thoughts it

should be two requirements

Unambiguous

Anything that makes you think that there are at least two different ways of understanding

the requirement amp clarification sought is ambiguous

Example The HTML Parser shall produce an HTML markup error report which

allows quick resolution of errors when used by HTML novices

The word quick is ambiguous

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 54: Test Design_ Training Material

Company Confidential 46

Eight Point Check

It is advisable to do a check on the requirements received from the client The testing

team can take care of the following aspects ndash

The following guidelines can be used to verify requirements received from the client

Singular Consistent

Unambiguous Dependencies

Measurable Testable

Complete Traceable

Company Confidential 47

Eight Point Check (Contdhellip)

Singular

Donrsquot merge or link requirements The requirement must address one and only one

thing Break the requirements down into singular Units The usage of the word and to

combine two separate thoughts into one requirement If itrsquos two separate thoughts it

should be two requirements

Unambiguous

Anything that makes you think that there are at least two different ways of understanding

the requirement amp clarification sought is ambiguous

Example The HTML Parser shall produce an HTML markup error report which

allows quick resolution of errors when used by HTML novices

The word quick is ambiguous

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 55: Test Design_ Training Material

Company Confidential 47

Eight Point Check (Contdhellip)

Singular

Donrsquot merge or link requirements The requirement must address one and only one

thing Break the requirements down into singular Units The usage of the word and to

combine two separate thoughts into one requirement If itrsquos two separate thoughts it

should be two requirements

Unambiguous

Anything that makes you think that there are at least two different ways of understanding

the requirement amp clarification sought is ambiguous

Example The HTML Parser shall produce an HTML markup error report which

allows quick resolution of errors when used by HTML novices

The word quick is ambiguous

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 56: Test Design_ Training Material

Company Confidential 48

Eight Point Check (Contdhellip)

Measurable

Specific ranges and outcomes ndash no approximates Can you have an expected measurable

result It should be possible to construct an expected result for every requirement

Complete

No requirements or necessary information should be missing Completeness is also a

desired characteristic of an individual requirement It is hard to spot missing requirements

because they arenrsquot there

Example - ldquoThe product shall provide status messages at regular intervals not less than

every 60 seconds This requirement is incomplete as it leaves the following questions

unanswered Is the interval between status messages really supposed to be at least 60

seconds so showing a new message every 1 hour is okay

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 57: Test Design_ Training Material

Company Confidential 49

Eight Point Check (Contdhellip)

Consistent

The requirement does not contradict any other requirement and is fully consistent with

all other project documentation

Dependencies

Clearly identify the dependency of your requirements on ndash

bull Any other requirement

bull On systems which are outside the scope of the project This is prevalent in

environments where inputs come from other systems Interface requirements

need to be clearly documented and signed off by all the stakeholders

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 58: Test Design_ Training Material

Company Confidential 50

Eight Point Check (Contdhellip)

Testable

One of the major challenges we face during requirements gathering is the testability of a

requirement Very often customers come up with requirements that are not testable

To determine the testability of a requirement following questions can be asked -

bull Can we define the acceptance criteria for this requirement

If the answer is no then this requirement is not testable

bull Is this requirement clashing with any other requirement

If yes then the set of requirements are not testable

Example ndash The following requirement is not testable

10 The system shall be user-friendly

20 The user interface shall indicate the correct format for data input

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 59: Test Design_ Training Material

Company Confidential 51

Eight Point Check (Contdhellip)

Traceable

You should be able to link each software requirement to its source which

could be a higher-level system requirement a use case or a voice-of-the-customer

statement or even a change request Also link each software requirement to the

design elements source code and test cases that are constructed to implement and

verify the requirement

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 60: Test Design_ Training Material

Company Confidential 52

Requirements Traceability

bull Requirement traceability is a process of establishing the linkage between the

requirements and the testcases This helps the project in many ways

bull It indicates the extent of testing a requirement has undergone

bull It also gives a clear indication of how many requirements have gone live without

any testing

bull It also helps the testing team in identifying the impact of a requirement change

For example if a requirement is getting tested using 10 testcases a change

request will mean revisiting and retesting 10 testcases

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 61: Test Design_ Training Material

Company Confidential 53

Requirements Traceability

Traceability Matrix - A table that documents the requirements of the system

for use in subsequent stages to confirm that all requirements have been met

Requirements Id Design Specification Program Specification Test Case ID Defect ID

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 62: Test Design_ Training Material

Company Confidential 54

Risk Based Testing

Definition of Risk

Risk is the possibility of suffering harm or loss

In software testing we think of risk on three dimensions

bull A way the program could fail

bull How likely it is that the program could fail in that way

bull What the consequences of that failure could be

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 63: Test Design_ Training Material

Company Confidential 55

Risk Identification

Risk is the product of damage and probability for damage to occur Analyze the ways the software may fail Find the possible consequences of such failure modes bydetermining damage amp determining the Probability of Failure

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 64: Test Design_ Training Material

Company Confidential 56

Risk Assessment

Damage or Business Impact Business Impact is defined in terms of the damage to the

business if a failure were to occur Each business function is checked with each criterion

The result of analysis will help us divide business Functions into impact categories High

Medium Low

Impact

Criteria High Impact Medium Low

Type of Process

Calculation

Validation

Change of data Display

Business Implication Legal Wrong information None

Frequency of use Very often Often Rare

Number or

Significance of Users

Large number

Very important

Group Some

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 65: Test Design_ Training Material

Company Confidential 57

Risk Assessment (Contdhellip)

Type Of Process

This criterion has the following possible values

Calculation Validation - The feature represented by the requirement is an important

calculation or validation

Data Change - The feature represented by the requirement modifies application data

Display - The feature represented by the requirement modifies the application display

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 66: Test Design_ Training Material

Company Confidential 58

Risk Assessment (Contdhellip)

Business Implication

The impact to the business if the requirement is not met

This criterion has the following possible values

Legal - There may be legal consequences

Wrong Information - The user may receive inaccurate information but this

would not have legal consequences

No Impact - The business would not be affected

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 67: Test Design_ Training Material

Company Confidential 59

Risk Assessment (Contdhellip)

Frequency of Use

How often the feature represented by the requirement is used

This criterion has the following possible values

Very often - The feature is used very often

Often - The feature is used relatively often

Rare - The feature is rarely used

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 68: Test Design_ Training Material

Company Confidential 60

Risk Assessment (Contdhellip)

No or Significance of Users

This criterion has the following possible values

ManyHigh - The requirement affects many users or users with high importance

to the business

SomeMedium - The requirement affects some users or users with medium

importance to the business

FewLow - The requirement affects few users or users with minimal importance

to the business

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 69: Test Design_ Training Material

Company Confidential 61

Risk Assessment (Contdhellip)

Failure Probability Like business impact failure probability is the result of an

assessment based on standard criteria The criteria can be changed and adapted

depending on a given environment The business functions are divided into three

probability categories Very likely Likely and Unlikely

Probability

Criteria Very Likely Likely UnlikelyChange Type

New Feature Changed Feature Unchanged Feature

Software MaturityImmature Intermediate Mature

Defect RateA high number of defects are likely to be opened

Medium - A medium number of defects are likely to be opened

Low - A low number of defects are likely to be opened

No of affected ScreensEntities

greater than 4 between 2 and 4 less than 2

FAILURE PROBABILITY

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 70: Test Design_ Training Material

Company Confidential 62

Risk Assessment (Contdhellip)

Change Type

Whether the feature the requirement is new changed or unchanged feature

This criterion has the following possible values

bull New feature - The requirement represents a feature that is new in this release

bull Changed feature - The requirement represents a feature that previously existed but

has been changed for this release

bull Unchanged feature - The requirement represents a feature that is unchanged since

previous releases

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 71: Test Design_ Training Material

Company Confidential 63

Risk Assessment (Contdhellip)

Software Maturity

How mature is the code of feature represented by the requirement

This criterion has the following possible values

bull Immature - The code is not mature

bull Intermediate - The code is at a medium level of maturity

bull Mature - The code is at a high level of maturity

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 72: Test Design_ Training Material

Company Confidential 64

Risk Assessment (Contdhellip)

Defect Rate

An estimate of how many defects are likely to be opened that relate to the requirement

This criterion has the following possible values

bull High - A high number of defects are likely to be opened

bull Medium - A medium number of defects are likely to be opened

bull Low - A low number of defects are likely to be opened

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 73: Test Design_ Training Material

Company Confidential 65

Risk Assessment (Contdhellip)

No of Affected Screens Entities

This criterion has the following possible values

bull How many application screens and entities are affected by the requirement

bull This criterion has the following possible valuesgt 4 2-4 lt 2

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 74: Test Design_ Training Material

Company Confidential 66

Risk Value Calculations

Risk = Damage ProbabilityWhere -

Damage = (Value of Damage Factor 1 + Value of Damage Factor 2 + hellipValue of Damage Factor n)

Probability = (Value of Probable Factor 1 + Value of Probable Factor2 +hellipValue of Probable Factor n)

Hence we can derive the following formula ndashR (f) = C(f) P(f)

Where - R (f) ndash calculated risk of function fC (f) ndash cost related to a fault in function f

P (f) ndash probability of a fault in function f

Risk Calculator TemplateRisk Calculator

Template

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 75: Test Design_ Training Material

RISK

Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 76: Test Design_ Training Material
  • Sheet1
    • kulkarmr
      File Attachment
      Risk Calculatorpdf

      Company Confidential 67

      Test Prioritization

      Test Prioritization is done on the basis of identified Risk

      bull Test should find the most important defects first Most important means often ldquoin the most

      important functionsrdquo To find possible damage analyze how every function supports the mission and

      checking which functions are critical and which are not

      bull To find the probability of damage you have to decide where you expect

      most failures Finding the worst areas in the product and testing them more will help you find more

      defects If you find too many serious problems management will often be motivated to give you

      more time and resources for testing

      bull Testing in a situation where management cuts both budget and time is a bad game

      You have to endure and survive this game and turn it into a success The general methodology for

      this situation is not to test everything a little but to concentrate on high risk areas and the worst

      areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

      Company Confidential 68

      Test Prioritization

      In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

      In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

      RISK

      Business Function

      Type of process(a)

      Impact of Failure(b)

      No Significance of Users(c)

      Frequency of Use(d)

      Total Weighted Business Impact(x=a+b+c+d)

      Change Type(p)

      Software Maturity(q)

      Defect Rate(r)

      No of affected ScreensEntities(s)

      Total Weighted Failure Probability(y=p+q+r+s)

      RISK(xy)

      Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

      3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

      NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

      BUSINESS IMPACT FAILURE PROBABILITY

      Assumption - The MS Outlook system is fairly stable

      Company Confidential 69

      Tasks amp Deliverables

      Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

      Develop Test Cases from Use Cases Create Form level test cases and field level test cases

      Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

      Verify that test cases are created for all end to end flows in the application

      Create Requirements Verification matrix for all business functions

      Update requirements verification matrix with Test case Ids created

      Create Prioritization Matrix for Test case development and Execution

      Execute developed test cases

      Company Confidential 70

      References

      bull Writing Effective Use Cases by Alistair Cockburn

      bull URLs

      httpwwwprocessimpactcomarticlesqualreqshtml

      • Slide Number 1
      • Test Design
      • Pre-requisites
      • Evolution of Test Design Techniques
      • Table of Contents
      • Slide Number 6
      • Test Design - Introduction (Contd hellip)
      • Test Design - Introduction (Contd hellip)
      • Functional Testing
      • Entry Criteria For Functional Testing
      • Functional Testing Techniques
      • Exit Criteria For Functional Testing
      • Business Process Test
      • Business Process Test (Contd hellip)
      • Business Process Test (Contd hellip)
      • What is Use Case Interactions
      • Testing Use Case Interactions
      • Use Case Diagram ndash Symbols amp Notations
      • What Is a Use Case Diagram
      • Use Case ndash Use Case Interactions Matrix
      • Testing Use Case Interactions (Contd hellip)
      • Advantages of Use Case Interactions
      • What is an Entity
      • What is Entity Interactions
      • Entity Interactions (Contd hellip)
      • What is a Domain Model
      • Entity Interactions from Domain Model
      • Entity-Entity Matrix
      • Use Case ndash Entity Interactions
      • Use Case - Entity Interactions (Contd hellip)
      • Use Case-Entity Matrix
      • Exit Criteria For Business Process Test
      • Role Based Access Testing
      • Role Based Access Testing (Contd hellip)
      • Example Library Management system
      • Task-Role-User Relationship
      • Understanding Task-Role Matrix
      • Understanding Role-User Matrix
      • Exit Criteria For Role Based Access Test
      • System Test
      • Exit Criteria For System Test
      • Case Study - 1
      • Requirements Verification
      • Requirements Verification (Contd hellip)
      • Requirements Verification (Contd hellip)
      • Eight Point Check
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Eight Point Check (Contdhellip)
      • Requirements Traceability
      • Requirements Traceability
      • Risk Based Testing
      • Risk Identification
      • Risk Assessment
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Assessment (Contdhellip)
      • Risk Value Calculations
      • Test Prioritization
      • Test Prioritization
      • Tasks amp Deliverables
      • References
Page 77: Test Design_ Training Material

Company Confidential 67

Test Prioritization

Test Prioritization is done on the basis of identified Risk

bull Test should find the most important defects first Most important means often ldquoin the most

important functionsrdquo To find possible damage analyze how every function supports the mission and

checking which functions are critical and which are not

bull To find the probability of damage you have to decide where you expect

most failures Finding the worst areas in the product and testing them more will help you find more

defects If you find too many serious problems management will often be motivated to give you

more time and resources for testing

bull Testing in a situation where management cuts both budget and time is a bad game

You have to endure and survive this game and turn it into a success The general methodology for

this situation is not to test everything a little but to concentrate on high risk areas and the worst

areas The Prioritization of Test Cases needs to be done in consultation with the Client Customer

Company Confidential 68

Test Prioritization

In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

RISK

Business Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

Assumption - The MS Outlook system is fairly stable

Company Confidential 69

Tasks amp Deliverables

Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

Develop Test Cases from Use Cases Create Form level test cases and field level test cases

Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

Verify that test cases are created for all end to end flows in the application

Create Requirements Verification matrix for all business functions

Update requirements verification matrix with Test case Ids created

Create Prioritization Matrix for Test case development and Execution

Execute developed test cases

Company Confidential 70

References

bull Writing Effective Use Cases by Alistair Cockburn

bull URLs

httpwwwprocessimpactcomarticlesqualreqshtml

  • Slide Number 1
  • Test Design
  • Pre-requisites
  • Evolution of Test Design Techniques
  • Table of Contents
  • Slide Number 6
  • Test Design - Introduction (Contd hellip)
  • Test Design - Introduction (Contd hellip)
  • Functional Testing
  • Entry Criteria For Functional Testing
  • Functional Testing Techniques
  • Exit Criteria For Functional Testing
  • Business Process Test
  • Business Process Test (Contd hellip)
  • Business Process Test (Contd hellip)
  • What is Use Case Interactions
  • Testing Use Case Interactions
  • Use Case Diagram ndash Symbols amp Notations
  • What Is a Use Case Diagram
  • Use Case ndash Use Case Interactions Matrix
  • Testing Use Case Interactions (Contd hellip)
  • Advantages of Use Case Interactions
  • What is an Entity
  • What is Entity Interactions
  • Entity Interactions (Contd hellip)
  • What is a Domain Model
  • Entity Interactions from Domain Model
  • Entity-Entity Matrix
  • Use Case ndash Entity Interactions
  • Use Case - Entity Interactions (Contd hellip)
  • Use Case-Entity Matrix
  • Exit Criteria For Business Process Test
  • Role Based Access Testing
  • Role Based Access Testing (Contd hellip)
  • Example Library Management system
  • Task-Role-User Relationship
  • Understanding Task-Role Matrix
  • Understanding Role-User Matrix
  • Exit Criteria For Role Based Access Test
  • System Test
  • Exit Criteria For System Test
  • Case Study - 1
  • Requirements Verification
  • Requirements Verification (Contd hellip)
  • Requirements Verification (Contd hellip)
  • Eight Point Check
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Requirements Traceability
  • Requirements Traceability
  • Risk Based Testing
  • Risk Identification
  • Risk Assessment
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Value Calculations
  • Test Prioritization
  • Test Prioritization
  • Tasks amp Deliverables
  • References
Page 78: Test Design_ Training Material

Company Confidential 68

Test Prioritization

In the MS- Outlook example the risk value calculation is as shown below The functions with high risk should get high priority for testing

In the above example testing needs to be more focused on the high risk areasHence more test cases need to be developed around the functionalities with high risk values and fewer test cases can be developed for functionalities with low risk value

RISK

Business Function

Type of process(a)

Impact of Failure(b)

No Significance of Users(c)

Frequency of Use(d)

Total Weighted Business Impact(x=a+b+c+d)

Change Type(p)

Software Maturity(q)

Defect Rate(r)

No of affected ScreensEntities(s)

Total Weighted Failure Probability(y=p+q+r+s)

RISK(xy)

Login 10 10 10 3 33 1 1 1 1 4 132Send Mails 10 10 10 10 40 1 1 1 3 6 240Add Contacts 3 3 3 3 12 3 1 1 10 15 180Assign Calendar 3 3 3 3 12 1 1 3 3 8 96Make An Appointment 3 3 3 3 12 3 3 3 3 12 144Make A Meeting Request

3 3 3 1 10 3 3 3 3 12 120ExitLog Off 3 3 3 1 10 1 1 1 3 6 60

NOTE Weights for each parameter is given in the comment Please exchange the given weight numbers with your chosen weightsTypically the three values of 1 - 3 - 10 are good to determine low medium and high impact

BUSINESS IMPACT FAILURE PROBABILITY

Assumption - The MS Outlook system is fairly stable

Company Confidential 69

Tasks amp Deliverables

Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

Develop Test Cases from Use Cases Create Form level test cases and field level test cases

Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

Verify that test cases are created for all end to end flows in the application

Create Requirements Verification matrix for all business functions

Update requirements verification matrix with Test case Ids created

Create Prioritization Matrix for Test case development and Execution

Execute developed test cases

Company Confidential 70

References

bull Writing Effective Use Cases by Alistair Cockburn

bull URLs

httpwwwprocessimpactcomarticlesqualreqshtml

  • Slide Number 1
  • Test Design
  • Pre-requisites
  • Evolution of Test Design Techniques
  • Table of Contents
  • Slide Number 6
  • Test Design - Introduction (Contd hellip)
  • Test Design - Introduction (Contd hellip)
  • Functional Testing
  • Entry Criteria For Functional Testing
  • Functional Testing Techniques
  • Exit Criteria For Functional Testing
  • Business Process Test
  • Business Process Test (Contd hellip)
  • Business Process Test (Contd hellip)
  • What is Use Case Interactions
  • Testing Use Case Interactions
  • Use Case Diagram ndash Symbols amp Notations
  • What Is a Use Case Diagram
  • Use Case ndash Use Case Interactions Matrix
  • Testing Use Case Interactions (Contd hellip)
  • Advantages of Use Case Interactions
  • What is an Entity
  • What is Entity Interactions
  • Entity Interactions (Contd hellip)
  • What is a Domain Model
  • Entity Interactions from Domain Model
  • Entity-Entity Matrix
  • Use Case ndash Entity Interactions
  • Use Case - Entity Interactions (Contd hellip)
  • Use Case-Entity Matrix
  • Exit Criteria For Business Process Test
  • Role Based Access Testing
  • Role Based Access Testing (Contd hellip)
  • Example Library Management system
  • Task-Role-User Relationship
  • Understanding Task-Role Matrix
  • Understanding Role-User Matrix
  • Exit Criteria For Role Based Access Test
  • System Test
  • Exit Criteria For System Test
  • Case Study - 1
  • Requirements Verification
  • Requirements Verification (Contd hellip)
  • Requirements Verification (Contd hellip)
  • Eight Point Check
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Requirements Traceability
  • Requirements Traceability
  • Risk Based Testing
  • Risk Identification
  • Risk Assessment
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Value Calculations
  • Test Prioritization
  • Test Prioritization
  • Tasks amp Deliverables
  • References
Page 79: Test Design_ Training Material

Company Confidential 69

Tasks amp Deliverables

Test Designerrsquos tasks Deliverables Test Engineerrsquos tasks DeliverablesAnalyze the Business RequirementsIdentify the Use Cases Business functions Test Scenarios

Develop Test Cases from Use Cases Create Form level test cases and field level test cases

Create Domain Use Case ModelCreate Matrices - Use Case Interactions Use case entity interactions and Entity Interactions

Verify that test cases are created for all end to end flows in the application

Create Requirements Verification matrix for all business functions

Update requirements verification matrix with Test case Ids created

Create Prioritization Matrix for Test case development and Execution

Execute developed test cases

Company Confidential 70

References

bull Writing Effective Use Cases by Alistair Cockburn

bull URLs

httpwwwprocessimpactcomarticlesqualreqshtml

  • Slide Number 1
  • Test Design
  • Pre-requisites
  • Evolution of Test Design Techniques
  • Table of Contents
  • Slide Number 6
  • Test Design - Introduction (Contd hellip)
  • Test Design - Introduction (Contd hellip)
  • Functional Testing
  • Entry Criteria For Functional Testing
  • Functional Testing Techniques
  • Exit Criteria For Functional Testing
  • Business Process Test
  • Business Process Test (Contd hellip)
  • Business Process Test (Contd hellip)
  • What is Use Case Interactions
  • Testing Use Case Interactions
  • Use Case Diagram ndash Symbols amp Notations
  • What Is a Use Case Diagram
  • Use Case ndash Use Case Interactions Matrix
  • Testing Use Case Interactions (Contd hellip)
  • Advantages of Use Case Interactions
  • What is an Entity
  • What is Entity Interactions
  • Entity Interactions (Contd hellip)
  • What is a Domain Model
  • Entity Interactions from Domain Model
  • Entity-Entity Matrix
  • Use Case ndash Entity Interactions
  • Use Case - Entity Interactions (Contd hellip)
  • Use Case-Entity Matrix
  • Exit Criteria For Business Process Test
  • Role Based Access Testing
  • Role Based Access Testing (Contd hellip)
  • Example Library Management system
  • Task-Role-User Relationship
  • Understanding Task-Role Matrix
  • Understanding Role-User Matrix
  • Exit Criteria For Role Based Access Test
  • System Test
  • Exit Criteria For System Test
  • Case Study - 1
  • Requirements Verification
  • Requirements Verification (Contd hellip)
  • Requirements Verification (Contd hellip)
  • Eight Point Check
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Requirements Traceability
  • Requirements Traceability
  • Risk Based Testing
  • Risk Identification
  • Risk Assessment
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Value Calculations
  • Test Prioritization
  • Test Prioritization
  • Tasks amp Deliverables
  • References
Page 80: Test Design_ Training Material

Company Confidential 70

References

bull Writing Effective Use Cases by Alistair Cockburn

bull URLs

httpwwwprocessimpactcomarticlesqualreqshtml

  • Slide Number 1
  • Test Design
  • Pre-requisites
  • Evolution of Test Design Techniques
  • Table of Contents
  • Slide Number 6
  • Test Design - Introduction (Contd hellip)
  • Test Design - Introduction (Contd hellip)
  • Functional Testing
  • Entry Criteria For Functional Testing
  • Functional Testing Techniques
  • Exit Criteria For Functional Testing
  • Business Process Test
  • Business Process Test (Contd hellip)
  • Business Process Test (Contd hellip)
  • What is Use Case Interactions
  • Testing Use Case Interactions
  • Use Case Diagram ndash Symbols amp Notations
  • What Is a Use Case Diagram
  • Use Case ndash Use Case Interactions Matrix
  • Testing Use Case Interactions (Contd hellip)
  • Advantages of Use Case Interactions
  • What is an Entity
  • What is Entity Interactions
  • Entity Interactions (Contd hellip)
  • What is a Domain Model
  • Entity Interactions from Domain Model
  • Entity-Entity Matrix
  • Use Case ndash Entity Interactions
  • Use Case - Entity Interactions (Contd hellip)
  • Use Case-Entity Matrix
  • Exit Criteria For Business Process Test
  • Role Based Access Testing
  • Role Based Access Testing (Contd hellip)
  • Example Library Management system
  • Task-Role-User Relationship
  • Understanding Task-Role Matrix
  • Understanding Role-User Matrix
  • Exit Criteria For Role Based Access Test
  • System Test
  • Exit Criteria For System Test
  • Case Study - 1
  • Requirements Verification
  • Requirements Verification (Contd hellip)
  • Requirements Verification (Contd hellip)
  • Eight Point Check
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Eight Point Check (Contdhellip)
  • Requirements Traceability
  • Requirements Traceability
  • Risk Based Testing
  • Risk Identification
  • Risk Assessment
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Assessment (Contdhellip)
  • Risk Value Calculations
  • Test Prioritization
  • Test Prioritization
  • Tasks amp Deliverables
  • References