Accelerated Application Development – Dan Belcher, mabl
Mabl co-founder Dan Belcher explains the impact accelerated application development enabled by DevOps is having on application testing.
Transcript
This is Textron TV. Hey guys. Thanks for the thrill.
We're here with Dan Belcher who's co-founder for Mabel and we're going to be talking about the survey they did on testing and test Ops and what's going on in the world Dan welcome to the show. That's great to be here. Thanks for having my before we dive in the results a little bit.
Is it your sense that maybe application testing and the people who do that work or getting a little more respect these days from folks because maybe we realizing there's a lot more writing on this software or you know, or is it just that the rest of the world is starting to figure this out? Yeah, I think it absolutely is a moment for Quality engineering and the software industry. I've been in this business for I guess 22 years and never has so much attention been paid to the importance of quality engineering and quality assurance and software testing.
And absolutely I think you're you're right there that people have realized the critical role that quality engineering plays in supporting all the other things that we're trying to do in the industry devops transformation digital transformation technology transformation. And do you think that that is directly related to all this digital transformation has been going on since maybe you know, they're rise of covid may have accelerated everything but people are starting to realize that the customer experience is everything and for that matter those customers don't give you second shot. They're not really sitting around going.
Oh, yes, please experiment on me with yet another updated software. Yeah. Yeah.
That's the taller and Spore buggy software is very low when you're starting to use it for your core for your core business, you take that brick and mortar bank and you put it online and they need to figure out how they can deliver, you know, the same defect free experience online that they do when you come into to the branch. That's a very very important for these industries that are transforming as you said accelerated with with covid. So what are some of the high points in the survey?
What left out at you? And what surprised you? Yeah, I think on the grand Arc you and I have discussed before a little bit the you know, overall effort to quantify the impact of devops in particular and you know, I think Google and Dora have done a really good job of highlighting how teams that embraced devops practices or higher performing teams.
Right? And so our challenge at Mabel is to figure out well. Okay, that's good news.
But how do you help teams? Fully Embrace devops practices? What's holding them back?
And how do you accelerate that and this year's report has highlighted just as previous reports have getting quality engineering right is a really critical part of being able to achieve the benefits of devops. As that occurs is testing becoming part of the devops process because it used to be sort of at the end of the development cycle. Somebody would put together a bunch of tests.
And of course we'd run out of time and the test would never get run. We hear a lot about shifting testing left. What does that going all the way to the developer or are we more like we just kind of leaning left and trying to put it into the devops process a little bit more aggressively.
No, I love that term and I hate that term leaning left at the same time. You know, I I think the whole point of devops was to you know, drive more collaboration across the team and to treat and to create a situation where you're focused on the customer and the goals as a collaborative team from the very beginning to the very end of the pipeline. And so there's no place for throw it over the wall when you're delivering, you know Innovation twice a week or even or even more that idea that you could sort of do all the development and then hand it off to QA and let them spend a couple, you know couple weeks or a couple months testing the thing that you just built I think as an artifact of waterfall development that you know devops teams have pretty quickly realized they have to revisit in order to deliver these highly reliable highly efficient pipelines that are just kind of delivering continuous value to customers We hear a lot about all things security these days and that too is Shifting left.
Is it your perspective that security testing is part of the quality assurance testing process and maybe that's kind of one of the things we currently get wrong in the world. Yeah, I I think in order to deliver value consistently and that this year's report showed that again releases are accelerating. So people are doing a better and better job of delivering value frequently.
You can't really have anything that happens at the end of a process meaning, you know, you can't really aggregate all your changes for months and then say it's time for the security review and the same is true for performance and accessibility and you know kind of all facets of quality need to shift left so that they're part of the entire pipeline. So you need the developer to be empowered to have a handle on security accessibility performance functional quality when they're working locally. You need to have a view of that in continuous integration environments and you're building environments.
You need to have a view on it before you go and merge the changes to your main branch and To make sure you're validating it, you know in the deployment environments and out to production. So yeah for sure. I think all aspects of quality are shifting left because you know in this continuous pipeline, there's just no there's no such thing as the end the end of the project right?
It's just it's continuous. As part of that are we in danger of thinking that if we shifted all the way to the left that each developers gonna test the source code that they create but then when that gets merged into something else, we won't test that because we'll assume that all the developers did that or any and will be in for some surprises? He absolutely yeah, and that's why this year's survey showed that 2/3 of organizations surveyed view quality Engineers as strategic to their organization because it's not just the bit of code that you happen to be focused on when you're as a developer in your in a running in your local environment where QE comes in is to be able to support making sure that throughout that pipeline.
We have effective testing in place that validate that that thing that you changed didn't affect the functional quality or accessibility or performance or even security of your application. And the important part of that is the last thing you've changed. It's kind of like watching a crime drama.
The last person who saw the victim alive is usually the murderer. So the last thing they got updated is usually the thing they broke. So do we need to kind of test things in smaller increments so that we can figure out exactly what broke other than waiting for?
Yeah the end of the week per se and now we got a mountain a code and we don't know exactly what where when Yes, absolutely. It's it's actually on both sides. So as a developer, you know, you can't do everything right?
So has it developer, you know you have job your first job is to make sure that you're delivering a high quality change that that meets the requirements to the rest of the team, but that's just one aspect of you know, what happens in the in the pipeline, right? And that's where the rest of the team can come in to ensure that continuously. We're validating quality because actually it's not just the developer your developer that's changing the product and it's not just that one change now that we're building applications out of all these distributed building blocks you think about all the apis that we that we use for example enable we use sendgrid to send emails are actually I think it's Amazon SES now to send emails we use OCTA for authentication.
There's a number of different providers many Google services. That we connect to deliver value to our customers. And so they're changing their services underneath us all the time.
And so we need continuous testing. Even if we're not deploying, you know any changes from our developers. Where is the best point of integration that some folks are like?
Well, it's got to be embedded into the cicd platform and other folks are you know, it's an API and you call a cloud service and it's always available. What's the right posture and makes it things to me looking at there? The in terms of the right posture to be verifying quality.
Yeah, and we're yeah, where should I do that in the process for say and how Yeah, my suggestion is that as a developer. You want to have a good handle on functional quality for your local, you know in your local environment. I think we want it especially at the feature levels that have good automated test coverage for the features that you you're actually working on and validating those locally before you send them off to your team.
Once we're in that sort of integration environment in CI then we generally want to have a broader set of regression testing in place and that includes also integration with some of these third party third party apis in some organizations. You have to sort of stub out those dependencies, right because you don't have access to them until you deploy and then in our deployment and staging environments, that's really where a lot of the coverage comes into play where you want to make sure that we're validating full and to end functionality including all of our Integrations and including not only functional quality, but also non-functional accessibility performance security for sure. We need to make sure that we do that before we deploy to production.
How automated is the testing going to get the creation of the test the executions of the test a lot of folks struggle with creating the test. They don't know exactly what the test for and you know, can we kind of make this as idiot proof as possible? Absolutely.
The Mabel are approach was to create a low code testing framework that empowers anyone to participate. In end-to-end testing so you don't have to learn how to you know write scripts to be able to author automated tests. And we see that teams that Embrace that approach using both developers and QA they're able to reduce the amount of effort to achieve effective test coverage by 90% And the reason why that's so exciting to me looking at it from an industry perspective is I think part of the reason why as you've observed QA has gotten a little bit of let's call them undervalued historically because they've spent their entire time really trying to get their arms around functional quality as development was accelerating to deliver change faster and faster.
And so what we're seeing now in the data, you know Bears us out is that when you can automate achieve a high level of test automation using tools like Mabel you're able to deploy with much more confidence and now QA can turn their attention to higher value concerns so they can ask questions. Like, you know, not only did you break our checkout flow but instead of you know, we have that under control from an automation perspective. Now they can think about is this a good change or a bad change for the user.
They can look for issues with responsiveness that are harder to detect from an automation perspective. Is this working on any device? Any resolution is it localized effectively some of the more nuanced aspects of quality?
Right speaking of Shifting things left how far left can we go? Because you know, there's not enough testers to go around. So are we going to start enlisting end users to create tests and run some of these tests or where we going with this?
Oh, yeah. I mean a lot of teams are talking about shifting left and shifting. Right?
So let's empower the developers to help create automation very early in the development life cycle. But we also see teams that are bringing in their business analysts and product owners who really have maybe the best per view of what that user experience, you know should be and their participating in automation as well. And that this this gets back to the core kind of Promise of devops you imagine a cross-functional team that's collaborating tightly on every you know change and every unit of value that we're trying to deliver to customers right and teams.
We know teams that Embrace that are able to accelerate they're able to deliver, you know, Percent faster than teams that don't really fully Embrace those practices. All right, folks, you're hurting here. Maybe it's a lot more than just two guys in a box, right?
Absolutely. Alright. Hey Dan.
Thanks Dan. Thanks for being on the show. Oh, it's my pleasure.
It's always it's great to see Michael. All right and back to you guys in the studio.