Page 189 -
P. 189

generally not the sole responsibility of the tester to make such decisions. One of the most
                          effective ways to determine release-readiness is to have the entire project team reach a
                          consensus on which defects are important to fix and which can be released in the product.
                          While it is one of the most straightforward concepts in quality assurance, triage is also one
                          of the most important and time-consuming. Every single defect must be reviewed and pri-
                          oritized. This can mean daily meetings for project stakeholders, and it is often difficult to
                          delegate this responsibility because only the stakeholders really know whether a defect
                          will prevent the users from doing their jobs.
                          In other words, there is an important division of responsibility. The testers are only
                          responsible for reporting what they see when they use the software. They are not in a
                          position where they can judge whether the defects they find will impact the organization.
                          That’s not their focus, and they do not have the expertise to make those judgements. Only
                          a person who has a real stake in the software can use that information to judge its health.
                          A software crash that is caused using certain steps or data may seem very important to a
                          tester; someone with a lot of knowledge of the way the users will use the software might
                          see an obvious workaround that will make perfect sense to them, or see that the users
                          would not encounter that crash at all. That does not mean the software should be released
                          if it crashes, but it does affect the priority of that bug being fixed.

                          Test Environment and Performance Testing

                          It is important for the project manager to get involved in setting standards for verifying
                          that software has sufficient performance. It may seem like this is a detail that can be left up
                          to the testers, but it can’t. In fact, it’s absolutely necessary that the project manager work
                          with the team to try to forecast how the product will be used.
                          Performance requirements really should be in place as early as the scope definition phase.
                          When the project manager is writing (or helping to write) the vision and scope document for
                          the product, she should ask questions about the environment in which the product will be
                          deployed:

                          • How many users will be using the software?

                          • How many of those users will be using it concurrently?
                          • Does the software need to be available 24 hours a day, 7 days a week?
                          • Are there peak usage times?
                          • How much data will be stored in the database?
                          • What physical hardware will the software be running on?

                          • What version of the operating system will be used?
                          • Is security a concern?
                          • Will the software need to run under multiple environments (OS, hardware, etc.)?
                          • Will the software need to be updated or maintained after it is rolled out?


                                                                                       SOFTWARE TESTING  181
   184   185   186   187   188   189   190   191   192   193   194