Using open source tools in a development and test environment can be a big relief for your budget. However, open source remains a foreign and often frightening concept for many developers and organizations. Today, open source options are available for all types of tools used in the development process. In this session, you will gain a better understanding of the tradeoffs between choosing open source and commercial tools. In addition, you will learn about the wide variety of open source tools available for many operating environments and how to locate the most robust ones. Danny Faught, who has actively evaluated open source tools as they have evolved over the last five years, provides an honest analysis of the benefits and difficulties you may encounter using these tools for development.
Open source tools to consider for you and your team
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.
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.
You must successfully test your browser-based applications before hackers do the job for you! Whether you have to worry about critical business applications or government compliance issues like HIPPA (Health Insurance Portability and Accountability Act of 1996) or GLBA (Financial Services Modernization Act of 1999), security failures can cost your organization big dollars, unnecessary embarrassment, or both. Hackers have gone beyond simple exploits of open IP ports and standard applications such as Telnet, FTP, and Sendmail, turning their attention to commercial and custom Web applications. To thwart the hackers, test engineers must focus their efforts on common and uncommon security vulnerabilities within the application, including SQL injections, session hijacking, cross-site scripting, and more.
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.
Whether you are using the Rational Unified Process (RUP), agile methods, spiral development, or a home grown iterative approach, there are some fundamental practices that can make a big difference. Esther Derby looks at ways to manage schedules and resources, keep progress visible, mitigate risk, and dynamically improve estimates throughout the project. After comparing and contrasting popular iterative process models, Esther offers practical, easy to implement practices to enhance your current process. You will take away some process "gems" that she has collected in her consulting practice, including: use of product backlogs for driving ownership and priorities, burn down charts, ROI measures of requirements, and ways to obtain vital feedback at every iteration.
The advantages and disadvantages of different iterative development models
A return on investment (ROI) measure for more detailed requirements
Today's business world relies heavily on transactions conducted through the web. Because of this, brand image and how a web site is rendered to customers has become increasingly important. A poorly functioning web site poses significant risk for web-based companies. This presentation discusses the challenges involved when testing to ensure the quality of your company's web site and to ensure that the components of the site function properly. With the ever-increasing web complexity, specific tools and processes are required to manage these challenges.
Learn how to manage your web sites's links to ensure that they remain current and unbroken, and ensure that web content is accessible to users
Learn about specific tools and processes to test and manage your web site
Using a challenging client engagement as a case study, Rex Black shows you how he and a team of test engineers created an integrated, automated unit, component, and integration testing harness, and a lightweight process for using it. The test harness supported both static and dynamic testing of a product that ran on multiple platforms. The test process allowed system development teams spread across three continents to test their own units before checking them into the code repository, while the capture of the tests provided automated integration testing and component regression going forward. He'll also explain the tools available to build such a testing harness and why his team chose the ones they did.
Examine the benefits-and challenges-of implementing an integrated, automated component and integration testing process in a Java/EJB development environment
A Web service provides an interface for sending and receiving information, but it doesn't have a user interface. Instead, everything is done via requests and methods. So how does one go about testing such interfaces? Programmatically, that's how. In this presentation you'll be introduced to the concept of Web services and how they work. Tom Arnold even walks you through how to create tests using Perl, Python, and VB-like languages. Anyone new to Web services testing is certain to find this presentation a crucial first step to getting started down the right path.
Learn how to work with a Web service interface
Obtain approaches to writing scripts to exercise a Web service's API
Look at a completed harness for testing Web services
Not sure what elements to consider now that you're ready to embark on the mission of automating your testing? This session explores the possibilities-the key mix of skill sets, processes, and tools-that can make or break any automation effort. The instructor shows you how to develop an informed set of priorities that can make all the difference in your effort's success, and help you avoid project failure.
Create better, more reusable tests to improve efficiency and effectiveness
Increase the value and reputation of QA within your organization
Establish a closer relationship with developers based on mutual respect