QA Labs Inc.
Issue #16 - December 2002
QA Labs Testing Treats
services@qalabs.com  -  http://www.qalabs.com
 Reduce costs - Take advantage of lower labour costs and today's exchange rate. Make the choice to hire QA Labs Inc.

Archives... Archives of this newsletter along with other on-line resources are available on our website.


Test Earlier... It is a well-established fact that the sooner a defect is found the less expensive it is to fix. Early involvement also allows evaluation of important planning, design, and development decisions with respect to how these decisions aid or impair the testability of the application.



Outsource Testing... We have the facilities and the people - you have the software. We can assist your in-house test team by performing system / compatibility testing, functionality testing, usability testing, performance testing, and localization testing to help you make sure you're ready to go to market.



Regression Testing... Outsource your regression testing and keep your software reliable. Working in parallel with your in-house team, we can help ensure that after the latest additions and changes your software continues to work across your supported configurations: operating systems, processors, browsers, networks, etc. with effective test plans, leveraged automation and custom facilities.



TX Packages... Do you need short-term test resources? Do you want to try outsourced test execution? QA Labs' Test Execution Packages give you a zero ramp-up, zero overhead, full reporting solution right at your fingertips.



Roadmaps... Improve product quality and reduce support costs with a Roadmap to Quality. QA Labs can investigate your current project workflows and tools to produce a report of recommendations and Quick Wins tailored to you - all in parallel to your current ship cycle and at a low fixed cost.



Tool Choices... Specific selection criteria in advance of a significant software purchase are crucial. QA Labs has the expertise required to provide you with an objective evaluation of the commercial tools that may best fit your requirements. Before you commit valuable time and money, let us do the evaluation that will let you make the best decision.

QA Labs brings you practical tips and tools on testing, quality assurance (QA), and related topics through this monthly e-newsletter.

Best wishes from QA Labs to you in this Holiday Season and may you have a safe and Happy New Year!


FEATURE ARTICLE

Testing Without Requirements

A typical software project lifecycle includes such phases as requirements definition, design, code and fix. But, are you shipping software applications with minimal to no requirements and little time for testing because of time-to-market pressures? Build it, ship it, then document and patch things later.

'Time-to-market' products can lack detailed requirements for use by testing because of their huge pressures for quick turnaround time. You don't want to slow down development, or testing, by having to create detailed documentation. At the same time, the test effort needs to be useful and measurable. So, how can this product be tested to achieve adequate effective coverage and overall stability of its functionality?

A Starting Point

Effective ad-hoc testing relies on the combination of tester experience, intuition, and some luck to find the critical defects. Adequate test coverage involves a systematic approach that includes analyzing the available documentation for use in test planning, execution, and review. Ad-hoc testers can greatly benefit from up-front information gathering, even when they don't have time for formal testing processes and procedures. Ad hoc testers must still understand how the software is intended to work and in which situations.

Ask developers, testers, project managers, end users, and other stakeholders these basic questions to assist with clarifying the product's undoubtedly complex tasks:

  • Why is the system being built?
  • What are the tasks to be performed?
  • Who are the end users of the system?
  • When must the system be delivered?
  • Where must the system be deployed?
  • How is the system being built?

    Also, the risks of the system need to be identified. (See our article Risk Based Testing Article #11 for more on this topic.) Correlate these risks against the time available to prioritize the test focuses.

    With this information you are well on your way to being able to define an applicable strategy for your upcoming test effort.

    User Scenarios

    User Scenarios (sometimes called Use Cases) define a sequence of actions completed by a system or user that provides a recognizable result to the user. A user scenario is written in natural language that pulls together from a common glossary. The user scenario will have the basic or typical flow of events (the 'must have' functionality) and the alternate flows. Creating user scenarios/use cases can be kick-started by simply drawing a flowchart of the basic and alternate flows through the system. This exercise rapidly identifies the areas for testing including outstanding questions or design issues before you start.

    Benefits of creating user scenarios:

  • Easy for the owner of the functionality to tell/draw the story about how it is supposed to work
  • System entities and user types are identified
  • Allows for easy review and ability to fill in the gaps or update as things change
  • Provides early 'testing' or validation of architecture, design, and working demos
  • Provides systematic step-by-step description of the systems' services
  • Easy to expand the steps into individual test cases as time permits

    User scenarios quickly provide a clearer picture of what the customer is expecting the product to accomplish. Employing these use cases can reduce ambiguity and vagueness in the development process and can, in turn, be used to create very specific test cases to validate the functionality, boundaries, and error handling of a program.

    Checklists

    Are there common types of tasks that can be performed on the application? Checklists are useful tools to ensure test coverage of these common tasks. There may be a:

  • User Interface checklist
  • Error and Boundary checklist
  • Certain Features (eg: Searching)

    Benefits of creating checklists:

  • Easy to maintain as things change
  • Easy to improve as time goes by
  • Captures the tests being performed in a central location

    Checklists used in conjunction with User Scenarios make a powerful combination of light-weight test planning.

    Matrices

    A test matrix is used to track the execution of a series of tests over a number of configurations or versions of the application. Test matrices are ideal when there are multiple environments, configurations, or versions (builds) of the application.

    Benefits of using test matrices:

  • Easy to maintain as priorities and functionality change
  • Simple to order the functional areas and the tests in each areas by priority
  • Clear progress monitoring of the test effort
  • East to identify problem areas or environments as testing proceeds

    Test matrices provide a clear picture of what you have done and how much you have left to do.

    Summary

    If you have minimal to no requirements there are still ways that effective testing can be achieved with a methodical approach. You can quickly outline a methodology for yourself that considers the basics of:

  • Describing the application in terms of intended purpose
  • Identifying the risks of the application
  • Identifying the functionality of the application with basic and alternate flows
  • Identifying and grouping common tests with checklists
  • Identifying how testing records will be traced
  • Revisiting and refining each of the above as the project and testing effort proceeds

    For more information...

    A recent study of over 8,300 IT projects found that more than 50% were "challenged" by reduced functionality, being over budget and going beyond the original schedule. The main reasons were a lack of user input and incomplete and changing requirements.

    QA Labs' expert analysts can provide you with a proven light-weight solution tailored to your timeframe and resource realities that allows you to capture your already existing requirements without slowing development and make that document serve as your test plan as well - saving you significant rework, confusion, and money. Two critical artifacts in one!

    Our clients hire us knowing they have hired a company, not an individual or group of individuals. We bring our comprehensive experience to the table and can provide the exact resource skill sets needed at exactly the right time. QA Labs offers a clear alternative to individual hires.

    Contact us at services@qalabs.com or visit our website for more information on our QA and Testing services.

    About QA Labs Inc...

    QA Labs is a powerful player on your team supplying the critical competitive advantage you need today. Our mission is to help you make your software products succeed in the marketplace, whatever the climate. We work with you to make wise choices that reflect project constraints, industry trends, and business considerations. We are the largest independent software quality assurance and testing service provider in Canada. For more information, please visit www.qalabs.com.

  • Contact Us...

    QA Labs Inc.
    #470 - 1122 Mainland St.
    Vancouver, BC, Canada, V6B 5L1

    Tel: 604.605.0111 x111
    Fax: 604.484.2680
    Email: services@qalabs.com
    Web: http://www.qalabs.com


    Subscribe to this newsletter at our website.

    Unsubscribe from this newsletter at our website.

    Copyright © 1999-2005 QA Labs Inc. All rights Reserved.