Software program Check Engineering, often known as Software program Testing, is a important section within the software program improvement lifecycle. It’s the technique of evaluating and verifying {that a} software program utility or system features appropriately and meets the desired necessities. The first objective of software program testing is to establish defects, bugs, or points within the software program and be certain 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 study extra about this course of, we spoke to Dzarrin Zubairy, Software program Check 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 group.
What sort of work do you do at GfK?
As an Automated Software program Check Engineer, my major accountability is to make sure the standard and reliability of software program purposes. I deal with validating software program performance, figuring out and testing bugs, and making certain that the software program meets efficiency and safety requirements. My day by day duties are in direction of SDET (Software program Improvement Engineer in Check), the place I develop and keep automated check scripts that simulate person interactions and carry out regression testing. I additionally create complete check circumstances, check plans, and situations 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 fingers on integrating automated check scripts into the continual integration and steady supply (CI/CD) pipeline to make sure that assessments run routinely 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 applying 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 study 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 check circumstances are executed routinely through the use of software program instruments and scripts relatively than manually by human testers. In GfK, we use automated scripts not solely to check the software program performance but additionally to check utility efficiency. The check scripts are developed based mostly on the person tales and the tester’s information. Person expertise is transformed into codes and run day by 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 check packs when wanted. A scheduled run for our automated efficiency check was accomplished to establish sudden or gradual efficiency degradation launched by code modifications, making certain points are recognized and addressed promptly. Enhancement can be created when there’s a degradation in efficiency. We would like customers to have solely one of the best expertise!
How has your work with automated software program testing helped enhance the work accomplished by GfK?
We transfer in direction of shift-left testing, the place automated software program check helps establish and eradicate defects and points within the early improvement course of. This ends in 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 flexibility 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 assessments could be run persistently and repetitively, lowering the danger of human error in testing. It additionally helps in useful resource effectivity, the place automated testing can scale to accommodate bigger and extra advanced purposes, lowering the necessity to rent extra testers for rising initiatives. This may 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 numerous sorts of testing instruments based mostly on their classes. I’ve used Selenium in Java with TDD and BDD check 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 totally different languages and instruments. Efficiency assessments 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 through the use of Newman. CI/CD instruments play a major function in automated testing. Some instruments I had my fingers on are Jenkins and GitLab. This platform automates the software program supply pipelines. Check administration instruments play an important function in automated software program testing. It helps not solely in organizing check circumstances but additionally in creating an environment friendly check design and model management. Like TestRails, we retailer check circumstances as a reference when there are modifications within the check situations. The perfect half is that it might probably combine with our automation check scripts.
What are some advantages automated software program testing provides over “conventional” software program testing?
There are lots of important benefits of automated software program testing. The primary stat that stands out is its fast execution. Automated check scripts could be executed a lot sooner than guide assessments by way of getting faster suggestions on code modifications. Scripts additionally could be reused throughout totally different check cycles and initiatives, saving effort and time in check case creation and upkeep. It’s also 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 check outcomes.
Automated assessments are additionally best for regression testing, making certain new code modifications don’t introduce defects within the present performance. It additionally reduces the danger of overlooking points arising from code modifications. In comparison with the standard manner, it could result in human errors when the identical check runs over once more. And it helps to scale back the necessity for guide testing efforts, which results in value financial savings by way of person-hours.
In conventional software program testing, it may 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 all the time will get the most recent modifications and enhancements. Lastly, Automated assessments facilitate collaboration amongst cross-functional groups, offering a standardized and shareable method to validate software program performance.