5 Top Tips for QA Testers
Our jobs as QA engineers is to test features before they are released, to keep the product up to the highest standards. Last time we discussed QA testers’ jobs we humoristically detailed 6 developer phrases that QA engineers love to hate.
This time, we will go over 5 tips for QA testing, which we hope will make your work better, faster and easier.
1. Make a replica of your production environment
If you want to find out the real problems of the system you are testing, you need to test it in an environment as similar as possible to the one it will be working on. That sounds basic, but many times testers use environments with different CPUs or load balancing abilities, or use dockers.
So if you want to find errors and bugs that might arise during migrations or version changes, and prevent a situation where you jam the system’s database and clients can’t work, create a twin environment. It should have the same servers, data structure, architecture, etc.
We also recommend you secure the replica to protect your system, and make sure you don’t expose users, so the real ones don’t receive notifications while you are running tests.
2. Determine your test cases
QA testers need to know the product like the back of their hand. They should be familiar with all of its features, including old features, as well the different use cases their customers have. This knowledge enables them to determine what they are testing and how to test it, in the most thorough way.
So take the time to learn the system, plan the different test cases in detail to ensure all important use cases are covered, and run the tests. If needed, use monitoring systems that analyze the most popular user actions. This will help you prioritize and focus.
3. Decide on the pass/fail criteria for your tests
You are now ready to run your tests. But how do you know which results are satisfactory and which aren’t? The pass/fail criteria for each feature, otherwise known as the acceptance criteria, is determined by the product manager. As a QA engineer, you should transform those requirements into pass/fail criteria for each test you run. If you’re not sure about the measurements you are setting, go talk to the product manager.
4. Monitor your app performance
When running tests for different features, you examine components like CPU, memory, throughput, network and different servers. Each of these system components has their own KPIs.
There are a few application monitoring tools that can assist you in examining these KPIs and discovering bottlenecks. Examples include CA APM, New Relic, AppDynamics and Dynatrace. For examining performance and loads, JMeter is a popular and successful open-source load testing tool, which can be enhanced by CA BlazeMeter. Using them will shorten and improve your testing and help you alert about issues, faster.
5. Prioritize and Categorize Your Tasks
The era of CI/CD (Continuous Integration/Continuous Deployment) means ongoing releases and updates, which means we don’t have enough time for in-depth testing of every new feature and fix. Therefore, sometimes you need to give up on end-to-end testing.
The best way to deal with this situation and reduce risks is to prioritize and categorize. First, determine the importance of each feature, i.e its business value. If you’re not sure, speak to the Product Manager. Second, evaluate how complex the testing for each feature will be, i.e how many resources it will take from you and your team. Then, you can intelligently decide which types of tests to do and when to do them. These decisions can then be reflected to the development teams and to PM, who can plan their own work accordingly. This will also reduce your own stress levels.
QA testing is a crucial part of the development cycle. By making your work as thorough and efficient as possible, you might make some developers mad, but your customers will be happier. To learn more about performance testing with CA BlazeMeter, request a demo, here.