Вы находитесь на странице: 1из 8

This paper discusses the difference between

How Fast is Fast? functional and non-functional requirements,


defining each as they pertain to application
software development. Further, it outlines a
basic approach for using non-functional

Using Non-Functional requirements to improve requirement quality.


Suggested testing methods will also be dis-
cussed with an eye toward building validation
plans using non-functional requirements for

Requirements to Test quantitative measurement.

Requirement Quality. by Joseph D. Schulz


Senior Product Champion
Starbase Corporation

Abstract For some reason, however, we IT pro- in the Hollywood motion picture “Field
By reviewing this paper, the reader fessionals seem to forget these basic of Dreams.” In the movie, Costner has a
should gain additional insight into the investigative techniques when we vision which tells him that “If you build
following areas: attempt to define the requirements for a it (the baseball diamond), they will
• The differences between functional software application. As we interview come (ghostly players and real-life
and non-functional requirements customers for their needs, we focus on fans).” In software, on the other hand,
• The importance of non-functional only one aspect; that is, the “What.” just because we build it (the software),
requirements during system analysis Nearly all of the questions we ask it doesn’t mean they will come (the cus-
and testing address what the customer wants to be tomers).
• The major categories of non-function- able to do with the application, and we
al requirements assume that if we deliver everything the Instead, it is our job to first determine
• The primary characteristics of each customer asked for then our application exactly what a customer needs before
non-functional requirement type will be a success. we begin building the solution. We do
• Suggested methods for integrating this by asking the “What” questions,
non-functional requirements into soft- Unfortunately, this assumption is bla- and the answers to those questions are
ware testing practices tantly inaccurate. It is just as important usually referred to in the IT world as the
to ask the remaining four questions as it “functional requirements” for the appli-
Introduction is to thoroughly document the first. By cation.
From an early age, we are all taught the focusing on only the “What” of the
basic questions to ask when gathering application, we miss much of the under- Functional requirements describe what
information. Whether you are a school lying context and may ignore critical it is that a customer needs to be able to
child researching a report, a journalist business constraints that will ultimately do with our software. They may be doc-
investigating a story, or a witness determine our effort’s success or fail- umented in the form of rigorously spec-
recounting a crime scene, you immedi- ure. And just like a journalist who skips ified process models or use cases, or
ately ask yourself the so-called “Magic one or more of his “Magic Five,” we they may simply be lists of required fea-
Five Questions.” These, of course, often end up building software applica- tures and functions. Whatever the form
include “Who,” “What,” “Where,” tions that seem unfinished and/or cause used, functional requirements should
“When” and “How.” And as every good as many problems as they solve. always identify the minimum function-
journalist knows instinctively, without ality necessary for the software imple-
all of this information the resulting Functional vs. Non-Functional mentation to be considered a success.
work seems unfinished and/or raises as Requirements
many questions as it answers. Unfortunately for IT, software is not However, as mentioned earlier, this is
like Kevin Costner’s baseball diamond not enough. Instead, business analysts

September 2002 http://www.testinginstitute.com Journal of Software Testing Professionals 1


need to get a complete picture of the that the majority of requirement specifi- is primarily due to the fact that the
customer’s needs by asking the addi- cation documents use. However, while non-functional requirements describe
tional four questions from our “Magic the functional requirement definition the context of the work to be done,
Five.” These characteristics are usually shown in this example is well-formed, it rather than the work itself. While the
referred to as “Non-Functional is by no means complete. It accurately customer is thinking about and manag-
Requirements.” describes what the application end user ing the workflow, it is often up to the
must be able to do, but it leaves out crit- technical staff to ask questions about
Unfortunately, the name non-functional ical information that will be necessary the non-functional characteristics. The
requirements is somewhat misleading. to design a complete application solu- answers to those questions, of course,
From the name alone, it sounds like tion for the problem. must still come from and be validated
non-functional requirements are by the customer, but the technicians
requirements that don’t function (i.e., For example, the functional specifica- must usually raise many of the relevant
things that don’t work). Obviously, this tion above does not address any of the issues themselves.
is just the opposite. Rather than quantities involved in the order entry
describe what the customer wants to do, process (e.g., number of orders, order Application Verification
non-functional requirements describe items, products, unit sizes, etc.). It is these non-functional requirements,
the additional constraints that affect the Without knowing this information, the then, that are used to fully “flesh out”
customer while performing the func- database designer cannot determine the the test plan necessary to validate oper-
tional requirements. They address the most appropriate storage technologies ation of our completed software appli-
aspects of “Who,” “Where,” “When” and the user interface designer cannot cation. Without knowing how the appli-
and “How.” develop the optimal screen layout. cation is going to be used, we cannot
These are just two of the basic conclusively determine whether the
Functional Requirements Example non-functional issues that are left to software will actually meet the cus-
For example, a simple functional interpretation by the development team. tomers’ needs when it is delivered. That
requirement for an Order Processing is, we need to test not just functionality,
System might define the application Requirement Ownership but also usability and applicability to
functionality necessary to create new Another key difference between the the business problem being solved.
orders. The definition of the require- functional requirements and the
ment, then, would describe what an end non-functional requirements rests in the These non-functional characteristics
user must be able to do during the order ownership of the information. often are referred to as “application
creation. A sample functional require- Specifically, there is a major difference stress points” because they identify the
ment definition of this type might look between who is ultimately responsible operational limits the application must
like the one below. for managing the functional and work within. To adequately define these
non-functional requirements defini- stress points, non-functional require-
The system must be able to enter tions. ments must specify both the metric to
customer orders for products that be used and the measurement technique
are currently in stock. A unique Functional requirements are usually to be employed. Without both of these
order number must be generated by considered to be “owned by” the cus- items, a complete test plan cannot be
the system at the time the order is tomer or end user for the application. developed.
saved. Each order must be able to Since functional requirements describe
specify different products and unit the work the customer needs to do, the For example, in the “Enter Orders”
sizes, with each combination result- application end user is the most appro- requirement above, it would not be
ing in a separate order item. The priate source for the data and the most enough to say that the application must
desired unit, quantity, and unit price likely to be able to define it correctly. In handle 100 products per order. This
must be specified for each order a perfect world, end users can identify would still leave open the question
item. all of the necessary functional require- about how to “count” products. Is each
ments based on their current or desired unique product on the order counted as
Figure A: “Enter Orders” Functional workflow. one or is each product code and unit
Requirement Definition size combination? Instead, the formula
Non-functional requirements, on the or method for counting must also be
This example probably looks familiar to other hand, are usually owned and specified in the non-functional require-
most readers, because this is the format maintained by the technical staff. This ment definition.

September 2002 http://www.testinginstitute.com Journal of Software Testing Professionals 13


Non-Functional requirements address a broad spectrum of
issues...and as scuh there are several different kinds of informa-
tion that we are looking for...instead of having one large pool of
non-functional requirements, it is often helpful to categorize these
requirements by their major subect area.
To this end, the Quality Assurance (QA) minimum, this should include “How are listed in the appropriate sections
staff also should be involved in the Many,” “How Often,” “How Fast,” and below.
development of the requirement specifi- “How Easy.”
cations. While QA Analysts do not Once the qualifying questions have
define requirements, they usually Non-Functional Requirement been answered for each requirement,
review the requirement definitions and Categories commonalities then are extrapolated
point out possible deficiencies. They The table below identifies the non-func- into global or group-based rules. Each
look for both omissions (test character- tional questions that need to be unique rule is defined as an instance of
istics not discussed at all) and ambigui- answered by a requirement specifica- a non-functional requirement, and then
ties (test characteristics that are vague tion document. For each, a typical name these non-functional requirements
or incomplete). At this time, a prelimi- for the corresponding non-functional should be matrixed to the functional
nary test plan also can be developed to requirement category is listed. A requirements (refer to the “Require-
establish the basic pattern of testing that detailed description of each category, ments Traceability” section below). In
will be used to verify functional com- including relevant examples, is includ- this manner, non-functional require-
pliance. ed in the following sections of this doc- ments are defined as separate, normal-
ument. ized objects in the requirements specifi-
Non-Functional The most common method of identify- cation, but the relationships between
Requirement Types them and to the functional requirements
As discussed above, non-functional Non-Functional Requirement Categories
are documented.
requirements address a broad spectrum
of issues. They address four of the five Requirement
Security Requirements
basic investigative questions, and as Who? Security
The first non-functional requirement
such there are several different kinds of Where? Topographical
type addresses the “Who” question.
information that we are looking for. When? Timing
This type is used to specify which end
Therefore, instead of having one large How Many? Scalabilty
users are allowed to perform which
pool of non-functional requirements, it How Often? Frequency
functions so that the appropriate securi-
is often helpful to categorize these How Fast? Performance
ty scheme can be designed into the
requirements by their major subject How Easy? Usability
specifications. In addition, approvals/
area. authorizations need to be considered as
Figure B: Non-Functional
a part of the functional workflow.
Requirement Categories
The easiest way to do this is to group Unfortunately, security requirements
facts by the questions they answer. ing the non-functional requirements is often are not addressed until the end of
Since we have already addressed the to ask a series of “qualifying questions” the design process. This can lead to a
“What” questions, we should define for each of the categories listed above. large amount of rework, as the security
non-functional categories for the This is done by inspecting each func- issues will very often affect the applica-
“Who,” “Where,” “When” and “How” tional requirement and then asking the tion workflow itself. Without a deter-
aspects. In addition, there are several qualifying questions to the appropriate mined, premeditated effort to address
layers to the “How” area, and each of decision maker(s). The recommended these constraints early, the workflow
these merit their own sub-category. At a qualifying questions for each category often becomes convoluted when the

14 Journal of Software Testing Professionals http://www.testinginstitute.com September 2002


security scheme is “bolted on” at the location, hardware profiles, and/or net- stopping functional workflow. In addi-
last moment. work topography. While these require- tion, dependencies between the require-
ments are most helpful during the phys- ments are examined, as well as parallel
The most common qualifying questions ical system design, they can just as eas- and mutually-exclusive activities.
used to discover security requirements ily affect the logical transaction design These factors are then used to modify
include: in the functional workflow. processing patterns as needed to sup-
• Who is allowed/denied access to per- port alternative paths.
form this function? Of course, there is a real danger in try-
• Does the function vary by authorized ing to design the physical aspects of the Timing requirements are sometimes
end user? application too early in the process. difficult for end users to identify, as
• Is a separate approval process (third Therefore, during the functional they often involve compounding condi-
party) required to complete this func- requirement specification, only enough tions outside normal boundaries. For
tion? information about the topography needs example, to the casual observer, a traf-
• If an additional approval is required, to be captured to identify any limiting fic signal has very simple functional
who is authorized to provide it? constraints. That is, topographical requirements (e.g., change from red to
• Is the approver allowed to change requirements should only be defined green, green to yellow, and back to red).
information entered by the originator? when the characteristic is fixed or However, few people realize that the
• Is there any formal notification neces- beyond the ability of the application dynamics of this interaction are highly
sary for this function? design team to change. dependent on time. For instance, the
interval between red and green periods
In our “Enter Orders” example, addi- The most common qualifying questions is very different in the evening than it is
tional non-functional requirements to to discover topographical requirements during the morning commute time. The
address these security issues might be include: signal may additionally be programmed
defined as shown below: • What type(s) of interface hardware/ to blink red or yellow continuously dur-
software will this function require? ing the early morning hours or on busi-
• What type(s) of interface hardware/ ness holidays. All of these variations
• All members of the Order Entry
software will the end user have avail- are examples of timing requirements.
department are allowed to enter
able?
new orders.
• Where will the end user(s) for this
• New product orders are in a status
function be physically located?
of “Pending” until approved. • All Order Entry functions must
• Will this function require data stor-
• All members of the Order Entry execute on the Windows 2000
age?
department may approve orders Professional operating system.
• If data storage is required, where will
with a total value of less than or • The Order Processing system must
the data store/database be located?
equal to $50,000 USD. require no more than 128MB of
• What connectivity to the data location
• Only Order Entry department system RAM on the end-user
is available at the end-user location?
supervisors may approve orders machine.
• Will this function require a separate
with a total value of greater than • The “Enter Orders” function must
application component server?
$50,000 USD. be available to all members of the
• An order acceptance letter must be Order Entry staff located in
In our “Enter Orders” example, addi-
generated and sent to the ordering Atlanta (USA), San Francisco
tional non-functional requirements to
customer at the time the order is (USA), London (England), and
address these topographical issues
approved. Sidney (Australia).
might be defined as shown on the right.
• Order data must be stored in a
Figure C: Sample Security
Timing Requirements secure facility that provides access
Requirements
Another non-functional aspect that by all members of the Order Entry,
Topographical Requirements needs to be addressed involves answer- Accounts Payable, and Shipping
Topographical requirements address the ing the “When” question. These /Receiving departments.
“Where” question. Specifically, this requirements, usually referred to as tim-
type of non-functional requirements ing requirements, describe how time
Figure D: Sample Topographical
defines any application characteristics affects the functional requirements and
Requirements
that are dependent upon geographic determine parameters for starting and

September 2002 http://www.testinginstitute.com Journal of Software Testing Professionals 15


The most common qualifying questions designing the user interface, and also defined as shown below:
used to discover timing requirements play a very important role when select-
include: ing communication, data storage, and • The standard workday is from
other infrastructure components. 8:00 AM EST to 5:00 PM EST,
• Does the time of day, day of week, or Monday through Friday.
date (day, month or year) impact the A simple example might be the func- • During the standard workday, the
workflow for this function? tional specifications for a household system must be able to record an
• Does the behavior of this workflow appliance like an automatic-drip coffee average of 50 new customer orders
change at slack or peak times? maker. It must be able to heat water, per hour per employee, with an
• What other event or function does this drip the water through a filter of ground expected minimum and maximum
function depend on? coffee, and maintain heat on the brewed of 10 and 80, respectively.
• What other event or function depends coffee. By using these functional • During the standard workday, the
on this function? requirements as the only measure, any system must be able to support an
• Are there other functions that coffee maker is a candidate to satisfy average of 12 employees working
can/cannot occur at the same time as the need. simultaneously, with an expected
this function? minimum and maximum of 4 and
However, once the frequency character- 20, respectively.
In our “Enter Orders” example, addi- istics are factored in, the choice of pos- • From Nov. 15th to Dec. 31st, the
tional non-functional requirements to sible coffee machines may be radically system must be able to support
address these timing issues might be different. For instance, if the coffee triple the number of orders and
defined as shown below: maker is to be used to make 1,000 cups employees as a standard workday.
of coffee per day (as in the case of a • When more than thirty (30)
• All customer orders with a status restaurant), then most “home use” cof- employees are logged into the sys-
of “Pending” must be approved or fee machines are not viable. On the tem at one time, order acceptance
deleted by 11:59 PM Eastern other hand, if the coffee maker is to be letters will only be generated for
Standard Time. used only once per year, it may actually orders with a total value exceeding
• The approval limit for all members be more cost-effective to rent a machine $25,000 USD.
of the Order Entry department is when necessary and/or to purchase cof-
doubled on the last business day of fee from a third-party provider. Figure F: Sample Frequency
each monthly period. Requirements
• Customer orders for a specific The most common qualifying questions
product cannot be entered until to discover frequency requirements
that product’s inventory level is include: Performance Requirements
verified by the Shipping depart- • What is the period frequencies are The second part of the “volumetrics”
ment. measured in (e.g., items per minute, triad, performance requirements
• Only one new order may update a etc.)? address the question “How Fast.” They
product’s in-stock quantity at a • What is the average frequency for this define the absolute and relative per-
time. function within the stated period? formance constraints that are to be
• What is the minimum and maximum placed on the application. As with fre-
Figure E: Sample Timing frequency at slack/peak times? quency requirements, performance
Requirements • Does the frequency for this function requirements are essential to develop-
vary by time, day or date? ing an adequate functional workflow
Frequency Requirements • How many end users will be perform- and user interface for the application.
Frequency requirements are the first ing this function? They will also greatly influence the
subcategory in the “How” category, and • Does the frequency for this function selection of communication and data
they address the question “How Often.” vary by end user or end-user group? storage technologies.
Part of a triad of questions often • Does the workflow for this function
referred to as “volumetrics,” frequency change at volume thresholds? Performance requirements are extreme-
requirements identify the number of ly pervasive in both application design
functional transactions that can be In our “Enter Orders” example, addi- and popular culture. Software develop-
expected within a specified timeframe. tional non-functional requirements to ers spend a significant amount of effort
These statistics are essential when address these frequency issues might be designing and redesigning program-

16 Journal of Software Testing Professionals http://www.testinginstitute.com September 2002


ming logic to improve execution per- and record retention policies so that the
formance, and often add extraneous • All performance measurements “volumetrics” can be adjusted for an
functionality (e.g., progress displays) shall be based on the response anticipated year-on-year growth.
just to provide visual stimulation during time experienced at the end-user
tedious processing. Even auto manufac- machine. The most common qualifying questions
turers cater to our seemingly instinctive • When the end user presses the to discover scalability requirements
performance desires, prominently “New” button, the order number include:
advertising a model’s “0-to-60” rating must be generated and displayed • How long is the application’s expect-
in an attempt to entice customers. within a maximum of 4 seconds. ed lifecycle?
• From Nov. 15th to Dec. 31st, • How will the average transaction vol-
Unfortunately, while performance allowable response times must be ume change throughout this lifecycle?
requirements often are discussed and 25% less than standard (e.g., 3 • How will the average end-user popu-
even frequently written down, they are seconds instead of 4). lation change throughout this lifecy-
rarely expressed in concrete, testable • When employees outside of the cle?
terms. All too often, incomplete or Order Entry department use the • What type and how many transactions
ambiguous requirement definitions system, allowable response times will be stored?
leave so much open to interpretation can be up to 50% longer (e.g., 6 • How long (in duration) must these
that end users are disappointed while sec. instead of 4). transactions be stored?
the development staff is convinced they
met the terms of the agreement. As dis- Figure G: Sample Performance In our “Enter Orders” example, addi-
cussed in the Application Verification Requirements tional non-functional requirements to
section above, both the metric and the address these scalability issues might be
measurement technique must be speci- Scalability requirements are similar to defined as shown below:
fied in the performance requirements. the frequency requirements described
above, except that scalability require-
• The system must be able to oper-
The most common qualifying questions ments focus on the expected future state
ate for a minimum of ten years.
to discover performance requirements of the application rather than the current
• The number of new customer
include: state. Scalability requirements are used
orders entered is expected to
• What is the period that performance to defer “operational obsolescence” by
increase at an average of 10% per
metrics are measured in? designing for future capacities.
year from the current statistics.
• How is the performance data to be • The number of Order Entry
captured (e.g., duration or response An everyday example of this type of
employees is expected to remain
time)? thinking might be when young couples
flat for two years and then to
• What is the absolute minimum stan- begin to look for a home. They not only
increase an average of 5% per year
dard for functional performance? consider what they need immediately
thereafter.
• What is the absolute maximum stan- (e.g., a kitchen, one bedroom, one bath,
• Approved orders will be retained
dard for functional performance? etc.), but also what they will need in the
in active storage for a minimum of
• Does the performance requirement future (e.g., extra bedrooms, baths,
one calendar year after they are
vary by time, day or date? etc.). They then balance the cost of pur-
approved
• Does the performance requirement chasing these upgrades immediately
vary by end user or end-user group? against the cost of having to move again Figure H: Sample Scalability
when they become a necessity. This Requirements
In our “Enter Orders” example, addi- process of “planning for the future” is
tional non-functional requirements to an example of using scalability require- Usability Requirements
address these performance issues might ments to influence the decision-making The final subcategory within the “How”
be defined as shown above. and design process. requirements categories involves identi-
fying the usability requirements. These
Scalability Requirements In application systems, scalability requirements address the end-user
The third and final part of the “volu- requirements most often specify expect- aspects of the application and answer
metrics” triad is the scalability require- ed future volumes and performance cri- the question “How Easy.” Many times,
ments, which define the characteristics teria. In addition, scalability require- these requirements are a mix of corpo-
to resolve the question “How Many.” ments also are used to record archival rate and/or industry standards and

September 2002 http://www.testinginstitute.com Journal of Software Testing Professionals 17


application-specific needs. required for this function? Requirements Management (RM) prod-
Most often, usability requirements iden- • Are there any unique accessibility uct that stores the requirements defini-
tify necessary traits for the user inter- requirements for this function? tion in a database format.
face design. This might include stan- • How is this function performed in the
dardized look-and-feel characteristics current environment? Non-Functional Dependencies
which are specific to the operating plat- The first type of trace, between two
form on which the application will be In our “Enter Orders” example, addi- non-functional requirements, is usually
executed. In addition, the usability tional non-functional requirements to referred to as a “dependency.”
requirements may also include specifi- address these usability issues might be Dependencies denote that one
cations about required skill levels defined as shown below: non-functional requirement has a direct
and/or training needs. All of these qual- and immediate impact on another. They
ities are critical when designing the • All Order Entry functions must are used to identify the effect that one
so-called “man-machine boundary.” utilize a graphical user interface requirement will have on another. Very
compliant with the Microsoft stan- often, dependencies between non-func-
The most common example of the need dard #99.9999 published on tional requirements are used to model
for usability requirements is the modern 6/1/2001. calculation or multi-step logic where
Video Cassette Recorder (VCR). While • End-users must have completed one fact is based on the definition of
the basic functionality of a VCR has not the approved corporate training another.
changed in over a decade, when these class for Microsoft Windows 2000
devices were first introduced they were prior to the installation of the new One obvious example of a dependency
so difficult to use that the majority of system. is contained in the frequency require-
the population avoided them. In fact, it • The “Enter Orders” function must ments above where one requirement
was considered a “badge of honor” if require an average of less than 8 lists the standard workday transaction
someone was able to successfully pro- hours of formal classroom training volume as “50 new customer orders per
gram their VCR to record a favorite tel- to achieve proficiency. hour per employee” and another lists
evision show. • Customer orders must be able to the holiday volume as “triple the num-
be entered by end-users that use ber of orders and employees as a stan-
More recently, however, the VCR man- the Microsoft Windows 2000 dard workday”. Maintaining a depend-
ufacturers have learned from their mis- “StickyKeys” accessibility option. ency between these two requirements is
takes and have added a wide variety of • End-user “drag-and-drop” func- important since the holiday volume
usability enhancements that make their tionality must not be required. must be re-evaluated if the standard
devices easy and sometimes fun to use. workday requirement is modified.
In fact, they have been able to dramati- Figure I: Sample Usability
cally widen their customer base simply Requirements Non-Functional Constraints
by focusing on usability characteristics The second type of trace, between func-
rather than functionality. Requirements Traceability tional and non-functional requirements,
The final step in completing the is usually referred to as a “constraint.”
The most common qualifying questions requirement specification is to establish That is, the non-functional requirement
to discover usability requirements causality relationships, named “traces,” constrains, or limits, the functionality
include: between the various requirement described in the functional requirement.
• What type(s) of interface hardware/ instances. Specifically, traces must be Constraints usually include operational
software will the end user have avail- defined between any related non-func- and/or performance criteria which cir-
able? tional requirements and between cumscribe the conditions under which
• Are there any company/industry inter- non-functional requirements and the the function is performed.
face standards that apply to this func- affected functional requirements.
tion? For example, one performance require-
• What is the average level of skill for Unlike requirements definitions, traces ment example listed above stated that
this function? are hard to manage in a textual or docu- “the order number must be generated
• What is the minimum/maximum ment-based format. Because of this, within a maximum of 4 seconds.” This
amount of end-user training expected functional specifications that include constraint should be traced back to the
to be available for this function? requirements traceability usually neces- functional requirement that described
• What type(s) of online help is sitate the use of a commercial generating the order number. In this

18 Journal of Software Testing Professionals http://www.testinginstitute.com September 2002


A well-formed system requirements specification must include not
only definitions of the functional requirements (the “What”),
but also of the non-functional requirements
(the “Who,” “Where,” “When” and “How”).
manner, when the application designers with the customer’s environment and About the Author
are developing the system for generat- within the environmental pressures that Joseph D. Schulz is a seasoned devel-
ing order numbers, they will immedi- exist. oper with more than 19 years of profes-
ately know: 1) what has to be done; and sional Information Systems experience
2) the constraints within which it has to Summary spanning a wide range of vertical indus-
be done. A well-formed system requirements tries. Currently, Joe is the Senior
specification must include not only def- Product Champion at Starbase
These constraint relationships are then initions of the functional requirements Corporation. In this position, he helps
invaluable for subsequent impact analy- (the “What”), but also of the non-func- organizations around the globe improve
sis. If the functional requirement tional requirements (the “Who,” their development processes by deliver-
changes (e.g., more functionality is “Where,” “When” and “How”). These ing methods/tool training and providing
added), the designer will immediately non-functional requirements then onsite mentoring. He also supports
know which constraints still apply to should be organized into appropriate Starbase’s international distributors,
the new design. Conversely, if the categories and should detail the envi- ensuring their ability to support the
non-functional requirement changes ronmental characteristics that constrain Starbase family of products.
(e.g., a restriction is eased), the design- or bound the application. The non-func-
er can immediately see which function- tional requirements then should be References
al requirements are affected and may be related to one another and to the rele- 1. Weigers, KE: “Software require-
able to alter the design specifications to vant functional requirements. ments,” Microsoft Press, Redmond
take advantage of a new opportunity. WA USA, 1999.
Without both of these components in 2. Young, RR: “Effective
Using Traces for Quality Assurance the requirements specification, the Requirements Practices,” Addison,
Traces, both dependencies and con- application development team risks Reading MA USA, 2001.
straints, also are important during the delivering an incomplete or unusable 3. Allen, P, and Frost, S:
development of the Quality Assurance application. By defining both compo- “Component-Based Development
plan. When the functional tests are nents and relating them to each other, for Enterprise Systems: Applying
defined, it is usually the non-functional the development team is much more the SELECT Perspective,”
requirements that provide the measure- likely to deliver an application that not Cambridge Univ. Press, Cambridge
ments necessary to properly determine only works as designed but also can UK, 1998.
success or failure of the testing process. operate within the end-user’s dynamic 4. Schneider, G, and Winters, JP:
As described earlier, it is not enough environment. “Applying Use Cases: A Practical
just for the application system to work Guide,” Addison, Reading MA
as designed; rather, it must also work USA, 1998.

September 2002 http://www.testinginstitute.com Journal of Software Testing Professionals 19

Вам также может понравиться