Strategy for Test Automation

Gartner defines Software Test Automation as a "subset of the overall software testing tool market focused on automating the validation of applications and services against requirements. It includes tools for unit, API/service, and user interface (UI) functional testing, as well as load and performance testing in an automated way".

This is a very broad domain which needs a good vision and strategy to be put in place to reap business benefits and avoid slowing down the development.

Software engineering has undergone huge changes over last few decades. But some things are still common. What has changed is the need to do things faster, better and with minimal manual efforts. The way that software engineering has changed is analogous to the way cars have changed in the last half century. Cars still have doors, engines, and steering wheels, but now they perform better and employ AI. They have improved security and increased resilience to better withstand an accident. Same is the ask in software engineering.

BDD (Behavior Driven Development) and Test-Driven Development (TDD) strategies have been adopted for many years now. Gherkin is one of the most popular language used in BDD. Selenium has been and is still very popular open-source software testing tool.

Question is whether these approaches, languages and tools are still very effective. Or enterprises need to look at bigger picture of what their testing needs are and then decide on the right test automation solution.

To put this discussion into context, let us consider any large life sciences and health care (LSHC) customer. They would broadly have 3 major verticals (could be more) – Medical, Life Sciences and Interventional. Each of these verticals will have sub verticals and will have many software applications getting used either built in-house or bought off the shelf (COTS) and possibly customized (PCAS: Picture archiving and communication systems, EMR: Electronic Medical Records etc). They will also have hardware devices – wearables or onsite medical devices (X-ray machines, CT scanners, MRIs). In case of onsite medical devices usually the software is embedded in these devices, making it difficult even to access the codebase. On-site medical devices: Systems that use medical imaging techniques, including X-rays, computed tomography (CT) scans, and magnetic resonance imaging (MRI), are often built with custom code. And for wearable devices, simulating network conditions to ensure the medical device continues to work across cellular (5G), cabled, or a WIFI connection is essential. Data transmitted back to an EMR is crucial to maintain quality patient care. And for any LSHC customer, HIPAA (Health Insurance Portability and Accountability Act) compliance is a mandate.

Assuming above scenario, how efficient it will be to use BDD and TDD approaches and still be able to cover “API/service, and user interface (UI) functional testing, as well as load and performance testing in an automated way” using 1-2 tools ?

This is where I believe many organizations struggle. They end up deploying many different tools and frameworks in silos for individual needs. And as the ecosystem of applications, devices grow, more customers get onboarded, all this becomes unmanageable. This is when transformational projects are discussed and executed.

So what could be a great solution?

If we look at Gartner or Forrester magic quadrants, we will see some prominent tools which feature every year. Let us consider SmartBear, Tricentis and Eggplant for this discussion. They all will have some commonalities and some differences. Few common elements which all these Next Gen software automation platforms are

  1. No Code / Low Code test cases authoring. Idea is not to learn programming language to write test cases, and anyone should be able to create test cases easily.
  2. Machine Learning capabilities like OCR, Computer Vision for scanning through UI without need to call APIs and do a comprehensive testing and validation. They check for subtle changes in the applications like font size, colors, font type, screen resolution etc. Features like bug hunting, coverage analysis and extremely useful.
  3. Performance and Load testing - Customers do not want to use separate tools and frameworks for doing this.
  4. API testing – Ability to test APIs.
  5. Accessibility Testing - Compliance to WCAG and ensuring inclusivity in software has become extremely critical. Americans with Disabilities Act (ADA) is a law and nonconformance to the same can lead to (there are several examples) litigations and penalties.

They also use something called model-driven testing. It is an application of model-based design for executing artifacts to perform software testing or system testing. Model is basically a digital twin of the application through which we interface to mimic a user journey. Digital Twins have become popular and very successful in the IOT (Internet of Things) domain. The same concept has been brought now into software test automation.

This helps to create a model for an application, update it as application evolves and then use this to create test cases by replicating a user journey.

These platforms can connect to web applications, mobile devices, IOT devices, desktop applications and anything else. We can test custom developed applications written in any programming languages or packaged applications like SAP, Oracle, Salesforce.

Given these new age platforms and how they cover the breadth of testing needs, would we still want to do testing using traditional tools?

Would love to hear and learn from views from others.

Mahesh Ramakrishnan

Senior Vice President - IT Application Development & AI Solutions at Access Healthcare

3 年

Well written Vishal In case of health care the recent boom in teleconsulting due to pandemic, application of AR/VR in medical science and the complex need of MdM and test data management in a horizon where the integrated platform of several solutions from various provider and various software architecture ( n tier, micro services, client server) etc .. certainly the e2e functional and non functional testing needs innovation with deep tech. Perhaps The trick is not creating a whole new platform but in finding the best way to plug in intelligence and amalgamate various tools and techniques with an AI engine at its core. Not to miss the VaPt in the equation when deployment model is cloud/multi cloud. There are several standards/ GRC for this domain and several certification authorities with testing platform to approve the same!! Like the CEHRT in US..

Anand Kulkarni

Founder, Powerzoom Digital

3 年

Tools and platforms enabling model driven testing is the way to go! Well written Vishal!

要查看或添加评论,请登录

Vishal Goyal的更多文章

  • Impact of Generative AI on Engagement Models and Hiring

    Impact of Generative AI on Engagement Models and Hiring

    The giants of software world like Google, Amazon and Microsoft have invested heavily in using AI / ML to accelerate…

    2 条评论
  • Software Development Accelerated

    Software Development Accelerated

    Software development has seen lot of changes over last decade. Adoption of DevOps, DevSecOps has being accelerated by…

    5 条评论
  • OWASP Top 10 2021

    OWASP Top 10 2021

    The OWASP Top 10 is a standard awareness document for developers and web application security. Last list was published…

    4 条评论
  • Lessons from the Maoist Ambush

    Lessons from the Maoist Ambush

    Last week, in a very unfortunate incident, India lost 22 security personnel in a Maoist ambush in Chhattisgarh. An…

    3 条评论
  • Corporate Functions or Enabling Functions?

    Corporate Functions or Enabling Functions?

    Our honorable Prime Minister Narendra Modi recently in his speech in Parliament spoke about the role and expectations…

    1 条评论
  • Technical Debt - Whose problem

    Technical Debt - Whose problem

    Technical debt is a concept in software development that reflects the implied cost of additional rework caused by…

    3 条评论
  • Bench Strength or Bench Cost

    Bench Strength or Bench Cost

    In sports, we call it "Bench Strength". While in corporate world and especially in IT organizations, we measure it and…

    8 条评论
  • Glorifying Long and Odd Working Hours - Who Benefits ?

    Glorifying Long and Odd Working Hours - Who Benefits ?

    Does less sleep mean more work and better productivity. I am sure, 99% of you will say no, it does not.

    8 条评论
  • Back to Back Meetings - Who Benefits

    Back to Back Meetings - Who Benefits

    How many times have we all been in meetings and hear attendees say "Sorry, need to drop off for another meeting" ? 1…

    6 条评论
  • Preparing to handle the custom code menace in SAP

    Preparing to handle the custom code menace in SAP

    SAP R/3 was officially launched on 6 July 1992. A newer version of the software, with revised technical architecture…

    6 条评论

社区洞察

其他会员也浏览了