Page 189 - Software and Systems Requirements Engineering in Practice
P. 189

l
                                                    i
                                                  a
                                                Q
                                                 u
                                                        A
                                                         t

                                                     t
                                                      y
                                      p
                                       t
                                     a
                                   C
                                    h
                                           5
                                            :

                                        e
                                         r
                                                                        r
                                                                         e
                                                                       i
                                                                    q
                                                                      u
                                                                              t
                                                                               s
                                                                            n
                                                                          m
                                                                           e
                                                             b
                                                              u
                                                            i
                                                          t
                                                           r
                                                                  R
                                                                   e

                                                               t
                                                                e
                                   C h a p t e r   5 :      Q u a l i t y   A t t r i b u t e   R e q u i r e m e n t s      155 155
                         Partially measuring key ASRs can therefore be accomplished by
                      selecting indicative quality attributes, internal and/or external, that
                      can be measured early, and measuring them. When results of these
                      measurements  change  significantly,  it  is  time  to  review  them  and
                      decide whether the key ASRs that they indicate are in trouble.
                         For  example,  in  a  recent  project,  we  saw  that  having  adequate
                      performance  of  the  messaging  infrastructure  was  going  to  be  an
                      important  quality  attribute  and  a  difficult  challenge.  Focusing  the
                      project’s attention on it was particularly difficult because the project was
                      globally distributed and cross-divisional. Therefore, we set out to create
                      an early testing strategy for the relevant quality attribute scenarios.
                         First,  we  discovered  that  the  QASs  were  written  in  terms  of
                      complex functionality that could not be tested until late in the project.
                      But since we were really interested in the infrastructure performance,
                      we selected much simpler functionality to test, whose performance
                      would  be  indicative  of  the  complex  functionality’s  eventual
                      performance.  We  also  limited  our  attention  to  just  four  use  case
                      scenarios. We then defined three independent variables to describe
                      the  space  of  performance  tests,  with  a  choice  among  a  handful  of
                      ordinal values on each dimension (see Table 5.3).
                         We then defined quality attribute measures for four performance
                      attributes:
                          •  Real-time database memory consumption
                          •  Message throughput
                          •  Message latency
                          •  Command response time
                         We  specified  numerical  parameter  values  for  each  of  the
                      independent variables and wrote automated testing scripts to execute
                      each of the functional scenarios under each sensible combination of
                      traffic load and network sensor size. Finally, we specified plausible
                      success  thresholds  for  each  of  the  performance  parameters  under
                      each combination of independent variables.
                         As soon as the functional scenarios were implemented, we were
                      able  to  begin  executing  these  performance  tests.  We  found  two
                       Independent Variable     Values
                       Traffic load             Normal, Peak, Burst, Max
                       Sensor network size      Embedded, Small, Medium, Large
                       Functional scenario      Scenario A, Scenario B, Scenario C,
                                                Scenario D
                      TABLE 5.3  Independent Variables
   184   185   186   187   188   189   190   191   192   193   194