Discover ways to develop and operate a team that can rapidly produce a tested, documented, and deployed application in less than three months! This presentation identifies important people, processes, and technologies that must be in place to ensure application success. Gain insight into what fails most often on rapid development, and learn what structures must be in place to succeed.
Many testing organizations focus primarily on software executable code, but that's not the only thing you can test. For instance, did you ever consider testing your software requirements? When you test only code, you face some big disadvantages, not to mention that design defects often aren't even fixable because they demand too much effort, too late in the release cycle. In fact, it's difficult to even report some requirements defects since the developers have already committed to the design strategy. But if you test your requirements early in the game, you can discover defects before they're cast into designs and code, consequently saving your organization potentially huge rework costs.
In testing utopia, all software products submitted for testing have thorough and comprehensive documentation describing how every program function should work. On planet Earth, however, test engineers usually have to make do under less-than-ideal circumstances. It's not uncommon for test engineers to be asked to verify the functionality of a critical legacy system which has no documented requirements whatsoever. While there are many reasons this can happen, the result is the same: You assume the role of an archeologist sifting through the layers of clues to reconstruct the specifications. Patricia Ensworth gives you instructions and tools so you'll be ready to roll up your sleeves and dig.
As software professionals, we deliver products that are the totality of the services, documentation, software, and hardware required to produce a solution for customers. But how often do we find ourselves ready to deliver a software product, yet we still don't have the services to support it? And how often does a product reach the testing phase even though it's lacking some critical requirements? Team-based management is a solution to these common-but major-problems. Bobbi Antonucci describes the machinations of team-based software development and the issues it resolves.
This paper describes how an iterative software development process has been adopted in RAFAEL, based on the Unified Software Development Process (USDP) introduced by Rational Inc. The paper identifies the core differences between iterative and waterfall software development, addresses the possible difficulties in applying the iterative
process and details the elements of an iterative software development process tailored to RAFAEL, in view of its activities, work products, reviews and other terminology
The preparation of a realistic, practical project schedule is an essential management function for obtaining stakeholder commitment, setting expectations, and communicating within the team and organization what is achievable. Doing this preparation well is another challenge-one that must be conquered. Rex Black helps participants see the bigger project scheduling picture by focusing on issues such as constituent tasks, the underlying dependencies between them, and the risks attached to the completion of those tasks.
A changing economy and fiercely competitive market have raised the bar on what we expect from software development efficiency. But are we getting the degree of productivity we expect? Quite often these questions are never answered adequately, and we don't have the measurement systems required to gain the needed insight. Ram Chillarege's presentation highlights some key principles and methods to help project teams gain the reporting edge they need. This refocusing of software development can make the difference between failed execution and success.
While the Internet provides an array of powerful tools and utilities for developing Web applications, it also requires adequate usage management of these resources. Failing to manage usage could result in significant project setbacks, including delayed initial deployment and prolonged down time on your Web site. Bhushan Gupta discusses a process that takes build-and-deployment activity from a simple manual ritual to an on-demand, fully automated activity. He even illustrates how failures can occur and offers solutions to avoid them.
Test automation is a specialized form of software development where executable code is produced for the validation and testing process. Many best practices have been identified to allow developers to code more quickly, efficiently, and correctly, but few test automators have adopted these practices. Learn about several of these "best practices"-including code reviews and coding standards-that can be applied to automated test development. Discover how you, as an automated test developer, can capitalize on the benefits provided by these practices.
The aims of this presentation are to: convince you that "test automation" is more than automating test execution; show some examples of the kinds of things that can be accomplished with scripting languages, using simplified code samples; and make you aware of three different scripting languages (shells, perl, and expect).