Software program Take a look at Engineering, often known as Software program Testing, is a important section within the software program improvement lifecycle. It’s the strategy of evaluating and verifying {that a} software program software or system capabilities appropriately and meets the required necessities. The first purpose of software program testing is to determine defects, bugs, or points within the software program and be sure that it really works as anticipated.
At GfK, Software program Testing is extremely essential to making sure that our merchandise are as much as scratch and assembly our prospects’ wants. To be taught extra about this course of, we spoke to Dzarrin Zubairy, Software program Take a look at Engineer at GfK in our Kuala Lumpur workplace, who shared her insights into the function, what she does every day, and what advantages it brings to the workforce.
What sort of work do you do at GfK?
As an Automated Software program Take a look at Engineer, my major duty is to make sure the standard and reliability of software program purposes. I concentrate on validating software program performance, figuring out and testing bugs, and making certain that the software program meets efficiency and safety requirements. My each day duties are in direction of SDET (Software program Growth Engineer in Take a look at), the place I develop and preserve automated take a look at scripts that simulate person interactions and carry out regression testing. I additionally create complete take a look at instances, take a look at plans, and eventualities based mostly on software program necessities and person tales, not solely performance but additionally the efficiency of the purposes. Apart from that, I had my palms on integrating automated take a look at scripts into the continual integration and steady supply (CI/CD) pipeline to make sure that checks run robotically as a part of the construct and deployment course of. The half I get pleasure from probably the most is working carefully with the Software program Engineer to know the appliance structure and codebase. We collaborate on figuring out potential points early within the improvement course of and help in debugging and fixing defects, and on the identical time, I be taught some greatest practices and codes!
What’s automated software program testing and the way is it used at GfK?
Automated Software program Testing is a course of the place the testing procedures and take a look at instances are executed robotically by utilizing software program instruments and scripts fairly than manually by human testers. In GfK, we use automated scripts not solely to check the software program performance but additionally to check software efficiency. The take a look at scripts are developed based mostly on the person tales and the tester’s data. Person expertise is transformed into codes and run each day. We use Conduct-driven improvement Testing frameworks as it’s scenario-based testing that may be simply learn and understood by a non-technical individual after which set to run within the pipeline. The pipeline is ready ‘able to go’ for others to run regression or smoke take a look at packs when wanted. A scheduled run for our automated efficiency take a look at was executed to determine sudden or gradual efficiency degradation launched by code adjustments, making certain points are recognized and addressed promptly. Enhancement can be created when there’s a degradation in efficiency. We wish customers to have solely the most effective expertise!
How has your work with automated software program testing helped enhance the work executed by GfK?
We transfer in direction of shift-left testing, the place automated software program take a look at helps determine and remove defects and points within the early improvement course of. This leads to higher-quality software program and reduces bug-related prices. By automating testing processes, GfK can launch new options and updates extra shortly. This, in flip, results in sooner improvement cycles and the power to launch new options and replace extra quickly. Embracing automated testing can reply extra successfully to altering buyer wants and business traits, giving a aggressive edge available in the market. Automated checks could be run persistently and repetitively, lowering the chance of human error in testing. It additionally helps in useful resource effectivity, the place automated testing can scale to accommodate bigger and extra complicated purposes, lowering the necessity to rent further testers for rising tasks. This will contribute considerably to an organization’s profitability and long-term success in a aggressive market.
What are some automated software program testing instruments you have had the prospect to make use of?
With nearly 5 years of expertise in Software program Testing, I’ve expertise in several sorts of testing instruments based mostly on their classes. I’ve used Selenium in Java with TDD and BDD take a look at frameworks and likewise skilled utilizing Protractor and Cypress, that are in Typescript. It was difficult to maneuver from Java to Typescript, however I loved studying completely different languages and instruments. Efficiency checks and API testing are new to me. Right here, we used k6 and JMeter to check the efficiency of the purposes. For API testing, we’re utilizing Postman and sending scripts to make sure it behaves accordingly. It additionally could be automated within the CI/CD pipeline by utilizing Newman. CI/CD instruments play a major function in automated testing. Some instruments I had my palms on are Jenkins and GitLab. This platform automates the software program supply pipelines. Take a look at administration instruments play an important function in automated software program testing. It helps not solely in organizing take a look at instances but additionally in creating an environment friendly take a look at design and model management. Like TestRails, we retailer take a look at instances as a reference when there are adjustments within the take a look at eventualities. The most effective half is that it could possibly combine with our automation take a look at scripts.
What are some advantages automated software program testing provides over “conventional” software program testing?
There are various important benefits of automated software program testing. The primary stat that stands out is its speedy execution. Automated take a look at scripts could be executed a lot sooner than handbook checks by way of getting faster suggestions on code adjustments. Scripts additionally could be reused throughout completely different take a look at cycles and tasks, saving effort and time in take a look at case creation and upkeep. It is usually each constant and dependable because it performs the identical actions and checks persistently each time they’re executed and may run 24/7, offering dependable take a look at outcomes.
Automated checks are additionally best for regression testing, making certain new code adjustments don’t introduce defects within the current performance. It additionally reduces the chance of overlooking points arising from code adjustments. In comparison with the standard means, it could result in human errors when the identical take a look at runs over once more. And it helps to cut back the necessity for handbook testing efforts, which results in value financial savings by way of person-hours.
In conventional software program testing, it is likely to be a little bit of a battle to maintain up with the updates and fixes in comparison with an automatic mannequin, which seamlessly integrates the software program enhancements and ensures that the software program at all times will get the most recent adjustments and enhancements. Lastly, Automated checks facilitate collaboration amongst cross-functional groups, offering a standardized and shareable method to validate software program performance.