Microservices Expo Authors: Yeshim Deniz, Pat Romanski, Elizabeth White, Liz McMillan, Zakia Bouachraoui

Related Topics: Microservices Expo

Microservices Expo: Blog Feed Post

Agile Testing Challenges - Web Services Testing Issues

This is the fourth installment of blogs regarding the Top 5 Agile Testing Challenges

This is the fourth installment of blogs regarding the Top 5 Agile Testing Challenges.

Now that Agile development is mainstream and each day more teams are migrating from Waterfall to Agile development, it's important to understand how this methodology shift impacts testing teams. This blog is the first in a series of blogs where I will break down the common challenges that Agile testing teams face and talk about how to solve them.

For those that aren't familiar with the differences between Agile and Waterfall development, here is a quick refresher:

  1. Agile development introduces time-boxed development, where development cycles (called Sprints) are shorter and limited in scope. Agile sprints are normally 2 weeks to a month in duration whereas Waterfall development cycles are normally many months.
  2. Agile development introduces continuous integration, which means that code is checked in daily (normally several times per day) and re-compiled at the same time. This means that the software is constantly changing. Waterfall development waits until all software is fully developed before compiling for testing, which could be many months from the day development starts.
  3. Since Agile development is done in smaller development cycles (with limited functionality being incrementally developed), requirements are smaller and can be changed as development progresses. This is done to ensure that the software delivered is what the client needs, not necessarily exactly what was defined up front. Waterfall is much more structured, where requirements are fully defined and designed up front with very strict rule for change management.


Agile Testing Challenges

Because of these differences, Agile introduces additional challenges for testing teams. Below are 5 common challenges that Agile testing teams face and a quick description of how you can mitigate them. In the coming weeks, I will be writing blogs that dive deeper into each challenge with more specific examples of how to solve them.

5 Common Challenges for Agile Testing Teams

  1. Inadequate Test Coverage - With continuous integration and changing requirements, it can be easy to miss critical tests for any requirement. This can be mitigated by linking tests to user stories for better insight into test coverage and analyzing specific metrics to identify traceability and missing test coverage. Another cause of missing test coverage is due to code being changed that was not anticipated. To mitigate that, source code analysis is needed to identify modules that were changed to ensure that all changed code is properly tested. 
  2. Code Broken Accidentally due to Frequent Builds - Since code is changed and compiled daily, the likelihood of code breaking existing features is much higher. To attack this issue you must have a way of running a series of tests against each build. Since most of us are resource constrained, it is not practical to have testers do this daily so we must rely on automated testing to do this for us.
  3. Early Detection of Defects - Defects are substantially more expensive to fix later in the development cycle. In other words, if you find a defect during requirements definition, it is much cheaper to fix and has less impact on future coding than those found late in the testing cycle or even worse, in production. To resolve this issue, your team can do frequent code reviews to spot issues early. Another option is to run static analysis tools on your source code -- these are great at finding missing error routines, coding standard derivations, and data type mismatch errors that can crop up in production.
  4. Inadequate API Testing - Most software is now designed with a service orientated architecture that exposes their APIs publicly so that other developers can extend the solution. For those of us developing APIs, it can be easy to overlook API testing because of the complexity of doing it. Many testers do not have the skills to test APIs because it normally requires strong coding skills to do so. To prevent missing API tests, there are tools that allow testers to test the API without strong coding skills, so this is a great way to ensure that these services are fully tested.
  5. Performance Bottlenecks - As software becomes more mature, complexity normally increases. This complexity adds more lines of code which introduces performance issues if the developer is not focused on how their changes are impacting end-user performance. To solve this issue, you must first know what areas of your code are causing performance issues and how performance is being impacted over time. Load testing tools can help identify slow areas and can track performance over time to more objectively document performance from release to release.

In summary, Agile is an excellent way to deliver software faster and with higher quality if testing teams understand the unique challenges they are faced with. In the coming weeks, I will be creating a series of blogs that dive into each of these challenges with more specificity and examples.

Happy testing!

Read the original blog entry...

More Stories By Alex Forbes

Alex Forbes is a B2B software marketing leader with experience in analyst relations, content marketing and product marketing. He follows the IoT, rapid application development, and cloud markets to help customers improve their digital transformation initiatives, customers' buyer journeys and experience from both an IT and business perspective.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Microservices Articles
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development organizations.
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging and seamlessly coordinating both IT and developer needs for component orchestration across disparate clouds – an increasingly important requirement at today’s multi-cloud enterprise.
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will deployment. Storage, for instance, is more capable than where we read and write data. In his session at @DevOpsSummit at 20th Cloud Expo, Josh Atwell, a Developer Advocate for NetApp, will discuss the role and value...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term.
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one location.
Enterprise architects are increasingly adopting multi-cloud strategies as they seek to utilize existing data center assets, leverage the advantages of cloud computing and avoid cloud vendor lock-in. This requires a globally aware traffic management strategy that can monitor infrastructure health across data centers and end-user experience globally, while responding to control changes and system specification at the speed of today’s DevOps teams. In his session at 20th Cloud Expo, Josh Gray, Chie...
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...