Just when you thought you were safe from more process improvement for a while—not so fast. There’s DevOps, Continuous Testing, Continuous Delivery and Continuous Deployment. In this issue, we are focusing on Continuous Testing, the part most concerning Test teams.
DevOps is, by one description, Agile for Ops. With closer input and collaboration from the business side, development and operations are using great tools to help Ops be more Agile and migrate code to production faster. But this can be complicated.
Now, I am running into organizations that say they do DevOps or are moving to DevOps but have very little in place to do so, or worse, have no idea what they are doing. This reminds me of a few companies that I knew in the Agile era, that said they were Agile, but weren’t.
Continuous Testing and Continuous Monitoring
By Sanjeev Sharma
What is the goal of Continuous Integration?
Is it to enable Continuous Delivery of the code developers’ produce out to users? Yes, eventually. But first and foremost it is to enable ongoing test and verification of the code. It is to validate that the code produced and integrated with that from other developers and with other components of the application, functions and performs as designed. Once the application has been deployed to a production system, it is also a goal to monitor that application to ensure that it functions and performs as designed in a production environment, as it is being used by end-users.
This brings us to the two practices of DevOps that are enabled by Continuous Integration and Continuous Delivery.
By Christine Paras
DevOps is really the journey towards the ideals of greater collaboration and getting immediate feedback thereby achieving greater productivity, and a high quality product. In order for DevOps to be successful, Development, Operations and the Test team must align their duties.
Fitting QA into a modern DevOps group
By Tim Hinds
In a traditional software engineering organization, the QA group is often seen as separate from the Development group. Developers and testers have different roles, different responsibilities, different job descriptions, and different management. They are two distinct entities.
However, for folks outside the engineering team – say in Operations – they generally consider Development and QA to be in the same group. From this perspective those teams are working together to do a single job, with a single responsibility: deliver a product that works.
So what happens with QA in a DevOps organization? When Development and Operations merge together, where does that leave QA? How does the testing team fit into a modern DevOps group? This article will take a look at exactly that question.
The Reason Behind DevOps: Automated Deployment
By Christine Paras
The problems around automation have become increasingly complex. And now, automation is much more integrated into the software development process…
We see CI moving onto virtual machines and DevOps running our automation all the time, on all kinds of environments. It is no longer just the test team that runs automation, and reports results, and these tests are occurring whenever a build happens. Many teams are still struggling with getting automated tests into their current sprints, or new sprints. Some teams struggle just to get more tests automated in their development cycle at all, and end up settling for adding new automation after a release, because they just do not have the time. If this is your situation fix it! It may not be an easy fix, but not fixing it has a negative impact on development.
What you need to consider before you make the jump to Continuous Testing…
How to ensure a successful test-driven environment
By Sanjay Zalavadia
In order to ensure a higher quality product is released in the end, many teams have turned to test-driven development. Under this scenario, quality assurance metrics professionals first create various QA tests, and then software engineers code based on these tests, typically while using a robust enterprise test management tool.
It’s easy to see the benefits of such an approach, as it ensures that QA metrics are kept front and center throughout the entire process. However, it can also introduce problems even for teams following agile development best practices and using free agile test management tools. In particular, test-driven development requires quality assurance metrics professionals to have a very clear understanding of what the final product is supposed to do and all of the steps they need to take to get there.
Aligning the Dev and Ops Teams
By Sanjeev Sharma
DevOps as a philosophy has had as its centerpiece the principle that Dev and Ops teams need to align better. This is a people and organizational principle, not a process centric principle. To me this is more important when adopting DevOps than any other capability or tool. My last post focused on the need to better align Dev and Ops and the challenges that such organizational change would address. This post discusses key guiding principles on which this Dev-Ops alignment should be based. They are designed to improve collaboration between these organizations and to break down the proverbial ‘wall’; to end the water-SCRUM-fall, when it comes to the relationship between the Dev and Ops teams.
These guiding principles are:
1. Shift Left:
By LogiGear Staff
It is a fundamental role for testing teams to align their test design, test automation, and test case development with DevOps–not only to verify that code changes work but that the changes do not break the product. A key differentiator of DevOps is testing maturity. An organization can automate their integration, testing, delivery, and monitor, but still have issues with the intelligence of test orchestration and automation, which can lead to a bottleneck if this is not resolved beforehand.
In most projects, TestArchitect can be used in a general DevOps process. Following the Action Based Testing method, TestArchitect offers capabilities to develop and automate test cases quickly in the same sprint as the application under test, thus allowing team members to become actively involved in the testing and automation process, each from their own skill perspective. Apart from QA other team skills/roles will typically be development, operations and product ownership.
There are four continuous processes in DevOps as below.
…On what you need to know before making the transition to EaaS
Interviewed by Michael Hackett
1. What are the main differences between cloud-based environments and cloud infrastructure?
An environment is a collection of infrastructure elements working in conjunction to enable an application stack to work.
For example, a simple 3-tier application, with a web front-end component, a business logic component and a database component requires, at a minimum, the following infrastructure components: a few VMs, a few storage disks, and a network. All of these components are required, and they need to work together as an environment for the application to be functional. Note, that as the complexity of the application stack grows, the definition of an environment grows bigger than just infrastructure components. It can include VPNs, public IP addresses, an object store, and other service end-points.