Most people know they need to set goals to improve some part of their life. It helps you avoid wasting energy and make measurable progress. While this is common knowledge, most of us still don't take the time to set goals or measure their progress toward them over time. The result is missed opportunities. Same thing with the performance testing process – goal setting is a critical step. If you don't set goals, it's impossible to know what defines 'good' or 'acceptable' performance levels.
Many stakeholders see software development as a linear process — the software is written, tests are run, and the code is deployed. On the other hand, many developers know that seemingly benign changes to a piece of code can have a ripple effect across the application. Regression testing is the only reliable way to make sure that everything works. Small changes to a piece of code can have a ripple effect across an application, which makes regression tests important to ensure everything works.
Most developers and test engineers know that unit tests should include both happy and sad paths. For example, you might test an email validation method with several different correctly and incorrectly formatted email addresses. The goal is to ensure the code works in many different scenarios rather than just testing a single correct email address.
In 2011, developers at Facebook noticed the industry was making a massive shift towards mobile applications, and were very concerned. They didn't have a native mobile app at the time. Facebook prided itself on being a website company and didn’t have an app as we know today. They based their application off the website browser, and for a while it worked fine. But they noticed that every year native mobile apps were improving, while mobile browsers got slower. And buggier.
TestComplete is finishing out 2019 on a high note, following previous releases that included AI-powered visual recognition, integration with Zephyr for Jira, support for Shadow DOM, tight integration with Azure DevOps, PDF testing, and major enhancements in performance and stability of the platform. We also introduced native support for BDD-style Gherkin syntax through our integration with Hiptest, part of the SmartBear BDD portfolio that also includes Cucumber.
Suppose you have an e-commerce application and want to make sure it's performant. Load tests can help prevent issues under expected loads, but what happens if there's an unexpected load from a social media promotion or holiday sale? What if high traffic persists for several hours or days? Load tests are the most popular type of performance test, but they can't answer all performance-related questions.
Pull requests are a staple of open source software. Someone finds a bug or inefficiency within a section of code, and they can submit a “pull request” through Git to the repository owner. The owner can compare the new code versus the original, and if they agree it’s better off with the new code, it’s in. Sounds like an open and shut case for high quality, right?