Conference Presentations

Asia as a Test Outsource Center

Outsourcing testing software projects to countries in Asia is a trend that is here to stay. You have a growing number of choices for an outsourcing country in Asia-India, China, Taipei, Korea, and others. Although India currently dominates the scene and both Taipei and Korea have historically provided excellent quality, though at a higher cost, China is quickly moving to become the leader with even lower billing rates and a large number of experienced and educated engineers. In this session, Jacob Hsu offers an overview of the Asian outsource scene including the latest trends and data. Take away a checklist of best practices for successfully outsourcing product testing to Asia, including how to manage distributed testing teams, how to overcome language/cultural issues by country, and what types of testing should (and should not) be outsourced offshore.

Jacob Hsu, Symbio Group
The Four Schools of Software Testing

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.

Bret Pettichord, ThoughtWorks
The Journey to Successful Execution of Outsourced Testing

Whether we like it or not, outsourcing has become mainstream in the development world and is now being imposed on testing organizations. If not done properly, an outsourcing venture can add costs, distract the internal QA organization, and increase business risks to the enterprise. This session describes practical steps to successfully execute outsourced QA projects. Rutesh Shah, who has years of experience on both sides of the table, explains what should and should not be outsourced, common vendor practices, risk management issues, relationship management, and a practical, proven process for outsourcing test activities. Use the knowledge gained from this session to ensure that your team makes efficient and informed decisions before outsourcing testing. Measure progress and determine the true ROI (or lack of it) when outsourcing testing.

Rutesh Shah, InfoStretch Corporation
Testers and Testing in the Agile Development

You have heard about agile software development techniques such as eXtreme Programming (XP), Scrum, and Agile Modeling (AM). The industry is buzzing with everything from "this is the greatest thing ever" to "it's just hacking with a fancy new name." Comments like "there is no place for testers because developers and users do the testing now" and "testers play an important role in the agile methods" are both common. Scott Ambler, an early proponent of the agile movement, explains the fundamentals, values, and principles of agile development. He describes a range of agile techniques and explores many myths and misconceptions surrounding agility. Agile software development is real, it works, and it may be an important part of your future in testing. Better testing and improved quality are critical aspects of agile software development, but the roles of traditional testers and QA professionals on agile projects remain unclear.

Scott Ambler, Ronin International, Inc.
Get Your Testing Message Across

We all know how important test progress (or lack of) is to the success of the project. But why is it that sometimes no one takes notice? Valuable test reports provide information that is needed, not just easy to gather. Test progress reports aid management in decision-making and risk assessment and help testing teams set priorities. In this presentation, Isabel Evans asks, "Do our reports add value for their audience or are we just supplying 'chart junk' that will not be read? Are we providing teams and managers with information they need or giving them what we have? Do our reports and charts emphasize or hide our message? Are our reports clear and to the point?" She discusses what types of information different audiences need and when; how to display information using charts, diagrams, and text to be effective; and how to predict future progress from past reports.

Isabel Evans, Testing Solutions Group Ltd.
A Strategic Approach - "Beta the Business"

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?

Pete Conway, EMC Corporation
Cosmic Truths about Software Requirements

The history of many software projects shows that requirements mistakes are the most expensive ones to correct late in development. So, why do we make big requirements errors over and over, even in mission-critical software projects? Karl Wiegers, author of a best-selling book on software requirements and a consultant on many such projects, shares his top ten requirements principles to help your organization produce accurate, consistent, and unambiguous requirements. Although there are few absolute truths in software development, Karl has found several that almost universally apply to software projects. These principles emphasize the critical contribution that good requirements make to a project's success, and the critical contribution that customer involvement makes to good requirements.

Karl Wiegers, Process Impact
Continuous Integration Using an Open Source Platform Architecture

Continuous integration is the process of performing a fully automated build, run often, usually daily, during software development. How do you develop a robust platform architecture to automatically integrate your software into builds? How can open source tools fill the gaps in your platform architecture? After examining the benefits of continuous integration, Paul Duvall discusses techniques, such as architectural validation, configuration management, automated unit testing, and report generation within the process. From a working reference implementation in Java, learn the attributes of an effective platform architecture for continuous integration. Additionally, Paul will introduce you to open source tools, such as Ant, Maven, CruiseControl, Eclipse, xUnit, and others that can help you implement a continuous integration architecture in your environment.

Paul Duvall, Cigital, Inc.
Service-Oriented Architecture - Exposed

Service-Oriented Architecture (SOA), incorporating methods for Web services to communicate dynamically, promises to significantly improve organizational operating efficiency, change the way companies conduct business, and even alter the competitive landscape. However, Service-Oriented Architecture is a strategy rather than an objective, and, like any strategy, it is of no value unless it is implemented. With illustrations from companies who today are using SOA to transform their organizations, Sharon Fay shares current practices for exposing Web services and XML to internal development teams, outsourced development, external trading partners, and customers. Learn why reuse is a key method for supporting integration of SOA implementations and how it is being accomplished. Take away a set of metrics that you can use to measure the level of SOA adoption, development productivity gains, and organizational agility.

Sharon Fay, Flashline, Inc.
eXtreme Architecture and Design for Test

eXtreme programming emphasizes test-first coding-you write the tests before writing the implementation code. You can apply the same approach in design when developing a complex system, including an architecture to support testing. To be successful, systems developed with agile methods must support a high level of testability and test automation. For large distributed systems, more sophisticated testing is needed to help determine which components may be contributing to failures. For such complex systems, you should architect the system for testing rather than add testing functionality as an afterthought. Ken Pugh presents a framework that employs polymorphic-style internal and external interface patterns to ease the work of testing and debugging. He also covers adding test-only functionality, test-only outputs, and test-only logging to interfaces.

Ken Pugh, Pugh-Killeen Associates

Pages

AgileConnection is a TechWell community.

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