Testing Strategies for Complex Environments: Agile, SOA
Total Page:16
File Type:pdf, Size:1020Kb
May/June 2009 Volume 2 SOFTWARE TESTING Testing strategies for complex environments: Agile, SOA • CHAPTER 1 A SOA VIEW OF TESTING • CHAPTER 2 AGILE TESTING STRATEGIES: EVOLVING WITH THE PRODUCT EDITOR’S LETTER 1 Testing in the new worlds of SOA and agile p UNLESS YOU LIVE in a sci-fi novel, Karen N. Johnson in “Agile testing a there’s one rule of thumb for any new strategies: Evolving with the product.” EDITOR’S LETTER place you go: some things are differ- Agile is a more collaborative process ent; some are the same. Usually, suc- and calls for seizing “iterations as a cess, fun or survival in that new place chance to evolve test ideas,” Johnson a depends upon how well you handle writes. Fundamental testing tasks, like CHAPTER 1 A SOA VIEW the differences. In this issue of exploratory and investigative testing, OF TESTING SearchSoftwareQuality.com’s Soft- stay the same, but the productivity of ware Testing E-Zine, the new “places” completing those jobs can increase. are a service-oriented architecture Johnson and Kelly discuss the finer a (SOA) and an agile software develop- points of testing in agile and SOA, CHAPTER 2 AGILE TESTING ment environment. respectively, in this issue’s articles. STRATEGIES: EVOLVING Examining the ins and outs of soft- They also describe revelations they’ve WITH THE ware testing in SOA environments in had while working in those environ- PRODUCT “An SOA view of testing,” consultant ments and best practices they’ve Mike Kelly focuses on the “subtle dif- learned and continue to use. ferences.” What’s the same is that The theme of connectivity runs testers here must start with the through these discussions of SOA and basics. In SOA, the basics are connec- agile testing, as the former focuses on tivity, basic capacity, and authoriza- system connectivity and the latter on tion and authentication—not that dif- human collaboration. Both approach- ferent from other environments. The es, when done well, can help develop- level of complexity of data models, ment and IT organizations achieve however, is very different from that of lower costs and better software. I other architectures and requires some new methods of testing. JAN STAFFORD While agile development requires Executive Editor different testing methods than the [email protected] waterfall model, those differences lie as much in human behavior as in technology, according to consultant 2 SOFTWARE TESTING MAY/JUNE 2009 CHAPTER 1 1 A SOA view of testing The complexity of a service-oriented architecture can complicate testing and make choosing and implementing the right testing tools more difficult. BY MICHAEL KELLY a EDITOR’S LETTER p SERVICE-ORIENTED architectures test. This means people testing SOA (SOAs) are stealthily becoming ubiq- need to be comfortable with varied uitous. Large and small enterprises and changing technology, need to a leverage them to integrate wide understand the various models for CHAPTER 1 A SOA VIEW arrays of disparate systems into a SOA, and should be familiar with OF TESTING cohesive whole. Most companies and the risks common to SOA. project teams that implement SOA do a so to reduce the cost, risk and difficul- CHAPTER 2 ty of replacing legacy systems, acquir- WHY SERVICE-ORIENTED AGILE TESTING ing new businesses or extending the ARCHITECTURES? STRATEGIES: EVOLVING life of existing systems. Large companies typically turn to WITH THE PRODUCT Testing a SOA requires a solid SOA because their existing systems understanding of the SOA design and can’t change fast enough to keep up underlying technology. Yet, SOA’s with the business. Because business complexity makes figuring out the operations don’t exist in discrete or functional purpose of the SOA diffi- finite units, there are a lot of depend- cult and choosing and implementing encies built into existing systems. the right testing tools and techniques SOA is an attempt to separate the to use with it more difficult. system from the business operations SOA is not simply Web services. it supports. This allows companies to According to iTKO (the makers of the incrementally build or decommission TechTarget award-winning SOA test- systems and minimizes the impact of ing tool LISA), nine out of 10 Web changes in one system to changes in services also involve some other type another. of technology. In addition, they state Implementing a SOA removes that most testing for SOA isn’t done the requirement of direct integration, at the user interface level. It’s done which results in business operations using either specialized tools or as that are easier to understand. That part of an integration or end-to-end translates into a more testable system 3 SOFTWARE TESTING MAY/JUNE 2009 overall. Over time, this makes it dards such as application-oriented easier to support a broader technolo- networking (AON), WS-Security, gy base, which in turn makes it easier SAML, WS-Trust, WS-SecurityPolicy, to acquire and integrate new systems, or other custom security schemes for extend the life of existing systems data security as well as authorization and replace legacy systems. and authentication. There are a number of different model architectures for implementing I Load balancing: SOAs are often SOA, including publish and subscript designed to spread work between (often called “pub/sub”), request resources to optimize resource and reply, and synchronous versus utilization, availability, reliability asynchronous. In addition, they can and performance. a be implemented in a broad range EDITOR’S LETTER of technologies, including message- I Translation: As data moves oriented middleware (MOM), through a SOA, it’s often converted simple HTTP posts with DNS routing, or changed based on business rules a Web services, MQ series, JMS (or or reference data. CHAPTER 1 A SOA VIEW some other type of queuing system) OF TESTING and even files passed in batch I Logging: For monitoring and processes. auditing, SOAs often implement If you’re testing a SOA you need multiple forms of logging. a to understand the implementation CHAPTER 2 AGILE TESTING model and technologies involved, I Notification: Based on the model STRATEGIES: EVOLVING because these typically combine to of SOA implemented, different notifi- WITH THE give you some common features of cations may happen at different PRODUCT a SOA. These features often become times. a focal point for your testing. They commonly include: I Adapters: Adapters (both custom and commercial) provide APIs to I Transformation and mapping: access data and common functions As data moves through a SOA, it’s within a SOA. often transformed between data formats and mapped to various standard or custom data schemes. FIGURING OUT WHAT TO TEST The first thing you need to do when I Routing: The path information you start figuring what to test for your takes as it moves through a SOA SOA is to develop (or start develop- is often based on business rules ing) your test strategy. When I’m embedded at different levels of faced with a new project and I’m not the architecture. sure where to start, I normally pull out the Satisfice Heuristic Test Strate- I Security: SOAs often use stan- gy Model and start there. Each sec- 4 SOFTWARE TESTING MAY/JUNE 2009 Feeling the Agile Rush? Test Faster With TestComplete7 The Easiest 7 TestComplete Ever! Agile development moves fast, too fast for manual testing alone. In an agile environment you need automated testing tools to succeed. Check out TestComplete from AutomatedQA. TestComplete lets anyone automate tests for the widest range of technologies like Web, Ajax, Windows, .NET, Java, Flash, Flex and Silverlight. TestComplete has won four Jolt awards, been voted Best Testing Tool Script-Free Test Creation and yet it's still aordable. Simple to learn and easy to extend TestComplete's extensive feature set and Download and Customize Extensions Pre-built and custom add-ons make great price has long made it the choice of complex tests point and click easy expert testers. Now version 7 adds script-free test creation and a simplied Unmatched Technology Support user interface so new testers can get New technology? No problem! Rapid productive fast. TestComplete 7's easy support for the latest software automated testing lets your entire QA team Price and Performance Leader test more, test faster and ship on time with Unsurpassed features and a low price condence. to make you smile. Start Testing In Minutes! Download TestComplete now and start Download testing today. TestComplete FREE www.testcomplete.com AutomatedQA(978) 236-7900 tion of the Satisfice Heuristic Test I Project environment: What fac- Strategy Model contains things you’ll tors will be critical to your success need to consider as you think about and the success of the in-house team your testing: as you take over this work? How will you take in new work, structure your I Test techniques: What types of release schedules, or move code testing techniques will you be doing? between teams, phases or environ- What would you need to support ments? What are the business drivers those types of testing in terms of to moving to a SOA and how will people, processes, tools, environ- those come into play while you’re ments or data? Are there specific testing? things you need to test (like security, a transformation and mapping, or load Recognize that as you think of EDITOR’S LETTER balancing) that may require special- these questions, it’s a matrix of con- ized techniques? cerns. A decision (or lack of decision) in each of these categories affects the a I Product elements: What product scope of the decisions in the other CHAPTER 1 A SOA VIEW elements will you be covering in your three.