Conference Presentations

The Imperative of Non-Functional System Testing

Ignore or downplay non-functional system testing at your peril. A thorough, well-executed nonfunctional test plan discovers software defects usually overlooked with functional testing. From security, scalability, and usability issues to legal 508 accessibility, recovery processes and more, testing non-functional requirements can mean the difference between success and failure. Julian Harty describes key non-functional test practices and demonstrates the value of each. From the testers’ point of view, functional testing will become less valued as outsourcing, automation, and improved programming techniques combine to make functional testing less a factor. As the risks and costs of failures increase, the need for non-functional testing will continue to grow, and test engineers who have system testing experience will be more valued.

Julian Harty, Commercetest Limited
A Systematic View of User Acceptance Testing

Acceptance testing is a vital and specific form of testing whether you are tasked with rolling out an enterprise application package, releasing a major system enhancement, or developing acceptance tests in an agile development project. In addition, acceptance tests can give some teeth to service level agreements and software acquisition contracts. However, most treat acceptance testing as the same activity as system testing-but done by different staff. That is wrong! Because acceptance testing is not about bug hunting and breaking the software, you need a different strategy. With over 25 years of experience covering acceptance testing for all types of systems from safety critical control systems to standard financial applications, Geoff Quentin shares his views on how to do acceptance testing correctly.

Geoff Quentin, QBIT Ltd
Quality Assurance as a Service Organization

"QA is the bottleneck” ... "Why does QA take so long?" ... "You need to test faster." Often, key project stakeholders either do not understand QA or have difficulty quantifying the effects that increasing or decreasing test time will have on the project. First American CREDCO found the solution was to turn QA into a full service organization, complete with a "Quality Rainbow" menu of options to be purchased. Want it quicker and willing to accept a higher risk? Then select from Column 1. Want low risk and willing to take the time to ensure the product is pristine? Then select from Column 5. Whether your test team is small or large, you can learn to "in-source" QA services, set time and efforts expectations up front, and measure the value of QA activities so that QA does not become a roadblock to project success.

  • A method to specify and quantify the services provided by a QA group
Sandi Oswalt, First American Credco
Design Testability and Service Level Measurements into Software

Design and architecture decisions made early in the project have a profound influence on the testability of an application. Although testing is a necessary and integral part of application development, architecture and design considerations rarely include the impacts of development design decisions on testability. In addition, build vs. buy, third party controls, open source vs. proprietary, and other similar questions can affect greatly the ability of an organization to carry out automated functional and performance testing-both positively and negatively. If the software or service is delivered to a separate set of end-users who then need to perform testing activities, the problems compound. Join Jay Weiser to find out about the important design and architecture decisions that will ensure more efficient and effective testability of your applications.

Jay Weiser, WorkSoft
Customer Focused Business Metrics throughout the SDLC

Focusing on the customer throughout the software development lifecycle (SDLC) is difficult to do. Teams often can become mired in technical problems, internal resource limitations, or other issues. Following the customer mantra of "Faster! Better! Cheaper!" Steve Wrenn offers measurement and process techniques that he has used to deliver projects on time, on budget, and, most importantly, meeting customers needs. By focusing on the development cycle from the outside in, his organization provides business-based metrics dashboards to monitor and adjust the project plan throughout the development project. Find out how their performance dashboard helps the team and the customer stay on course and drive directly to the targeted results. Discover an approach to determine what customers really want and match product development to customer expectations.

Steve Wrenn, Liberty Mutual Insurance Information Systems
Leverage Earned Value Management with Function Point Analysis

In the Earned Value Management (EVM) approach, as work is performed, it is "earned" on the same basis it was planned-both the original plan and agreed to changes. Today, more and more software projects are using this approach. Function Point Analysis has been shown to be a reliable method for measuring the size of computer software based on detailed requirements and specifications. Function points can be leveraged throughout the EVM process to establish cost and schedule baselines, control project scope over the lifecycle, and quantitatively assess percent complete. Ian Brown delves into the concepts of EVM as applied to software development and the key conditions necessary to profitably employ this management technology. Learn how companies are using function point analysis to improve the technology.

  • Earned Value Management applied to software development projects
Ian Brown, Booz Allen Hamilton
Testing Toolkit for J2EE Systems: A Case Study

Taking a test team from a client/server environment to J2EE-based Web technologies and implementing test automation at the same time is a challenge. Introducing an agile test methodology into a traditionally waterfall-oriented organization at the same time is even bigger. In this case study, share Clay Coleman's successes and challenges as he mentored and supported a test group throughout this project. Walk with Clay from the days of early analysis and design; through test strategy development and planning; on to test case design and automation efforts; during all stages of test execution; past system rollout; and, finally, completion of an initial regression test suite. If you think you may go through such an experience, you'll learn some lessons Clay will never forget.

  • Integrate test automation into the construction phase of a development project
Clay Coleman, CapTech Ventures
Beyond GUI: What You Need to Know about Database Testing

Today's complex software systems access heterogeneous data from a variety of back-end databases. The intricate mix of client-server and Web-enabled database applications are extremely difficult to test productively. Testing at the data access layer is the point at which your application
communicates with the database. Tests at this level are vital to improve not only your overall test strategy, but also your product's quality. Mary Sweeney explains what you need to know to test the SQL database engine, stored procedures, and data views. Find out how to design effective automated tests that exercise the complete database layer of your applications. You'll learn about the most common and vexing defects related to SQL databases and the best tools available to support your testing efforts.

Mary Sweeney, Exceed Training
High Volume Test Automation

Most test design starts from the premise that extensive testing is not possible--too may tests, not enough time. What if we could generate millions of tests, execute them, and evaluate them automatically. This would dramatically change your approach to test planning. Learn how to perform this style of automation using free scripting tools (such as Ruby or Python) that are reasonably priced and easy to learn. Also, to use the system test automation tool you already use (but in a different way) or collaborating with your developers to build test diagnostics and execution support into the software. Cem Kaner describes several examples of high volume automated testing, lays out a structure for thinking about this style of testing, and suggests ideas for trying it in your shop.

Cem Kaner, Florida Institute of Technology
Adventures in Session-Based Testing

Many projects' first test approaches are characterized by uncontrolled, ad hoc testing. Session-based testing can help you manage unscripted, reactive testing. By using sessions to control and record the work done by the test team, you can use these methods to support and give impetus to ongoing learning and team improvement. You'll be introduced to simple tools and metrics to support test sessions, illustrated by real-world examples from two case studies.

James Lyndsay, Workroom Productions

Pages

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.