Testing Services provides a platform for QA professionals to discuss and gain insights in to the business value delivered by testing, the best practices and processes that drive it and the emergence of new technologies that will shape the future of this profession.

May 17, 2019

QA Paradigms in Open Banking

Open Banking started as a regulation in the British banking circles, and now countries around the world are racing to adopt it. Australia is making its first move towards Open Banking later this year in July. The European Union is adopting PSD2 on lines of Open Banking. Countries implementing Open Banking are being watched intensely by those planning  to adopt these standards like Israel, Canada, Hong Kong, Japan and Singapore. Everyone is waiting to see the outcome of Open Banking imperatives. What is Open banking? Why should the IT world take notice? And what would be the implications of Open Banking in the Software Testing world? I am going to take a stab at these in the next few paragraphs.

To start with, Open Banking is a directive by UK's Competition and Markets Authority which mandates that all banks should expose their customers' data via open APIs to third party providers like competitor banks and FinTechs, with the express consent of the customer. What started as a regulation, Open Banking now broadly refers to the splitting of banking services and enabling customer's data access to partners outside the incumbent banking system with express consent. Open banking has created avenues for Fintechs and challenger banks to use technology which can leverage Customer data to help secure loans, provide a level playing field to pick and choose, help with payments, etc. Open banking has truly enabled FinTech firms to compete with large banks by helping them design more customer friendly products and also has provided much needed competition between banks to provide more value to the customer. Until recently if another bank/FinTech wanted access to the financial data of a customer, either the customer would have to fill in the data fields manually or the bank/FinTech would obtain the customer's login credentials and scrape the incumbent bank's page to get the required data. This is not a best practice with in terms of cyber security and a rather crude way to garner data. Now, Open banking has made it very convenient for customers to expose their data via open APIs. Additionally, it has empowered customers to switch banks easily. And further constructed a level playing field where FinTech firms can leverage data and technology to come up with creative solutions against the larger banks. Overall, Open Banking has increased competition and innovation while adding value to the end customer.

European Union implemented its own Open Banking regulation known as PSD2 which is an abbreviation for Second Payment Services Directive. PSD2 is a regulatory directive by the European Banking Association (EBA) applicable to European Union markets. PSD2 requires banks to grant customers the right to choose their payment partners PSD2 had been conceived with the intent of making payments easier in terms of innovation and use. There were few salient differences between Open Banking regulations of UK and PSD2 but in November 2017, Competition and Markets Authority mandated that Open Banking should be compliant with all PSD2 directives.  Open Banking will now cover all payment products like Credit Cards, Debit Cards, e-Wallets, etc. which are part of PSD2. Both PSD2 and Open Banking regulations have evolved to complement each other by increasing the scope of financial products under Open banking.

Payments will also get simplified via Open Banking. For example, currently on an ecommerce site, a typical payment goes via various intermediaries like the merchant, Payment Gateway, card associations like Visa or MasterCard, issuing bank and acquiring bank. But, with Open Banking, the online retailers can directly conduct payment transactions with your bank without any intermediaries. And again this benefits the end customer as the surcharges demanded by these intermediaries is eliminated.

Which brings us to the ultimate question of this blog, how will Open Banking affect IT industry especially Software Testing? Interoperability through common standards as one of the keystone objectives of Open Banking.  To achieve this, banks will have to build open APIs which comply with regulatory standards, security protocols, safe data transfer, compliance with all the directives, etc. Open banking creates a plethora of opportunities in regulatory testing, penetration testing and security testing to make sure all the security protocols are in place and thwart cyber criminals, performance testing when many customers try to access or transfer data at the same time, API testing, Accessibility testing, consent testing, Strong Customer Authentication testing.

Open Banking has the potential to grow into a niche QA area where domain experts with testing skills would work on ensuring the APIs and platforms are performing optimally. Experts in QA who are well versed with Open Banking landscape will be very much in demand and since all financial institutions operating in Europe and UK must conform to Open Banking standards, all of them will require support in this area. There are 9000+ financial institutions in Europe and all of them will have to comply with Open Banking/PSD2 which translates to immense QA opportunities.

This write up serves as a generic introduction to Open Banking and opportunities in store. My next post of Open Banking will look at more granular details of how Open Banking will affect QA in various industries like Retail!

Reference:
https://bankingthefuture.com/a-primer-on-open-banking/
https://www.openbanking.org.uk/wp-content/uploads/What-Is-Open-Banking-Guide.pdf
 https://www.paymentscardsandmobile.com/psd2-explained-payment-services-directive-created/
https://www.starlingbank.com/blog/explaining-psd2-without-tlas-tough/

Continue reading "QA Paradigms in Open Banking" »

May 14, 2019

Building a Sustainable Test Automation Solution

Test automation is an essential part of QA processes in the software testing industry. Once a mere tool for optimization, supporting manual testing, test automation has now become primary driver in QA. However, successful test automation is much more than just writing a code to de-manualize a step wise process. 

During a digital transformation journey, everything may seem pretty straightforward while using automation frameworks and scripts. In reality, this automation success is short-term. Less than a year into the implementation, many teams soon get pulled into vicious circle of automation maintenance. Issues like flaky test results, change in expected behavior of the system, environment/infrastructure changes, diminish your ROI from a test automation framework. It is thus essential to realize the fact that the success of automation solutioning, especially in software testing landscape, is more about avoiding mistakes than just getting it right!

The need of the hour is to look beyond the surface and come up with a futuristic, self-healing and sustainable test automation solution bedecked with best practices and technology. There isn't a checklist for 'right automation', but in fact 'quick solutions' are certainly expensive, or nearly impossible to maintain. Consider the following tips while embarking on your test automation journey. It may not be a cakewalk but definitely will have long term maintainability.

Picture2.jpg

  1. Simplify
    Testing requirements are as vast as application development. The automation tests are expected to match up the pace of application complexities as features mature. However, flexibility in the system should not be syntactically complex, that might bog down the user. An ideal solution should truly serve the testing goals while at the same time be fluid enough to handle real world testing complexities.
  2. Modularity & Reusability
    Testing approach/type may differ on project basis, depending upon factors like application type and life-cycle process. Automation components must be tailored in a way that they should be non-cohesive to the landscape diversity. These modules could be reused as common automation assets in multiple projects. Such a system thus eases the test maintainability and enhances trace-ability. 
  3. Handle dynamic nature of the application
    Identification of frequent changes and dynamic elements in an application are the two major challenges in the real world of test automation. Most test automation frameworks are unable to identify these dynamics, wherein test planning becomes ineffective and thus may lead to defects. Hence, a provision for identification criterion of application changes, dynamic objects and properties update, is vital for effective test automation.

  1. Centralize Test services wherever possible
    A one-stop solution for dynamic test assets, on-demand test tools and environment, with minimal domain knowledge and solution expertise, Testing As A Service or TAAS is an outsourcing model. 
    It is recommended to offer software testing as a service over cloud, especially in projects where extensive automation and short execution cycles are involved. The components can be used on-the-fly as per subscription using a centralized infrastructure.   
  2. Domain flavored automation
    While testing an application, a tester must think like an end user. Especially in Banking, Financial Services and Insurance (BFSI) and telecom domains, it is essential to know working procedures and domain keywords to write and execute tests better. Similarly, for an automation solution, a distinct edge on domain knowledge is vital to ensure maximum coverage of the functional and non-functional aspects of an application under test.

  1. Building intelligent automation
    Automation is not a one-time solution but a process. A smart automation solution should ideally be self-learning and adaptive. Amalgamation of AI/ML in QA automation helps inducing trace-ability in progression tests and self-healing in regression tests. Alternatively, for lesser sophisticated continuous automation delivery, code-less test automation can be explored. 
To sustain test automation, an appropriate framework with right mix of infrastructure and technology is vital, it is equally essential to streamline testing processes at practice level. Success in test automation requires immaculate planning and design work. Remember, automation in testing is not just a fancy UI to perform test steps, but should be aimed at building a solution that has long term maintainability and traceability. Hence, a sustainable automation solution that would suit the real world testing problems is a must!


March 31, 2019

RPA Performance Testing

In today's rapidly changing technology landscape, new ground breaking trends are emerging every day. Some of today's key trends driving financial services industry imperatives are -

1. Robotic Process Automations (RPA)
2. AI and Digital Assistant such as Chatbot
3. Block Chain
4. Big Data

RPA has created lot of buzz in the industry. Organizations are reaping in immense benefit by implementing RPA. As per Mckinsey, "110-140 million FTE's could be replaced by automation tools and software by 2020 ". RPA implementation has necessitated strong testing support to avoid any failures because it can be very expensive in the later stages of the development. One of the challenges faced by organizations is identification of bottlenecks and hotspots. As per IBM World Testing Report, 65% of organization are facing challenges related to Performance testing.

ChallengesImage.png

While organization are reaping RPA benefits, it is equally important to ensure the performance of RPA processes is up to the mark and it meets 3S (speed, scalability and stability) mantra.

Before dwelling deeper in RPA PT challenges and solution, let's understand the typical RPA landscape.

  • RPA landscape

RPAComponent_new.png

As seen from above diagram, RPAs possesses immense capability for integration with varied landscape. It can be easily integrated with legacy, web based, API based, mainframe applications and many others. They also promote reuse by "exposing" their learning's to shared library which can be used by other bots. PRA interacts with different systems via screen scarping, emails, OCR, APIs etc. replicating user actions.

  • Performance Testing areas

Having understood the landscape, let's focus on what are the key elements of the performance testing that should focus on.

1. Capacity related issues when concurrent jobs are scheduled by robots

2. Tasks completed in given time per bot

3. Licensing and bot utilization -

  • Licenses - Monitors total number of acquired robot licenses
  • Robot utilization vs. capacity - Monitors the percentage of acquired robot licenses that are utilized in production 

4. hourly/daily variability in robot usage

5. Elastic Scalability - Dynamically upscaling and down scaling hundreds of robots to ensure RPA meets user demands

6.Complete eco system performance - Along with RPA processes, we need to focus on each application in the eco system.


  • Challenges faced

While now we understand what should be focus areas, there are inherent performance testing challenges faced by RPA. They are -

1. Dissimilar technologies: As seen from RPA landscape, each application under RPA execution may belong to a different technology. We need to assure that each component meets performance in isolation and in E2E eco system

2. Performance testing tools availability: Diverse landscape adds complexity that one single PT tool cannot support varied needs of ecosystem. For RPA systems, there are no record and playback mechanisms available while for RPA backend systems, we have to explore appropriate COTS/commercial tools based on protocol support via POC, knowledge sharing, etc.

3.Test environment: The Performance testing environment may not be exact production replica due to cost or any other factors. We need to plan the realistic workload which will cater to scaled down version and any other dependency to achieve desired results within the ecosystem.

4. Monitoring solutions: Similar to performance testing tool availability challenge, narrow set of monitoring solutions exists to monitor platform, detect the performance issues and for bottleneck analysis. We have to explore COTS/open source tools to cover the varied technology landscape.

5. Continues delivery pipeline: Current RPA solutions are mostly commercials solutions and RPA engineers don't have any open source options available due to proprietary the binary file formats. This should likely change down the line as RPA adopts open source standards. Infosys AssistEdge RPA community edition is certainly a revolutionary step towards this.

6.Unavailability of RPA backend / interacting systems: Since complete RPA ecosystem is a complex one, there are chances that one of the interfacing system may be behaving poorly or down temporarily.. 

How do we overcome these challenges? What strategy we adopt? The solution lies in sociability test.

  • Sociability Performance Testing

Sociability test will focus on core RPA process and any systems interacting with RPA. Refer to the diagram below.

RPAComponent_new - Solution.png

  • Key aspects to look at -

1. Tools and technology - Tools used will vary and can be combination of open source and COTS system. We need to assess the complete technology landscape and consider two separate areas here - RPA vs other IT systems.
For RPA there is no specific tool for PT but we can collect critical stats by observing the monitoring console. For E.g. process run time, number of records processed, computing units used, license usage etc. So the monitoring console is currently our best bet to fine tune RPA processes.
For other IT systems, we can explore use of open source systems such as jmeter or COTS such as micro focus performance center, NEOLOAD, etc.
Key is to ensure E2E ecosystem testing to ensure accurate stats and stable systems.

2. Utilizing strong APM - APM such as Dynatrace/AppD will need to be installed in order to get the detailed system metrics and transaction response times on downstream IT systems. APM tool can help in baselining transactions etc.  These can be used to monitor the RPA Infrastructure on which it is hosted and backend/interfacing systems as well.

3. Test Data - For setting up data for test, you can look at RPA itself to create required test data etc. as well i.e. system under test will be leveraged for automation as well.

4. Service Virtualization - Service virtualization using tools CA Service virtualization, Parasoft virtualize etc. can help to emulate the behaviors of various interacting components. It may not be possible to leverage this solution in all situations but should help in cutting down the testing cycle wherever possible.

5. Establishing CoE - PT CoE will play crucial role as we have multiple teams involved in E2E testing. Establishing proper processes and governance models will ensure testing is done in minimal time and less cost.

To summarize, RPA itself automation process and script less, again scripting it using another automation tool may not work. So monitoring is our focus area along with workload formation to test in pre-prod. It's like batch run where workload will be initiated by RPA itself but you will use another tools for monitoring performance etc.

March 28, 2019

Service Virtualization using Mock Server

THE BEGINNING

Service Virtualization is a technique for integrating a mock server in a test suite to remove dependencies on real back end systems or external party systems from test environment. It is an ideal solution for Test Driven Development (TDD) and Business Driven Development teams who want to quickly test the application and API services to find out the major problems.

Service Virtualization is best suited in Micro Services based Architecture, Service - Oriented Architecture and Cloud based Architecture.  It is the most important component of DEVOPS community.

Problem Statement

This is a compact view of micro services based architecture in which application is communicated to real end back systems through a number of API calls to receive output responses. For instance, In banking applications -  Some of the important REST API calls like accounts, payments, transactions etc.

Here is the list of problems with this kind of application infrastructure:

-          There is no dedicated environment for Automation testing, UAT testing and Performance testing. As environment has been    shared between all the teams that causes delays.

-          Environment is mostly down due to deployment releases and server configuration issues.

-          As data is different in Automation Testing and Performance Testing, test data setup is also a big challenge for teams.

-          Tests are brittle not robust, that means no reusability hence not able to achieve cent percent test coverage due to environmental issues.

 Implementation of Service Virtualization

In my recent assignment, Our QA team was struggling with test coverage issues in automation testing, unexpected environmental issues, performance related issues and many more in real end back systems because these systems were associated with third party vendors and these systems were not accessible to our teams.

With these problems, Our Teams were blocked and handicapped to perform any testing operations hence unexpected delays in production releases that impacts the project schedule and delivery.

To come out from these challenges we have created and implemented a mock server virtualization solution.

Proposed Solution
a.   Introduction of Solution

-          This is a Wire Mock Server or Virtual Service based environment model. One way of solving the dependencies and issues. Using Virtual services or Mocks, allow you to dismantle the testing from real back end systems and provide independent environment to different testing teams. The problems described above are resolved completely. People are happy and satisfied.

b. Application of Solution

 Here are the advantages of using Service Virtualization Over Traditional approach:

-          Test Coverage has been improved upto cent percent and avoid unexpected environment issues hence test quality has been improved.

-          All the QA teams used similar environment independent of other teams.

-          As per the business requirements, Test data set up is easy to create and handle it in an optimize way.

-          Test Development is robust and having less number of issues.

-          There are no issues in environment deployment and configuration.

-          Service Virtualization model is more agile over traditional models.

-          Less or no cost in the development and implementation of Mock Server Virtualization.

-          Flexible to fit in any kind of application architecture.

-          Leverage testers to become developers by manipulating the output responses according to their needs.

-          It's very quick and fast solution to resolve all the issues related to real end environments.

-          This approach reduces the man working hour efforts and time by 90%; it's a very effective solution for company business.

 Future Direction / Long-Term Focus

-          Service Virtualization is one way. Especially for large software projects, this practice can dramatically reduce the company cost.

-          Enhances the practical reusability of Service Virtualization,  hence reduces the future development efforts.

-          Implement such kinds of testing practices in other business necessities such as Cloud based Architecture, Service Oriented Architecture.

Results / Conclusion

We believe, this kind of approach will help people to accomplish various upcoming engagements and produce remarkable results.


Continue reading "Service Virtualization using Mock Server" »

March 25, 2019

Role of Artificial Intelligence in Performance testing and Engineering


A typical Performance Testing starts with analyzing the application UI and creating the test scripts. Post that users hit the application server and generate beautiful dashboards from Load testing tools indicating the Response time, Throughput, CPU utilization time, memory utilization etc.

In the era of AI (Artificial Intelligence) powered softwares, during the early stages of application design, performance engineers should be able to answer questions like:  What should we expect once the application is in production? Where are the potential bottlenecks? How to tune application parameters to maximize performance?

Critical applications need a mature approach to Performance testing and monitoring. AI is the intelligent part of Performance Testing process. It acts as brain in the process. Daily Tasks like test design, Scripting and implementation can be handled using AI, so that test engineers can focus on creative side of software testing.

One reasonable use case of using AI in PT (Performance Testing) can be codeless automation script. Writing performance scripts using Natural Language Processing(NLP) can make the scripting task way easier. In this type of testing, computers learn from the data given to them without programming it. Below are the aspects of solution empowered by AI-ML (Artificial Intelligence- Machine Learning) in performance testing:

  • The testing environment developed using ML, will have advanced capabilities in terms of self-healing and intuitive dashboarding. using deep learning algorithms, the corrections can be handled automatically.
  • The test flows are recorded and can be tested using data. No coding required in most of the scenarios.
  • Reusable functions and objects can be generated and grouped using semi-supervised learning. Scenarios are flow-based, and thus the implementation is transparent to user.

Yet another use case would be performance test modelling processes. AI's pattern recognition strength can extract relevant patterns while load testing which is very useful for modelling performance process. The PT model consists of the algorithms being used, from which AI learns from the given data. The ability of AI to anticipate future load problems helps in creating Performance test model efficiently. It deals with lot of data and can predict the system failures. Once the system data is analyzed, Performance test model can be created based on the system behavior.

Another area can be SLA design. SLAs should be measurable, attainable, simple, realistic and time bound, but most SLA are not designed like this. This is the basic limitation of human powered systems. However, once AI takes the role, the situation will change. It can track all the affecting areas and gets reinforced into monitoring system with providing granularity. It can analyze the complexity of the system and suggest the appropriate SLA. For example, if the lines of code are 1000 then SLA can be considered as 500 milliseconds. AI can detect working trends in a system directly, as system performance changes, SLA can fine-tune in real time.

 Monitoring tools like Dynatrace, AppDynamics introduced AI into their system which are helping in identifying the bottlenecks in multiple tiers of applications in early stages of software development. It can analyze the application and can predict the performance defects at the code level. Many open source tools like webpage test, GTmetrix, Yslow pinpoint specific problems like server request issues and help engineers to solve the issues quickly. Automation Tools like Test.ai is useful in getting the performance metrics of your application as well.

Role of AI in every phase of performance testing and engineering is proved very beneficial and is future of performance testing. Use of AI in performance testing will make tasks like scripting, monitoring highly impactful and help to get real time results very quickly. I believe, in future role of AI in performance testing will be a game changer!

December 7, 2018

Embrace the Future

The unfolding of Cloud Computing, Introduction of Enterprise level Integration Patterns & up folding of micro-services has not only disrupted the existing nomenclature but also makes us think the way we do Integration. When every pioneering companies are embracing the micro services to tackle their complex enterprise architectures, there's one aspect of is which is still open for exploration i.e. Data Validation & Data Warehousing.

Yes, it is true that there are many organizations who are consciously embracing the concept of data services around there data lakes for either master data management or for analytical purpose (simple data read) but very little have been thought upon using the full flavor of micro service driven architecture on areas like data integration, data quality or validation and metadata management space of work.

If we travel back a few years in Time, the idea of SoC (separation of concerns) was ignored due to the need of heavy lifting of data and availability of Integration Tools which usually were tightly coupled with each other. These tools were an Instant hit as they wrapped up complexities of managing job failures, providing reports etc. but it could not fully tackle the learning curve, complexity involved and most important - the need to adapt to frequent changes.

The basic principle of micro service is to break a complex application and decompose it in to multiple self-contented services which can connect to each other to achieve a complex functionality. Given that above use cases are always complex in nature micro services could be a great way to automate data validation & design our future data warehouses.

September 28, 2018

Chatbot- A digital assistant in Banking Industry

 

Chatbot- A digital assistant in Banking Industry

Financial institutions across the globe are assessing the viability of deploying chatbots for varied objectives, consumers of information range from end customers to CXOs, FS industries are testing out various approaches to proactively deliver insights to the customers based on his/her transactional history and digital profile, example

  • Suggesting investment options depending on savings bank balance and risk profile
  • Giving market related news and impact on portfolios
  • Recommending ways to use reward points of credit cards

Firms are experimenting to authenticate customers based on voice samples from natural conversation and help complete transactions quickly, chatbots is proved to deliver predictive insights to CXOs across all key areas such as sales insights, performance of partners, fraud prevention, risk management, customer profitability and risk analysis, regulatory reporting, market information and benchmarking, customer lifecycle management, survey insights, net promoter score and customer feedback analysis across channels, Internal employee management etc.

Which branch in Singapore has had the maximum business since the beginning of the day ?

Can you check from RBI document of the last 5 years if i can host my card disaster recovery system in Australia ?

What is the on-ground feedback for the eKYC offering launched 2 months back ?

Growth in digital payments post-demonetization in India is unsatisfactory, please schedule a meeting with digital team


Chatbot is changing the face of the communication interface by adopting Artificial Intelligence, it brings huge change and simplifies overall banking experience for the customers, each customer is served with a most personalized approach, provides 24*7 support, resolves query, updates client KYC, Information on new schemes and services around the clock etc. it is predicted "By 2022, 40% of customer facing employees and government workers will consult daily on AI virtual support agent for decision or process support".

By using chatbot channel for communication with customers, banks can achieve a higher market value without annoying the customer. AI is tremendously empowering banking institutions and retail banking customers further by taking large amounts of data, and making it easily accessible anytime to the individual account holders, in the mode of a chat interface.

Chatbots on their current form has reached certain level of maturity, they are developed for specific tasks and unable to suitably handle specialized queries requiring knowledge outside the functional domain, so the capabilities and features of chatbots still has to be enhanced in order to create a completely different experience for banking customers by combining knowledge across all relevant segment areas and providing better insights to the user. This will give rise to a new conversational banking where results are delivered instantly through real time conversations, thus facilitating better decision making, below are some key factors to consider,

  • Significantly drive customer loyalty by adding a new dimension to the power of 'personal touch' and massively enhance customer delight and loyalty.
  • Create a cognitive financial institution by developing cognitive capabilities and deeply customized offering is a key idea for moving to the higher level of conversational banking.
  • Analyze and experiment with integration with other latest upcoming technologies by partnering with technology giants and leverage innovative technologies.

One of the study reveals that the majority of consumers prefer getting speedy information that resolves their immediate requirements which should be identical to traditional search engines, In some scenarios, they would prefer to talk to a person more than they want to deal with any form of artificial intelligence (AI) machines, according to a new study from STARTEK, why? Its because

  • Support for customers by anticipating and acting on needs,
  • Assure customers about their choices,
  • Identify and resolve confusing or complex situations, and
  • Build relationships

However, researchers also found customers don't need a steady diet of personal contact always. While 85% of customers prefer talking to a customer service representative most of the time -- especially when the issue is so personal or complicated -- but they're OK with digital channels as well for more routine issues. In fact, almost a quarter of customers said they initiated their most recent contacts with service through email and chat, care is what matters to customers most.

 

September 26, 2018

The next frontier of RPA: Intelligent Process Automation

We must not be afraid to push boundaries; instead, we should leverage our science and our technology, together with our creativity and our curiosity, to solve the world's problems.
                                                                                                                                               ~ Jason Silva

Robotic Process Automation (RPA) is now mainstream. But is RPA enough? RPA is automation for today. What would be automation for tomorrow? With AI slowly becoming all pervasive, AI in RPA should be made an integral part of any enterprise level RPA. AI powered RPA can help realize the ultimate goal of Intelligent Process Automation.

Let us consider the case of Test Management. This consists of different tasks as listed below.
  1. Review access requests from various users for various tools and platforms across the entire QA organization
  2. Create multiple user roles and revoke/modify them as and when required
  3. Upload test cases in the right location
  4. Update execution status
  5. Generate different reports/statistics and send to the relevant stakeholders
For the sake of ease, let us pick one of the tasks - review access requests for all users across the entire QA organization. If the access request is keyed in a form available online, the RPA bot can read the digitized inputs, check if the person requesting the access is to be assigned that particular role against a database and assign/deny the access.

Imagine executing this process for thousands of users manually across the entire organization. A human FTE doing this task will take many person hours to accomplish this. And moreover, there is a risk of a slip-up. The task is repetitive, mundane, follows a sequence of steps and high volume. Using RPA, this chunk of access granting can be done in a fraction of the time required by the human FTE.
Test_Management_4.png
Now, let us consider the same scenario from a different perspective. Imagine someone who needs to be assigned to a certain project but is not able to access request form and drops a mail to the admin. Can the RPA bot read through the mail and check the required requirements for granting access to the user from the mail?

No! This scenario would require understanding the mail and then initiating the process. Basically, a judgement call along with NLP capabilities. RPA tools are rule-based. What we need here is an intelligent algorithm that can learn how to take a decision.

Or, if a certain technicality in the access review process changes, the whole RPA execution would come to stand still until we reconfigure the changes in the RPA bot.

Add AI to RPA in Access review process, what do we get?
  1. Understand unstructured data: Based on an email from the user, AI powered RPA can pick up relevant inputs using NLP and grant/deny access
  2. Self-learn capabilities: For any process change, AI powered RPA would have self-learning capabilities to adjust to the new process without any human reprogramming
  3. Analytics: AI powered RPA can work with the large amount of access requests to prioritize the critical requests or come up with trends or insights with respect to the access grant process
To elucidate it with another example, we cannot use RPA to play chess. Because it would require laying out the rules for billions of combinations (there are 288 billion chess games possible). But AI can look at the moves of the player, learn from the thousands of chess games played before and come up with a move without the rules being explicitly laid out for it. 

Executing a task in a particular sequence is RPA done properly. Working with unstructured data, self-learning from the thousands of completed tasks, analyzing the sequences and adjusting the tasks to achieve greater efficiency is Artificial Intelligence.
Intelligent Process Automation.jpg
The next wave of RPA is RPA powered by AI, the cognitive RPA. Implementing AI with RPA to enable supervised learning/unsupervised learning/cognitive capabilities to self-learn and optimize processes along with producing insights is the need of the hour. Traditional enterprise RPA solutions should start inculcating Artificial Intelligence/Machine learning capabilities in their offerings. This is what would help us achieve Intelligent Process Automation.

September 22, 2018

MY dream which WE can turn into a reality

Naju D. Mohan, Delivery Manager, Data Services, Infosys Validation Solutions

She still remembered walking in the humid Indian summer, with sweat dripping down her back along with her two clients from the United States. They had never seen these gentle giants so close in America, though they were into the business of outdoor adventure. They seemed to soak in every bit of the smell of freshly cut grass and coconut, awaiting the elephants bathing in the lake. She sat on the wooden bench impatiently twiddling her thumbs, for it was her 5th trip in the last six months to the elephant centre with various visiting dignitaries. It was that conversation she had with her clients, which occupied every waking moment of her life, apart from work for the next few years.

She was fond of traditions and flowering forests, as she grew up in a small village near a temple. The idea of a 19-day Everest base camp adventure trek ignited her spirits. She spoke about it in detail with her clients, collected all details about the trek and started planning for the expenses. The image of her old parents travelling 30km daily on an old Bajaj Chetak through dusty village roads to their small family shop sprang up in her mind. She had to save for the next three years for her 19-day trek, instead of an Alto 800.

Her dream which kept her going for the last six years was turning into a reality. Her parents drove down from village in their new car to the city where she worked. They had brought with them her favourite childhood snack, homemade murukku, to pack for her trekking. The sunlight which shone through the window was mesmerizing, but the mother noticed a paleness on her daughter's face. She had made a last minute order for insulated jacket through an online portal. She found her bank account empty, the next day. She had become yet another victim of online fraud.

She was distraught sitting on the electric blue carpet, with the triangle of white light advancing through the room. She wished, if only she had asked her bank to use Infosys validation solution to prevent online card skimming. If only her bank had provided a timely alert using Infosys' analytics solution about the credibility of the online portal. Wishing wisely does not come easily to us. We use a thousand products of various companies with full faith. My small dream, is that each one of us make those companies aware of Infosys validation solutions and offerings!!!

June 7, 2018

Quality Assurance In Chatbot Powered Conversations

Quality Assurance in chatbots powered conversations

Conversational chatbots are in phase of revolutionizing the way that interaction takes place with customers across industries as this would replace websites and some applications since chatbots use the most natural method of human interaction - a dialogue. It is the advent of a technology era and simplifies the traditional interaction processes via phone by providing instant, tailored, two way conversations at scale and all through natural human language. Ensuring quality in these interactions paves a way for testing widely. Though the usual web application testing, like functional, compatibility, security and performance testing is required, it is important and necessary to have usability testing first for a great chatbot, some of the top features to test to create an engaging experience and make users come back for more would be Interaction, Answering, Navigation, Handling errors etc. Agile and continuous testing models are excellent approaches to be followed for chatbot testing as minimum viable product can be enriched during each iteration.

Creating a machine that can be useful with novelty features is challenging and ensuring quality for such an entity comes with different obstacles when compared to existing software. The underlying principle for any well performing chatbot is to keep it simple, stupid which means a bot shouldn't be built to answer any question, instead there should a definition in details as what they need to perform flawlessly focusing first on frequent cases, then possible cases and lastly address infrequent requests. Testing methods defined should address each of its components, starting with input, knowledge base, intelligence and reasoning, infrastructure where bot will be hosted, connectivity and voice communication etc.

Industries across have begun transforming their voice process to conversational chatbots and are considering adoption of Chatbots as modern age contact Centre executives, minimizing turnaround time and cost along the way. Due to the novelty of this technology, most users have a tendency to treat the app as a real person during their Interaction with a chatbot, hence testing should be more focused on achieving the consistency of the app which means maintaining the same voice during entire conversation as the users shouldn't feel that they are talking to a different customer representative. Chatbots are required to do more than if/then controls as they can parse text and create their own answers, testers should play with different combinations of inputs and variations of the same input to identify the sytem's ability to understand. Advanced chatbot requires adequate testing and debugging.

A well-developed chatbot should be available round the clock for conversations with customers, provide similar experience regardless of the channel: may it be mobile, web etc., ability to flawlessly interpret various languages commonly conversed, should restrict response format to an easy to understand text, images and unified widgets for better conversations, provide swift response to any query without any delay or making the customer wait, capable of remembering customer interests or preferences and uses order history to recommend products, studies from customer responses to the products advertised, and cross sells effectively, Improves efficiency and reduces turnaround time through speedy information delivery, does mundane tasks at high speed, gives specific user input at each point, learns from client feedback and improvises, thus enhancing the end user experience by understanding the context and responding the user with most appropriate information even to the extent of distinguishing the slang or irony.

 

Chatbots are excellent examples of software that can be developed using Agile approach, to ensure no bugs are crawling into the bot, testing is good to be performed at each iteration. In the initial stages ensuring business logic, and in later phases automation helps QA teams to deliver improved version into the market, the significant Quality Assurance challenges of the chatbot automation process includes huge number of test cases, lack of previous prototypes, security, and of course lack of business logic prior to starting implementation. Next generation chatbots or interfaces should be more QA tested for behavior, dialogue accuracy, speed, Localization and multi lingual support, compatibility across platforms and collecting the right data and improve etc.  Large number of clients across industries have foreseen the power of these new interfaces and are already investing to create and deliver a value through chatbot powered conversations.