After having worked as a software tester, an agile coach and a programmer, I have seen and experienced software development from different perspectives. One of the things that has stuck with me the most is how limited our view of software quality is. While we struggle with our unit tests or test cases, we are missing out on some fundamental factors which affect software quality.
Software Testing Videos and Tutorials: Load Testing, Unit Testing, Functional Testing
We all know that test automation is a must if you hope to perform software testing on a large e-commerce project. However, there is more than one way to write tests for your software, and each has its own pros and cons.
Are your full stack acceptance tests slow, non-deterministic and hard to maintain? You’re not alone. Imagine running hundreds of them in a few seconds, giving the same result every time. How do you think a feedback loop that fast would that affect your team’s productivity?
More and more organizations build test automation frameworks based on the WebDriver and Appium tools to perform software testing their web and mobile projects. A big part of why there are so many flaky tests is that we don’t treat our tests as production code. Moreover, we don’t treat our framework as a product.
It doesn’t matter if you are developing software with Java, .NET, PHP or another language. If you need to do performance testing – it will be a challenging task, especially nowadays with microservices architectures, clusters and very complex systems. This presentation addresses the most common pitfalls of performance tests. The presenter shares his experience gained through demanding experiments and quite often frustrating failures.
Running more than 5000 automated system tests on a deployed application with outgoing connections to about 25 other systems, each with their own dependencies, where test data is complex and needs to be in-sync, is a great challenge. Doing it every night, year after year, with the requirement to fail only on the event of actual errors in the application under test, is a nightmare.
One of the most widely touted drawbacks of the automated tests is that they work in strictly bounded context. They can only detect problems for which they are specifically programmed. The standard automated test has a bunch of assertions in the last step. By definition, an automated test cannot detect an ‘unknown’ problem. Because of their narrow focus, the automated tests are occasionally compared to dumb robots. It takes a lot of time and effort to write and support them however their return on investment is still marginal.