Distributed development teams, including test engineers, are becoming more the norm than the
exception. Many individual testers and test managers perform some of their job duties from
home. Test engineer Andy Roth is an extreme example of this situation-telecommuting from his
Maryland home 300 miles from his company’s office. As a “tele-tester” Andy has become a
manager in addition to his testing duties, managing his personal test lab, his time, his peer
relationships, and even managing his manager. If you are considering becoming a tele-tester,
already are one, or manage tele-testers, join Andy for a discussion of what it takes to survive and
flourish in this environment. Find out the necessary prerequisites and qualities of successful teletesters
and the tools of the trade that make life easier and most productive.
With billions of dollars changing hands every day, financial trading systems demand extremely high accuracy and reliability. So, how do you improve test process performance in the areas of time to market and efficiency and at the same time reduce failures? Over the last three years, using process and project measurement data as a guide, SIAC has focused on doing exactly that. Steve Boycan highlights the key elements of the process changes that have led to SIAC's current performance: the use of a rigorous requirements engineering process; controlled parallel and iterative work flows; changes to the level of abstraction in test documentation; emphasis on test planning, analysis, and design; causal analysis; and improving the test team's skills.
Many have tried to implement software inspections in commercial development shops ... and failed. Common reasons include “not enough resources," "takes too long," and "makes people uncomfortable." Ron Yun demonstrates how ADP has implemented both "full” and "lite" inspection practices that reduce resources, automate many aspects of the process, and help take the personality issues out of the process. With their practices, ADP completes inspection meetings quickly and has eliminated all manual forms. They have merged key inspection information with data from their defect tracking system to determine progress toward the goal of finding defects as early as possible in development. Their automation tools track the identified issues, provide a permanent audit trail of the inspection, and automatically generate metrics to report status and gauge effectiveness.
As software professionals, we all care about quality. We focus our efforts on building quality into the code and testing to assess quality and find errors before our customers do. However, there is an important element of quality that comes before all that and is critical to delivering reliable software: quality working relationships and quality interactions. Esther Derby covers pragmatic strategies for building, strengthening, and maintaining working relationships with all stakeholders-managers, customers, team members, and peers. The first step is to build a foundation of trust and respect. Then, we must focus on interests rather than positions and seek joint solutions to problems. We should use the richest communication channel available for our interactions and make a generous interpretation of others’ actions.
"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
You never know what you are going to get! Until you explore, it can be hard to tell whether a free, shareware, or open source tool is an abandoned and poorly documented research project or a robust powerhouse of a tool. In this information-filled presentation, Danny Faught shows you where open source and freeware tools fit within the overall test tool landscape. During this double session, Danny installs and tries out several tools right on the spot and shares tips on how to evaluate tools you find on the Web. Find out about licensing, maintenance, documentation, Web forums, bugs, and more. Discover the many different types of testing tools that are available for free and where to find them. Danny demonstrates examples of tools that you can put to use as soon as you get back to the office.
Testing experts often disagree. Why? Different testers have different understandings of the role and mission of software testing. This session presents four schools of software testing, each with a different understanding of the purpose and foundation of testing. One school sees testing based on mathematics. Another sees it as an activity that needs to be planned and managed. A third sees it as a basis for understanding and improving software process. And the fourth sees it as an intelligence service, providing actionable information. These all sound reasonable enough, but each has provided the foundation for a school of testing and different hierarchies of values. Learn more about the four schools of software testing and the effects they have on your life. You may find that you, your colleagues, and management are operating in different schools.
Beta testing is an industry standard practice to obtain user feedback prior to general availability of software. Have you ever considered that the Beta release can be used to validate the software's value to customers and application users? Extending the Beta concept will result in higher customer satisfaction (and higher revenue for commercial products). Also, you can employ Beta testing to evaluate not only the software product, but the distribution (and sales) process, training, customer support, and usage within your customers' environments. Far beyond just finding defects in the product, you can focus Beta testing on how well the software is meeting your customers' needs. What does that mean to the Development team and the organization as a whole? What are the risks and challenges that we face? What are the rewards?
Security is a complex and often overwhelming issue. You cannot rely solely on trying to prevent hackers from entering your systems. Instead, you must ensure that the system safeguards itself if a hacker does break in. Three of the most common internal software weaknesses hackers exploit are dangerously constructed SQL, buffer overflows, and runtime exceptions that are not properly handled. Although testing existing code for these defects can help, it is not fool proof. You also need to make a concerted effort to prevent security vulnerabilities from being introduced as the team is writing code. Through the application of practices, such as static analysis, dynamic analysis, unit testing, and runtime error detection, you can jumpstart your security efforts and keep the hackers at bay.
The most common internal software weaknesses that hackers exploit
The period 2002-2004 was one of enormous progress in figuring out how testing fits in on agile projects. Test-driven design is more about designing and writing the code than about finding bugs. New testing tools such as xUnit and FIT came out and received a lot of use by early adopters. The hopeful notion that customers would write acceptance tests to find bugs was expanded, challenged, and deepened. With all that progress, it's hard to be dissatisfied with these methods in agile projects. But past ways of thinking are holding us back. To make further progress, we have to split our notion of testing into two parts: the task of after-the-fact product critique, and a role that has nothing at all to do with bugs and, really, little to do with the word "testing." Brian Marick, a founding member of the Agile Alliance, explains what that role presents and some ideas on how to fill it.