Tag: app testing

  • Survey Warns of Looming Software Testing Crisis

    Survey Warns of Looming Software Testing Crisis

    A survey of CEOs and IT professionals involved in application testing finds a significant gap in terms of how acceptable it is to release software that has not been properly tested.

    The survey, conducted by the market research firm Censuswide on behalf of Leapwork, a test automation platform provider, polled 480 CEOs in the U.S. and the United Kingdom (UK) from organizations with more than 500 employees and 480 heads of quality assurance, testers, release and delivery managers and site reliability engineers (SREs).

    A full 85% of the CEOs in the U.S. and 69% in the UK said it’s acceptable to release software that hasn’t been properly tested, as long as patches are tested and applied later. Less than half of the IT professionals surveyed (49%) agreed. A full 94% of CEOs also said they’re confident the software released is tested regularly.

    However, 79% of the IT professionals admitted that as much as 40% of software goes to market without sufficient testing. As a result, 68% of UK and 52% of U.S. IT professionals said their teams spend five to 10 days per year patching software.

    The survey also made it clear that everyone involved is well aware of the risks that lack of testing creates. Nearly every CEO (95%) is concerned about losing their job in the wake of a software failure. Slightly more than three-quarters of the IT professionals (76%) surveyed have the same fear.

    More than three-quarters of CEOs (77%) also noted that software failures have harmed their company’s reputation in the last five years.

    Many organizations today assume that Agile development and DevOps best practices will enable them to apply patches quickly in the event an issue arises. The trouble is, in the absence of sufficient testing many of those organizations are essentially experimenting on end users.

    Leapwork CEO Christian Brink Frederiksen said the primary reason so much software is not being properly tested is that most organizations continue to rely on manual testing processes that can’t keep pace with the rate at which applications are now being developed; one major factor is the use of low-code and no-code tools.

    Of the IT professionals at organizations that release insufficiently-tested software, a full 40% cited underinvestment in test automation as a factor, with only 43% of respondents using some type of automation. Other reasons cited for the lack of appropriate testing included lack of time (34%) and increased rates of deployment (29%).

    Just over a third of CEOs (34%) and about four in 10 testers (42%) whose companies use or develop in-house software that goes to market without being tested also cited a lack of available skilled developers. More than a third of CEOs (34%) also cited underinvestment in testing personnel.

    At a time when more organizations than ever are dependent on software to drive digital business transformation initiatives, it’s apparent that an application testing crisis is imminent. The only thing left to be determined is how catastrophic the fallout will be because existing processes don’t scale to meet the challenge.

  • Buildkite Adds Analytics Tools to Identify Flaky App Tests

    Buildkite Adds Analytics Tools to Identify Flaky App Tests

    Buildkite has added an analytics tool to its continuous integration/continuous delivery (CI/CD) platform that identifies flaky tests.

    Buildkite’s co-CEO Keith Pitt said the company’s Test Analytics tool enables continuous performance monitoring and real-time insights for test suites that, when not properly written, only serve to waste DevOps teams’ time. Rather than eliminating those tests, most DevOps teams just opt to run them again on the assumption that the code they are testing will eventually pass because the test is poorly constructed, noted Pitt.

    Buildkite reports there are more than 800 million seconds—or the equivalent of 25 years—of flaky tests manually re-run on its platform by developers each month.

    In addition to being integrated with the Buildkite CI/CD platform, the Test Analytics tool can also be applied to tests residing in CI platforms such as CircleCI, GitHub Actions and Jenkins.

    Test Analytics includes a dashboard that identifies the slowest and least reliable tests to help prioritize test remediation efforts. Historical views and trend graphs are also available to provide further insight into recurring issues.

    DevOps teams can also take advantage of user-defined thresholds to define whether a test is slow or unreliable, which generate custom alerts when discovered. Finally, there are integrations with commonly used testing frameworks to determine where tests are, for example, wasting time running database queries against application programming interfaces (APIs) that have timed out.

    Pitt noted that most tests today are created by developers and software engineers rather than dedicated testing teams. As such, the chances there will be an issue with a test that is returning flaky results are high.

    Organizations are, of course, trying to determine how far left to shift application testing. Developers can write their own tests, but how thorough and objective those tests are is debatable. There are also certain tests that should be applied to all applications that organizations can embed within their DevOps workflows to make sure they are always run.

    Obviously, the more testing that occurs the fewer issues DevOps teams will encounter after an application is deployed. However, when tests are flaky, it becomes easier for developers to justify not running them even though that test might still surface an issue they should address. In addition to increasing confidence in the quality of those tests, knowing which tests are flaky allows a DevOps team to determine which tests should be run first. That’s critical at a time when more organizations are trying to increase developer productivity; that productivity is often adversely impacted by waiting for tests to be completed before more code can be written.

    Eventually, the overall quality of tests should improve as machine learning algorithms and other forms of data science are applied. In the meantime, however, the onus for improving application testing is clearly on the engineers that create them. The challenge is many of those engineers may not even be aware how flaky a test really is until someone shows them some empirical data that can’t be disputed.

  • Catchpoint Enables Experimentation by Automating Web App Testing

    Catchpoint Enables Experimentation by Automating Web App Testing

    Catchpoint this week expanded its open source WebPageTest performance testing suite of tools to enable IT teams to run instant tests that surface suggestions for improving overall web application and site performance.

    In addition, Catchpoint is now providing support for private tests, bulk tests and priority testing capabilities within the WebPageTest tool suite.

    Tim Kadlec, director of engineering for WebPageTest, said the goal is to make it easier for both developers and DevOps teams to experiment with how changes to applications and websites could improve performance using a capability that has now been added to the core suite.

    Identifying opportunities to improve performance typically requires tediously constructing manual tests over a period of weeks, noted Kadlec. Much of that effort is experimental in the sense that no one knows for sure if the tests being constructed will have a material impact on performance.

    The Opportunities and Experiments capability provides teams with a low-code tool for building tests based on a set of best practices that Catchpoint has defined. That approach makes it simpler to automatically generate and test tweaks that, for example, eliminate blocking scripts, optimize image rendering and minimize layout shifts. The result is optimization tests that show how their applications and websites could benefit from specific, actionable improvements without having to change any of the code that has already been deployed, said Kadlec.

    That’s a critical capability because it will encourage a level of experimentation that previously IT teams shied away from, simply because the amount of effort required to achieve an uncertain outcome was too high.

    It’s not precisely clear who is conducting these types of tests, as more responsibility for testing applications continues to shift left toward developers. The latest additions to WebPageTest make it easier for developers to conduct those tests without necessarily requiring help from a DevOps team, noted Kadlec.

    While there has always been a tremendous amount of focus on web application and site performance, the attention level has risen across organizations in the digital business transformation era. Many of the processes being implemented via web applications are extremely latency-sensitive. As more of those applications become routinely tested, the overall level of application performance should steadily improve.

    At the same time, the number of web applications and websites that most organizations are supporting also continues to expand. Most of those organizations are looking for ways to test applications without necessarily having to expand the size of the testing team or significantly increase the amount of time spent on testing.

    Regardless of the approach, it is apparent that testing is becoming more automated. The goal is not so much to eliminate the need for dedicated testing teams, but reduce the number of rote tasks that contribute to test avoidance in the interest of saving time. In theory, the more tests run—and the earlier they are run—the fewer issues that DevOps teams will need to deal with later.

  • ACCELQ Further Automates Testing of Low-Code, No-Code Apps

    ACCELQ Further Automates Testing of Low-Code, No-Code Apps

    ACCELQ today unveiled the cloud-based ACCELQ Live test automation platform that is continuously integrated with a wide range of low-code and no-code application development and deployment platforms.

    ACCELQ CEO Mahendra Alladi said the goal is to make it simpler to run complex tests across a multi-cloud computing environment.

    Usage of low-code and no-code tools has greatly expanded since the start of the COVID-19 pandemic. Many organizations are now relying on these tools to accelerate a wide range of digital business transformation initiatives. The challenge they encounter is that many of these processes depend on multiple applications that have lots of interdependencies across which it is difficult to conduct tests, noted Alladi.

    The ACCELQ Live platform reduces testing complexity by automatically updating itself as, for example, Salesforce or ServiceNow platforms are updated. It also provides access to pre-built codeless automation assets modeled on business processes via a live link. The company is also moving toward creating a marketplace where software vendors and service providers can build and deploy pre-built testing assets, as well.

    Gartner predicts the adoption of low-code and no-code technologies will nearly triple by 2025. Testing those applications creates a major challenge as the pace of application development increases. The only way organizations will be able to keep pace is by embracing test automation platforms infused with artificial intelligence (AI) capabilities, said Alladi. In effect, ACCELQ’s ACCELQ Live represents an effort to democratize the testing of cloud and enterprise apps, he added.

    As organizations increasingly appreciate their dependence on software, the way tests are being conducted is rapidly evolving. In addition to dedicated testing teams, developers and application owners are becoming more involved as responsibility for testing applications continues to shift further left. The challenge organizations face is the volume of applications that are simultaneously being constructed has significantly increased. Platforms that automate many lower-level testing functions are gaining traction as a means to enable humans to focus more of their time and energy on testing more complex functionality. The goal now should be to first rely on test automation platforms as much as possible and then employ humans to fill in the gaps as necessary, said Alladi.

    It may be a while before most organizations achieve that level of test automation. However, with each passing day, it’s apparent that AI will play a larger role in application testing. The issue that many DevOps teams are now working through is how to incorporate test automation platforms within the context of a larger workflow.

    In the meantime, the rate at which application testers become burned out should decline as more routine errors are uncovered by machines. It’s not likely AI will eliminate the need for dedicated testing teams any time soon, but as more rote tasks become automated there is going to be more time to focus on enhancing overall quality at a time when application environments have not only become much more distributed but also a lot more complex.

  • The Benefits of Crowdsourced Testing

    The Benefits of Crowdsourced Testing

    Charlene O’Hanlon and Rob Mason from Applause talk about how crowdsourced testing is a highly effective method for testing applications and its benefits to DevOps teams. The video is below followed by a transcript of the conversation.

    O’Hanlon: Hey, everybody. Welcome back to TechStrong TV. I’m O’Hanlon, and I’m here now with Mason with Applause. Rob is a return to TechStrong TV. Rob, welcome back. So good to see you again.

    Mason: Thank you, and thanks for having me on again.

    O’Hanlon: All right, so we had a great conversation, what was it, a couple of months ago?

    Mason: Yeah, a little while ago.

    O’Hanlon: I think so. Yeah, yeah, so time flies when you’re having fun, I guess. But, at that point, I did invite you to come back on so we could talk about the topic of continuous testing, which I think is something that is gaining a lot of traction in the DevOps space, and it’s certainly garnering a lot of conversation. Sorry, not continuous testing, crowdsource testing. Oh my goodness, my brain this afternoon, what am I going to do? Sorry about that. Yes, crowdsource testing, and it, too, is something that a lot of DevOps teams or a lot of organizations are considering as an alternative, I guess, or maybe a complement to the way that they’re doing testing these days. You are the expert in the field, so I want to talk to you about it and kind of get a download, if you will, on crowdsource testing. What you’re seeing in the space right now, who’s talking about it and what organizations, how they could benefit from it?

    Mason: Right. Thank you. Yeah, so Applause is the largest crowdsource testing company in the world. _____ [inaudible due to audio distortion] quality testing for some of the largest companies in the world, like Google, PayPal, Walmart, Amazon, Facebook, a lot of those different types of companies, and we do that digital quality testing by using a crowd. Applause actually started off as uTest about a decade ago, _____ the name uTest, so anyone could test. Basically, if you go to uTest.com, you sign up to become a tester. Today, that community is over 750,000 people from 233 different countries around the world, and they’re making money from testing products from the company, or the companies I mentioned before, as independent contractors. They bring their own computers, they decide what they work on, what they don’t work on, they bring their gear, they decide when they want to work.

    You start off by going to uTest.com, you sign up, and then we put you through all sorts of training. We have what we call uTest Academy, lots of great videos, training courses. It’s all free. You don’t have to pay anything for it. Joining the community is free. Once you join the community, you start to level up your skills as a tester, and you become better and better at writing great bug reports, with _____ the attachments, the steps to reproduce them, learn now to execute test cases, how to do payment testing or accessibility testing. We train you on all sorts of things around testing because we know there are not enough tests going on. We know there is not enough quality in our products today. It could always be better, and so ‒

    O’Hanlon: Yeah ‒

    Mason: Go ahead.

    O’Hanlon: No, no, you go ahead.

    Mason: I mean, with how fast the technology landscape is changing, you guys see it firsthand every day, it’s very easy to switch from one bank to another or from one app to another, and so it’s very important that that first experience is first class. More and more big brands are very much aware and very in tune with those first experiences and the ongoing experience of their users, so we use a very large community of real people in the real world, around the world, every country you can imagine. You know, 233 countries, as I mentioned. They level up over time to become more and more expertise. As they progress in their learning and participation, they get invited into more projects, so they get opened up to more ability to earn money, basically. When they tell us ‒ voluntarily, of course ‒ about themselves more, what devices they have, do they have an iOS device, android device, what kind of laptop they have, they get invited to more projects.

    The more they tell us, the more that we can match them to projects. We use machine learning algorithms to match testers to projects based on past experience, so we’ve got a data science team, and machine learning algorithms that match based on performance. It’s not based on demographics or race or ethnicity, it’s all based on what you can do, and what you can do is behind a screen. The machines don’t know. It’s based on did you turn up on time for the project, did you execute ‒

    O’Hanlon: Yeah.

    Mason: ‒ _____ well, were your bugs well written? It’s all based on pure scoring, which is great. Some of our projects do require physical presence, it will be like a test for Starbucks, and you have to go in and buy a coffee and prove that you can order it online and pick it up, and all that sort of stuff. But, most of them are remote, and you can work wherever you are, from your couch with your dog sitting on your lap, and still execute great testing for the customers. That’s what the community is really a lot like. Some of the projects do have demographic requirements, but mostly those are in the medical space or in fitness. For instance, we’ll be looking for a specific age class for testing online fitness classes for some of our customers, and so sometimes there are demographic requirements. But, for the most part, it’s pretty wide open for anyone to participate. What’s nice is in some of these communities, or sorry, in some of these countries, it’s hard to find jobs. Especially during COVID, we had about 50,000 coming in per month during COVID.

    O’Hanlon: Wow.

    Mason: That’s trailing off now with less people coming in, but with all the people that were out of work, you can make money at Applause. Some people do it as a moonlighting job on the side, just to earn some extra money, maybe some play money. Some people make a living out of it. As an independent contractor, again, they make their own time and everything, but they’re making a living off of Applause doing testing for these customers full time. Again, anyone can do it, so if you’re in a country where maybe women can’t get jobs because it’s old-school and it’s sexist there in that country or what have you, or you’re in a demographic that it’s harder to find work, uTest doesn’t care, like bring your skills, bring your abilities, and anyone can get work. If you look at our community, we’re incredibly diverse across, again, all those countries, but also in our global community, we have a high ratio of women in the community.

    Not everyone, obviously, tells us what gender they are, but 35 percent of our global community are female. We have top-rated testers in the community, 41 percent of our gold-rated testers, that’s the highest level tester we have, 41 percent of those are women, 40 percent of our silver testers are women, 40 percent of our bronze testers are women, so you can just see that across the board it’s, again, based on performance. It has nothing to do with gender or anything else, which just levels the playing field for a global economy, and for global testing of enterprise products. I’m sorry. I’ve been talking ‒

    O’Hanlon: No, that’s awesome. I love to get the download, so it’s like you kind of take it from there and just run with it. Wow. That’s really cool stuff. I think that the last time we spoke, you guys were working on a couple really cool projects, but it seems to me that this would be a great technology, or a great service, if you will, for organizations that really don’t have maybe an in-house testing environment, or maybe organizations that do have an in-house testing environment but really kind of want to go that extra mile and make sure really that all their bases are being covered. How much of your customer base, then, are those companies that maybe already have testing abilities in house but they’re just looking to kind of up their game, if you know what I mean?

    Mason: I would say probably almost all of them have QA ‒

    O’Hanlon: Really?

    Mason: ‒ of some sort, but the difference is QA in a lab with a relatively small team is very different than real world QA. If you have some simulators or some real devices in the lab, some browsers based in your lab, it’s very different than browsers around the world. Probably a lot of the enterprise companies have their sites localized into different languages. Probably in your lab in your local team, you may not have all those native language speakers, so that’s _____, so localization is one. Currency testing, payment instrument testing, all those things that happen in the real world, you know, poor networks, flaky networks, different flavors of Samsung devices or android pixels, all that sort of stuff. A lab test is great, and it’s a great way to make sure the base foundations of your applications are good on your mobile apps, but it’s very different when you get out in the real world, and that’s where the customers judge you.

    They don’t judge you for your lab experiences, they judge you when you get out in the real world, that’s important. Almost all of our enterprise customers have their own QA teams, but they admit, and these are big companies ‒ it’s Google, it’s Amazon, it’s Facebook ‒ they admit that they don’t have a big enough team, even at their size, to cover what they really need to do to test their applications. You need a company that can bring resources from around the world, speaking all the different languages, all the different currencies, all the different types of devices. I think the last time we counted, there were about four million different devices in the hands of this community, because everyone ‒

    O’Hanlon: Wow.

    Mason: ‒ has got a phone _____ [inaudible due to audio distortion], what have you, so you take all those devices and you bring them to bear on some of these huge problems of the large enterprise, and it changes the dynamics. It’s daunting if you want to build a product and launch it globally and have it be successful, and not know that it’s going to work the first time. Even if you get a great, large outsourcing firm based in India or over in Europe, they’re based in one area, in one region. They all speak probably the same language, a very similar language, they’re in the same area, the same currency. How do you get that global test? The answer is crowdsource testing. There is no other way to do it. It’s just not practical any other way. If you have to manage those masses of people, like how do you make sure that it’s not just total chaos, and that’s what Applause has really specialized in for more than a decade, is making sure that we give great quality in what we give back to our customers, it’s actionable, it’s precise. Every bug report from us has to have an attachment and a video, it has to have reproduction steps.

    Again, we don’t just do bugs for customers, we do all sorts of testing, like we test smart phones, we test smart TVs, smart cars, IoT, AR/VR. We do machine language, data collection, data collection from machine learning ‒ I said machine language, but machine learning ‒ so all sorts of things we do for our customers using this global community. When you think about it, I have 750,000 people I can bring to bear on your problems to improve the digital quality of your applications. Sometimes you need more data, sometimes you need _____ [inaudible due to audio distortion], sometimes you just need a lot of people to bang on a website, sometimes you need people to go deep and look for those hard-to-find bugs. It varies greatly, so we cover pretty much every area that you could expect of digital quality testing with that crowd, and we _____ [inaudible due to audio distortion] so you don’t have to think about it. That just allows us to scale, but what we’re really proud of is just how successful our community has been, how diverse they are, how broad and how deep they get.

    They are true experts, and a lot of these people in the community, some of them are just people moonlighting after working some other kind of job, but some are true QA experts that have been in the industry for decades and have just chosen this new way of life, because it’s flexible. You always work at home, or wherever _____ [inaudible due to audio distortion]. You can be on the beach and doing the job. It doesn’t matter to us, as long as the job gets done. It is the new world, and as COVID removed some jobs for some people, at least temporarily, we got an influx, but also people are now looking for that new way of working. We see the industry moving out of the offices, and that’s what we’ve been at Applause for a decade. Our community, the people doing the testing for us, have been outside of offices since we started, and so it is the natural way for us. It’s like welcome to our party, but now you have to figure out how to work ‒

    O’Hanlon: Right.

    Mason: ‒ _____ [inaudible due to audio distortion], and we’ve been doing that _____ for a long time.

    O’Hanlon: That’s very cool. On average, how many testers do you have on a particular project?

    Mason: It varies greatly, like sometimes we’re doing a global payment instrument test that’s making sure something like an android pay or an Apple pay works across the globe when they’re rolling out a new feature. There, we have to engage a lot of people to do that, to make sure that all the different banks, all the different currencies work around the world. Sometimes, it’s a point release, a patch release from a customer with a new version of their mobile app, they made some targeted changes, they’ve told us what they are, some regression testing around the area, a specific testing in that area, so it’s a smaller team, so anywhere from a handful of people to thousands of people at times. We don’t generally go much larger than thousands on a single project unless there is a very specific need. We do have some that spike up there in very large numbers, but, for the most part, we’re in the tens to hundreds range, less so in the thousands on a given, specific, what we call test cycle.

    For most of our customers, in fact all of our customers, it is subscription-based at this point, so they’ll sign up and have us test a digital asset over a long period of time, and so those assets go through their cycles. The first release is different from a patch release versus a new, major update, a new, major feature. Again, the size of those teams vary over time, and we can pull as many as we need into it. If there are different skill sets, like maybe a customer has a mobile app and now they’re focused on accessibility, and so they’re going to do a release 100 percent focused on making their application more accessible, we’ll bring in an accessibility group from our community and have them focus on accessibility. These are people not only that know accessibility testing well, but they’re people with real accessibility limitations, so it’s real people with real disabilities testing your application to make sure it works in the real world, because there is nothing more frustrating than trying to use an application that claims it supports you and then finding out it doesn’t.

    O’Hanlon: Right, right. Well, it sounds like great stuff, and you guys have been doing this for ten years or so?

    Mason: Yeah, just over 11, coming on 12 now.

    O’Hanlon: That’s great. How did you guys come up with this idea? I mean, I think it’s really kind of fascinating because it really does address a real problem that is in the industry, and that is being able to test all the things, if you know what I mean. Is this something that your founders just decided one day like, “Well, you know what? The best way to do it is let’s just ask everybody to do it, and everybody to help us out.”

    Mason: Yeah, our founders were engineering managers from the past, they were engineers, and they had the experience of building and testing applications in their own labs, and then going out in the real world and finding out that things were different when they got out to the real world. They said, “We have to change the model. The model isn’t going to work, and it’s only getting worse over time.” They said, “We have to go and turn this model upside down,” and they were far ahead of their time when they launched the company. Now there are some other much smaller companies out there doing some similar things, but they’re much more niche. But, they saw what was coming. The real world matters, and the differences are just ballooning and you just cannot keep up, even as a large company in the lab, so great foresight there. It took a lot of work to get to the point where you can manage that many people and have it be successful.

    Obviously, if you just put random people on a project and say, “We’ll do stuff for you,” you’re going to get terrible results and just waste your time. Obviously, places like Walmart and Facebook and others like that will not tolerate that, so you have to have a very good system and process around it. We have a special enterprise grade platform that our customers and community interface on, so we do software development to make our own platforms to allow those groups to interact with each other, and then we’ve got a great team of community management around them, recruiting people, training them, helping them learn how to be great testers. Ultimately, we’re making careers for people. We’re helping people make livings working for themselves wherever they want to be.

    O’Hanlon: That’s great, and we’re going to need to wrap this up here very soon, but have you heard of any stories of folks that joined the platform to do testing here and there, and ultimately decided that, “Hey, this is what I want to do for a living. This is what I want to do all the time,” and they ended up actually doing a career change because of this?

    Mason: Absolutely. In fact, we’ve hired several of those.

    O’Hanlon: Oh, really?

    Mason: It’s not generally the model, to hire from the community, because the community is our model, but sometimes they rise up so far and they’re such stars in the community, and we’re looking for additional help in managing the community, or elsewhere in our business, that we find them and bring them in. A lot of our great employees we have at the company are people that we found through the community, because they’ve come in and shown what they can do. There are others that have gone off and moved on to full-time positions in companies. Some of them do have full-time QA positions, and then work for us moonlighting. Some of them, like my daughter is in the community, anyone can be in the community. My daughter is in the community, and she makes a few bucks on the side and buys herself snacks or whatever _____.

    So, it really is a very diverse community of everyone who is just getting started or learning about testing, giving an appreciation for what it takes to make digital quality products, and what companies go through to test them, so I think it’s a great experience for everyone. I encourage every single person to sign up at uTest.com. Again, it’s free. We pay you, not the opposite, so you can make money. All you have to do is experience some digital quality products, give us good feedback, and help us make these products better for the planet, basically.

    O’Hanlon: That’s awesome. Well, Rob, thank you so much for walking me through this. I love the idea of pretty much crowdsourcing anything, because I truly believe in the collective intelligence of the populations. Anything that we can do to kind of encourage that and really take advantage of that at the end of the day, really capitalize on that collective intelligence and the ability of crowds to really do some good, I think is good for everybody. Thank you, again, and it was great having you on TechStrong TV again, and hopefully we’ll see you again in the future.

    Mason: My pleasure. It was great talking to you.

    O’Hanlon: All right, everybody, please stick around. We’ve got lots more TechStrong TV coming up, so stay tuned.

    [End of Audio]

  • The Pace of Change Requires Better Testing

    The Pace of Change Requires Better Testing

    The COVID-19 pandemic in 2020 created a pressing need to give people additional ways to do their jobs and handle the tasks of day-to-day life via mobile devices and forced the growth of app innovation at a never-before-seen rate. Thanks to new application development technologies and agile processes along with open source and embedded libraries, organizations are delivering greater functionality, faster, and for multiple devices (think web, mobile, tablet, etc.). And while a never-ending stream of new apps and updates has been great for consumers, it’s proven to be a pain point for many enterprises whose testing processes aren’t up to speed, literally and figuratively.

    While test automation is an essential component of agile development, it’s not addressed in published agile methodologies such as Scrum and Kanban. Of course, testing tools and methodologies have changed along with modern development practices, but they haven’t always kept up with today’s rapid-fire pace of AppDev, and the past 18 months have only served to elevate the need for improved testing. For companies to keep up with and move beyond their competition, testing must be conducted in parallel with development.

    Automated and Continuous Testing: Analogous, not Synonymous

    There are many ways to test software, including manual, user interface (UI), automated and continuous testing (CT), but most enterprises today employ some form of automated testing and, increasingly, continuous testing. All too often, people throw the terms automated and continuous around as if they are synonymous, but they aren’t. So, before we delve into the merits of one over the other, it’s important to have a clear understanding of what each of the terms means.

    Automated testing refers to conducting software tests programmatically with little to no human interaction. It measures actual outcomes in relation to predicted outcomes, and, as it’s less time-consuming to execute than manual testing, has become the norm for modern enterprises. Continuous testing, meanwhile, uses automated tests to provide uninterrupted feedback at every stage of the software development life cycle and, therefore, plays a key role in DevOps.

    Automated and continuous testing work hand-in-hand to ensure software quality, cost-savings and speed time to market and should be conducted in lockstep with development. Whereas it’s possible to have one without the other, it’s far from advisable, however.

    The Upside of Continuous Testing

    Continuous testing takes automation to the next level and, as such, holds several advantages over automated testing alone.

    • Early and actionable feedback at each development stage means issues can be addressed sooner—before they evolve into larger, more complex issues.
    • Agile teams’ velocity is measured by how much they can complete in a sprint. Because of this, a team’s testing focus is narrowed to the sprint they are immersed in, meaning that problems affecting functionality previously deployed often aren’t discovered until later in the development life cycle, or they are discovered by users after deployment.
    • An automated and continuous approach means more problems are identified and fixed before deployment.
    • Release cycles are accelerated as organizations can respond to market changes faster and in real-time.
    • Correcting problems early reduces rework, which translates into cost and time savings.
    • Continuous integration requires continuous testing.
    • CT tests not only the parts of the application that have changed but also how those updates work within the app’s entire functionality.
    • Unlike automated testing, CT requires no human intervention.

    What’s the Holdup?

    Despite numerous benefits, CT isn’t as widespread as one would hope. One of the reasons for the disconnect comes down to investment, whether it’s hiring the right people, training or tools.

    Perhaps the greatest stumbling block comes at the hiring stage. CT requires a specific set of technical skills coupled with a natural aptitude for test development and a mindset focused on resiliency. Beyond investing in staff, there are upfront (and ongoing) automation costs to consider. Unfortunately, it’s not as if you can implement CT and never touch it again—CT becomes its own software delivery pipeline that must be developed, maintained and enhanced to ensure it doesn’t become obsolete.

    Continuous Testing: What Could go Wrong?

    As the pace of AppDev quickens, so does the imperative to integrate it into DevOps. Failure to do so has serious implications, the most obvious of which is that without CT, companies fail to test as much and as frequently as they should. Regression tests aren’t done as deeply, for instance, so when a new app or update is released, it’s more likely that something will break. Further, without the right skill sets, teams have a tendency to examine whatever is new and fail to see how it fits into the whole. Moreover, without proper testing, you may inadvertently introduce bugs or discover too late that functionality doesn’t work as planned. Relying on manual and slow, fragile UI testing will only hinder progress in organizations that don’t adapt.

    Negative consequences go beyond the confines of an agile team or enterprise as poor software design and implementation feed into the all-important issue of customer (dis)satisfaction. As everyone knows, unhappy customers aren’t loyal customers, and that translates to a lower bottom line. Another equally serious (perhaps more serious, depending on your perspective) ramification is the potential impact on data security, exposing organizations to a very different but significant risk posture.

    Thanks to DevOps, ideas are moving from deployment to business value at lightning speed. It stands to reason, then, that testing also must be faster than ever.

    When you consider that what you see today is the least amount of change you’re going to experience and that tomorrow is guaranteed to bring more, it should be abundantly clear why continuous testing is so important: The less testing you do, the more problems will occur downstream.

    Businesses develop software for a reason—to get business value. If your app isn’t working, you aren’t reaping its full value. So, instead of asking yourself if you should implement continuous testing, you need to be asking yourself why you haven’t done it already. By failing to invest in CT now, you will undoubtedly pay for it later.

  • Applause Automates App Testing via SaaS Platform

    Applause Automates App Testing via SaaS Platform

    Applause today unfurled a software-as-a-service (SaaS) platform that makes it easier to automatically create test automation scripts without having to write code.

    At the same time, the company is adding support for an application programming interface (API) through which DevOps teams can send new features to be tested by the Applause platform.

    Both offerings are now being included with a rebranded Product Excellence Platform (PEP) offering, a suite of tools and platform through which Applause is making its portfolio of offerings more accessible.

    Rob Mason, Applause CTO, said the Applause Codeless Automation (ACA) platform makes it possible for testers to record a series of test case scenarios using a SaaS platform that translates those sessions into an automation script without anyone having to write any code. The current offering supports Android and Apple iOS applications with support for web applications planned, Mason said.

    An Applause In-Sprint Testing capability, meanwhile, makes the testing process more iterative using a bi-directional API that can be plugged into any software development life cycle (SDLC) process, Mason said. That bi-directional capability makes it possible to embed the feedback from the testing process into any bug tracking system implemented by an application development team, said Mason.

    Mason said that capability is critical, because it enables DevOps teams to identify issues earlier, thereby avoiding late-stage bug fixes that are more costly to fix. It also provides the added benefit of making it easier for developers to address issues in the moment applications are being written, versus days or weeks later when the context around that issue has long since been lost, Mason added. The SaaS platform provide developers with a just-in-time testing capability, Mason said.

    Ultimately, Mason said the goal is to make it simpler for a wider range of individuals to participate in application testing by making it easier to reuse tests. In addition, he said, it will allow subject matter experts to record tests that can be turned into test scripts on their behalf. That approach will enable organizations to push testing further left, beyond the developers that originally created an application, to include the owners of that application, Mason added.

    The rate at which applications are being built to drive digital business transformation initiatives is increasing, and makes testing more problematic. Automation is the only way to close the gap between the number of application testers an organization can dedicate and all the applications being developed. The automated approach not only reduces the time and effort required to create a test, it also makes it easier to reuse tests across different application use cases.

    Ultimately, it’s only a matter of time before machine learning (ML) algorithms and other AI capabilities play a larger role in application testing. The challenge will be finding exactly where the interface between humans and machines should lie in the context of application testing.

    In the meantime, the more automated testing becomes, the more widely it will be conducted. The results of those tests may not always be welcome news, but the issues they raise are always better addressed sooner than later.

  • Every Millisecond Counts When Code-Testing Mobile Apps

    Every Millisecond Counts When Code-Testing Mobile Apps

    Whether a company is creating mobile applications for e-commerce, customer service or internally to boost employee productivity, the rapid development and effective deployment of mobile apps has become a business imperative.

    The global mobile application market was estimated at $106 billion in 2018 and is expected to hit $407 billion by 2026; an annual growth rate of 18.4%, according to Valuates Reports. Growth is being driven primarily by e-commerce, gaming and IoT, according to the report. “The advantage of having a mobile application, even for a small business, is that it improves brand recognition and offers a whole new level of e-commerce user experience, helps create customer loyalty, gathers feedback and helps [the business] stand out from the crowd,” the report says.

    Mobile App Developers Face UI Pressure

    Unfortunately, mobile application users are a tough crowd with zero tolerance for bugs or user interface (UI) issues. In fact, one-fourth of end users abandon mobile apps after their initial experience, according to the report. In this highly competitive environment, the ability to effectively test mobile apps prior to launch is critical, but many organizations face challenges when it comes to creating a suitable test environment.

    “Test environments and test data are the most cited challenges for core enterprise applications, as well as more fluid applications developed in short cycles, often deployed on smartphones, tablets or a web browser,” according to a recent Capgemini World Quality Report.

    The percentage of organizations struggling to keep pace with mobile app testing requirements is increasing, according to the report. Respondents cited a slew of issues, including not having the right processes, methods or tools to test mobile applications; not having in-house mobile testing experts; not having an in-house testing environment and/or not having enough physical devices on which to test.

    These challenges are pushing many organizations to cloud-based application testing platforms, which offer a way for developers to avoid common testing bottlenecks that slow mobile app deployment. The COVID-19 pandemic created another driver for adoption of cloud-based testing platforms, since mobile application testers lacked access to physical testing spaces where they could access and share an inventory of mobile devices.

    Accelerating Demand for Mobile Apps

    The shift to agile software development and continuous deployment methodologies is another factor ratcheting up pressure on developers to create new apps in weeks, or even days, without sacrificing quality.

    Unlike traditional apps, mobile applications need to be tested on dozens, sometimes hundreds of devices to ensure they run anywhere. The proliferation and ubiquity of mobile devices means developers need to test on more than 350 devices just to cover 90% of the mobile device market. In a present-day enterprise BYOD scenario, for example, each employee might use three to five different devices – a number that’s only expected to increase as wearables and IoT gain mainstream adoption. Development teams must prove the app is hardware agnostic and functions as expected; otherwise, imagine the fallout if the company launched a BYOD app that didn’t run properly on the CEO’s smartphone, for instance.

    This is where the value of cloud-based application testing platforms becomes clear. Cloud-based app testing platforms enable developers to manually test applications on an unlimited number of mobile devices, and to perform crucial measurements and tests of functionality like screen rendering. Mobile applications must seamlessly render in the tester’s browser without lag or latency to avoid poor user experience.

    Beyond that, there are time considerations to think about. A large enterprise organization could have hundreds of testers working around the clock to validate an application, and a slowdown of even a few milliseconds per screen rendering could cost  thousands of dollars a day in lost productivity. That’s why every millisecond matters.

    Selecting a Mobile App Testing Vendor

    Selecting a vendor that can deliver a cloud-based testing platform without lag or delay is critical, but there are other factors to consider, as well.

    Some solutions use emulators or simulators to test application performance, but nothing can replace the real thing. Look for a vendor with the ability to perform tests on real, physical devices. Since most organizations operate in a hybrid world, look for a vendor that gives customers the flexibility to combine both cloud-based and on-premises testing.

    Automation is also a major factor to consider in vendor selection. According to one survey of more than 350 mobile developers and software testers, 55% said automation would improve software quality, but the majority of respondents, 76%, are automating fewer than half of all software tests.

    Look for a vendor with the capability to take an initial manual test and automatically create scripts for all of the devices under test, without requiring developers to write new code. Test automation scripts can be created and executed exponentially faster than manual efforts, which enables businesses to get to market faster with better quality mobile apps.

  • Investing in a Mobile Device Testing Lab

    Investing in a Mobile Device Testing Lab

    It will likely come as no surprise that app downloads are on the rise, with no signs of slowing down. Today’s consumers use apps for everything from ordering food, to shopping for clothes, to managing money and more.

    In fact, according to a recent report by App Annie, consumers downloaded a total of 194 billion apps in 2018, up from 178 billion apps in 2017. 

    Yet, the same report shows that app retention rates after 90 days are low–ranging from 32% to a meager 4%.

    Reasons for app deletion vary, but far too many apps, in a burgeoning sea of apps, are either hastily and incompletely tested or aren’t even tested at all. This can lead to poor consumer experience, deleted apps and even negative feelings about a brand itself.

    Therefore, it’s critical for mobile app developers and practitioners to button up their testing practices before release. Otherwise, you run the risk that all the work you put into your app will only lead to the dreaded and overcrowded app graveyard.

    Overcoming Today’s App Testing Limitations

    The primary challenge prohibiting companies from properly testing their apps is access to real-time devices in the same instantaneous, maintainable and scalable infrastructure. The expectations around continuous testing in desktop, web and packaged applications is difficult to achieve in mobile testing without a device cloud, which delivers seamless access to real devices in an on-demand infrastructure and brings order to the chaos of managing multiple mobile devices in a test lab.

    A cloud-based mobile testing lab provides a comprehensive solution that solves issues around mobile app testing, including too many device types and operating systems to test, as well as a lack of people and time to test. It offers real-time, continuous access to real devices for all mobile testing needs, resulting in higher quality apps and increased customer satisfaction and retention.   

    An added bonus is a cloud-based mobile testing lab frees app testers from initiating and monitoring automated tests. Basically, testers can automate their automation. This, in turn, allows them to perform other significant tasks that can increase user acceptance, engagement and experience.

    Failure Looms with Little or No Testing

    That being said, some organizations, in a rush to go to market, release an app with little to no mobile testing at all. They believe testing is too difficult, too time-intensive or too costly to be worth their while. Some think minimal web testing will keep them out of trouble when it comes to mobile. And although we all like to think that we write bug-free code, unfortunately this isn’t always the case.

    Furthermore, there are those who will test their app and then release it before fixing all the bugs, thinking they can test and improve along the way. However, that way of thinking can be detrimental to a company and its brand. Localytics found technical failure as simple as an image not loading can lead to a 29% loss of customers.

    Mobile App Testing Helps Ensure a Thumbs Up 

    The average U.S. adult, according to an eMarketer study, spends 3.75 hours on mobile devices each day, with nearly three of those hours using apps. Further, Statista estimates app downloads to grow to 258.2 billion in 2022. Clearly, the app market is thriving, but so is the competition. You’ll have a better chance of standing out in the crowd if your app works–flawlessly.

    A mobile device testing lab could be one of the key solutions that will help separate the proverbial app wheat from the chaff. By testing apps in real time, you understand which types of devices are most affected should a crash occur. Analytics show what app features are used most, allowing you to prioritize what should be fixed first during the testing process. 

    The future of apps is in mobile, which is why mobile testing will continue converging with legacy applications such as web and desktop. Forward-looking companies need an approach that allows top-of-line technologies to work together as if provided by a single solution provider.

    A mobile device testing lab helps you break through the barriers of app development. In doing so, your app has a better chance of doing what you say it will do–without crashes–hopefully earning your app a coveted spot on users’ home screens instead of the trash.

    — Dan McFall