0% found this document useful (0 votes)
42 views42 pages

Ses6 SWRT

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views42 pages

Ses6 SWRT

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Software Testing Foundation

Software Requirement for Tester

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 1


Lesson Objectives

 Be introduced Requirement Concepts


 Know how to study and clarify functional requirements
 User Interface
 Function

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 2


AGENDA

• Requirement Concepts

• Requirement Types

• Study & Clarify Requirement

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 3


Section 1
REQUIREMENT CONCEPTS

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 4


Requirement Definition

• A statement of a
service the
system must do
OR
• A statement of a
constraint the
system must
satisfy
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 5
Requirement Definition

o Let us dissect this definition in order to better understand it:


• A requirement is a statement…: this means that each requirement is a
relatively short and concise piece of information, expressed as a fact. It
can be written as a sentence or can be expressed using some kind of
diagram. We will call a collection of requirements a requirements
document.
“As a [personal/actor], I [want to], [so that].”

E.g. As a manager, I want to be able to understand my colleagues progress,


so I can better report our success and failures.

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 6


Requirement Definition

o …an service of what the proposed system must do…: most


requirements say something about the tasks the system is supposed
to accomplish. They do not describe the domain.
E.g. UC1: Log in - This function allows user to login to system

o …a constraint on the system’s development…: requirements often


specify the quality levels required. They may also specify details such
as the programming language to be used if this is truly important to the
customer. They should, however, avoid discussing incidental aspects
of the design.
E.g. The system will be initially operating on a Microsoft Windows
2000 server platform with latest service pack (SP2 and above)
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 7
Why do we need requirements?

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 8


Requirement Classification

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 9


Requirement Document Classification

During attend to software project, you can see some kinds


of requirement document below:
 High Level Requirement (HLR) Document / User
Requirement Definition (URD)
 Use Case Document
 Software Requirement Specification Document

 Note: these documents are in many templates

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 10


Section 2
REQUIREMENT TYPES

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 11


Requirement Types

 Requirements can be divided into two


major types:
 Functional Requirements
 Non-functional Requirements

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 12


Functional Requirement

 Discuss the functionality required by the


users from the system
 Things that a system has to do related to
business flow
 Example:
 Do a calculation: add, new, edit, delete
functions
 Make a report
 Security: access right
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 13
Non-functional Requirement

 Is a statement of how a system must behave;


 Is a constraint upon system’s behaviour
 Non-functional requirements can be categorized as
 Quality constraint
 Performance constraint
 Design constraint
 Environmental / platform constraint
 Process constraint

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 14


Quality Constraints

Quality constraints reflects the quality attributes. These quality requirements


constrain the design to meet specified levels of quality.
 Maintainability and Enhancement: in order to ensure that the system
can be adapted in the future, you should describe changes that are
anticipated for subsequent releases. This constrains design and improves
quality without adding explicit new functional requirements.
 Reusability: is the likelihood a segment of source code that can be used
again to add new functionalities with slight or no modification. Reusability
reduces implementation time as reusable model is already tested.
 Reliability: is specified by using mean time to failure. It is the ability of a
system to perform its functions under stated conditions for a specified
period of time.
E.g. System should not down for more than 5 minutes. / less than 1hr
downtime.

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 15


Performance Constraints

 Response time: is time system take to compute the result.


Low response time is desirable.
 Throughput: is number of computation or transactions per
unit time. Some systems take long time for processing or Some
systems are continually responding to client , it is necessary to
consider throughput.
E.g. System must handle 1,000 transactions/sec
 Utilization: is resources consumed by the system.
Utilization of resources such as memory or network bandwidth
are specified.
E.g. system should not use more than 20MBPS of bandwidth.

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 16


Design Constraints

 Availability: measures the amount of time that a server


is running and available to respond to users.
E.g. The system is operational during standard working
hours (9am to 5pm). However, there should be the
flexibility to operate the system 24 hours a day 7 days a
week
 Recovery from failure: If the hardware or software
crashes, or the power fails, then the system will be able
to recover within a certain amount of time, and with a
certain minimal loss of data.

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 17


Environmental/Platform Constraints

 Platform: Platform specifies the hardware and


operating system used for developing system.
E.g. Linux operating system with 2GB RAM.
 Technology to be used: It signifies the
programming language (framework) used to
develop a system. Sometimes client places
constraint on programming language to be
used for developing system.
E.g. System should be developed by using
java language.
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 18
Process Constraints

 Development process to be used: In order


to ensure quality, some requirements
documents specify that certain processes be
followed;
E.g. Microsoft SQLServer 2000 will be used
for LMS
 Cost and delivery date.

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 19


Assignment 1 - Identify Functional, Non-
Functional Requirements
 Objectives: Học viên xác định được rõ đâu là yêu cầu kiểm thử chức năng,
đâu là yêu cầu kiểm thử phi chức năng và yêu cầu kiểm thử phi chức năng đó
thuộc nhóm ràng buộc – Constraint nào
 Technical Requirements:
 Chia học viên thành các nhóm (~5 hv), tối đa 4 nhóm / lớp
 2 nhóm sẽ làm 1 SRS (1 nhóm làm về Functional requirement, 1 nhóm làm về
Non-Functional requirement)
 Các bạn trong nhóm sẽ đọc, trao đổi và thống nhất và điền kết quả bài làm
vào 2 biểu mẫu:
 Danh sách các functional requirement hoặc non-functional requirement mà
nhóm phải làm và đã xác định
 Danh sách các câu hỏi mà nhóm cần hỏi
 Thời gian làm bài tập nhóm: 30 phút
 Mỗi nhóm lên trình bày trước lớp về kết quả bài làm của nhóm mình: tối đa 30
phút / nhóm

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 20


Section 3
STUDY & CLARIFY REQUIREMENT

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 21


Study & Clarify, Validate Requirement

Collect requirements/BA present the SRS to


members in the team
Self study related materials: Top-Down approach
Clarify requirements
Validate requirements

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 22


Top-Down Approach

 High level requirement:


 Use Case Diagram: a diagram that depicts the
interactions between the system and external systems
and users.
 Workflow: sequence of connected steps to run end-to-
end a system
 Functional Requirements: use case/function details
 Non-functional Requirements: ex. Performance
requirement
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 23
Use Case Diagram

Depicts system
functions that
are performed
for actors

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 24


Workflow

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 25


Study Functional Requirement

 User Interface
 Function, Business

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 26


User Interface Requirement Study

 User Interface is the space where interaction between humans


and machines occurs (wiki)
 User Interface is key to application usability
 User Interface is also called as the front-end of the system.
 User interfaces exist for various systems, and provide a means
of:
 Input, allowing the users to manipulate a system
 Output, allowing the system to indicate the effects of the
users' manipulation
 Bad UI design make not-good first impression about the system.

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 27


User Interface Requirement Study

 Mock-up screen/prototype
 Screen description: describe detail objects in screen
 Field name
 Control type
 Data type
 Default value
 Mandatory
 Editable
 Max length
 Value
 Description
 Validation
 UI Style
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 28
Mock-up Screen

Client Creation

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 29


Screen Description

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 30


Graphic User Interface Style

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 31


Use Case/Function Study

 Purpose: Brief overview of the use case, describing the main idea

 Actor: Someone that interacts with the use case

 Pre-condition: State(s) the system can be in before the use case starts

 Trigger: Event that causes the use case to be initiated

 Basic Flow: what happens and in what order when all is well

 Alternative Flow: what happens and in what order when something goes wrong

 Post-condition: State(s) the system can be in after the use case finishes

 Business Rule: defines or constrains some aspect of business

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 32


Use Case/Function Study – Example

Client Creation

 Purpose: Add a new client to system

 Actor: Practice Business User ( Manager, Administrative or Sales user )

 Pre-condition:

 User login to system as Practice Business User before running the Use Case

 User has [Full control - Client Management] permission including Client Creation
function permission

 Trigger: User select Client Creation sub menu from Menu bar or user selects Create
Client button on Client Search screen

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 33


Use Case/Function Study – Example

Client Creation

 Basic Flow:
1. Access to Create Client Details screen

2. Input Client Information

3. Click Save

4. System validate inputted data successfully

5. System update data

6. System write Audit trail

7. Display Client Detail screen & Client details are successfully added into database

 Alternative Flow:
 User select Cancel -> navigation use case

 Data (Date of Birth, Telephone number, postcode...) is invalid -> display error message

 System failed to update -> write Audit trail then backs to main flow -> display error message

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 34


Use Case/Function Study – Example

 Post-condition: System
 Display Client Detail screen

 Audit trail of changes made, when changed and by whom.

 Client is created successfully.

 Client details are successfully added into database

 Business Rule:
Mandatory field, max length, email format validation refer to Common Validation – Overarching SRS
IF format of Date of Birth is wrong
THEN system displays error message <<Err-10>>
IF Date of Birth is a date in the future
THEN system displays error message <<Err-76>>
IF Telephone Number Home, or Telephone Number Work is invalid format
THEN system displays the error message <<Err-03>
IF Ext. No is not numeric
THEN system displays the error message <<77>>
IF the Postcode is invalid format
THEN system displays the error message <<Err-02>

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 35


Clarify Requirements

 Discuss with other members/stakeholders


 To clarify or confirm your understanding
 Media: direct discussion or via team brainstorming
 Inform/Questions the BA/Customer about
 Any requirement conflicts
 Any unclear requirements
 Changes, comparing to the last version
 Need more information

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 36


Stakeholders

A stakeholder is either an individual, group or organization who is impacted


by the outcome of a project. They have an interest in the success of the project,
and can be within or outside the organization that is sponsoring the project.
 End-users
 Managers
 Owners
 Customers of your customers
 Operation engineers
 Domain experts
 Etc.
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 37
How to make Questions effectively?
 Identify the issue: unclear, get for more information, etc.
 Check in all documents that customer supplied to make sure your
question has not solved;
 With technical question, check your team /group/company or ask
“Google” to solve it before asking out
 Give the cross-reference clearly, completely
 Attach sample screen, demo, give your suggestions if any
 Convert questions to Y/N or multiple-choice types if possible
 In Q&A, give deadline that you want to receive the answer. It there is
no answer until the deadline, what is impact?
 Take the receiver to re-read the question before sending

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 38


Focus and Follow up Q&A

Q&A focus:
• Question for idea conveyed by words like: maybe, generally, etc.
• What is the TBDs - Ask PL to remove all TBDs before handling to you for designing
or coding
• Conflict between requirements. Read the requirement matrix
• Don’t make assumptions, just ask your PM, PL or BA
Follow up the Q&A
• Track the discussion history for easier following up
• If your question has not been replied or impacts to your task must be report to
your PM, BA, or TL immediately
• Keep in mind your manager/customer are very busy. So it is necessary to remind
them about your pending issues daily, weekly. If not, your task will be impacted
8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 39
Validate Requirements - Techniques

Requirements Review
• Systematic manual analysis of the requirements
• Involving development staff, customers and relevant
stakeholders
• Use review checklists
Prototyping
Using an executable model of the system to check requirements

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 40


Lesson Summary

• Session 1: Requirement Concepts

• Session 2: Requirement Types

• Session 3: Study & Clarify Requirement

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 41


Thank you

8/17/2020 09e-BM/DT/FSOFT - ©FPT SOFTWARE – Fresher Academy - Internal Use 42

You might also like