Reduce Test Times and Increase Coverage with AI & ML

Kevin Surace

Chairman & CTO, Appvance.ai

With the need for frequent builds—often many times in a day—QEs can only keep pace through AI-led testing. It is the modern approach that allows quality engineers to create scripts and run tests autonomously to find bugs and provide diagnostic data to get to the root cause.

AI-driven testing means different things to different QA engineers. Some see it as using AI for identifying objects or helping create script-less testing; some consider it as autonomous generation of scripts while others would think in terms of leveraging system data to create scripts which mimic real user activity.

Our research shows that teams who are able to implement what they can in scripts and manual testing have, on average, less than 15% code, page, action, and likely user flow coverage. In essence, even if you have 100% code coverage, you are likely testing less than 15% of what users will do. That in itself is a serious issue.

Starting in 2012, Appvance set out to rethink the concept of QA automation. Today our AIQ Technology combines tens of thousands of hours of test automation machine learning with the deep domain knowledge, the essential business rules, each QE specialist knows about their application. We create an autonomous expert system that spawns multiple instances of itself that swarm over the application testing at the UX and at the API-levels. Along the way these Intelligences write the scripts, hundreds, and thousands of them, that describes their individual journeys through the application.

And why would we need to generate so many tests fully autonomously. Because applications today are 10X the size they were just ten years ago. But your QE team doesn’t have 10X the number of test automation engineers. And because you have 10X less time to do the work than 10 years ago. Just to keep pace with the dev team requires each quality engineer to be 100X more productive than they were 10 years ago.

Something had to change; that something is AI.

AI-testing in two steps

We leveraged AI and witnessed over 90% reduction in human effort to find the same bugs. So how does this work?

It’s really a two-stage process.

First, leveraging key AI capabilities in TestDesigner, Appvance’s codeless test creation system, we make it possible to write scripts faster, identify more resilient accessors, and substantially reduce maintenance of scripts.

With AI alongside you as you implement an automated test case, you get a technology that suggests the most stable accessors and constantly improves and refines them. It also creates “fallback accessors” when tests run and hit an accessor change enabling the script to continue even though changes have been made to the application. And finally, the AI can self-heal scripts which must and update them with new accessors without human assistance. These AI-based, built-in technologies give you the most stable scripts every time with the most robust accessor methodologies and self-healing. Nothing else comes close.

The final two points above deal with autonomous generation of tests. To beat the queue and crush it, you have to get a heavy lift for finding bugs. And as we have learnt, go far beyond the use cases that a business analyst listed. Job one is to find bugs and prioritize them, leveraging AI to generate tests autonomously.

Appvance’s patented AI engine has already been trained with millions of actions. You will teach it the business rules of your application (machine learning). It will then create real user flows, take every possible action, discover every page, fill out every form, get to every state, and validate the most critical outcomes just as you trained it to do. It does all this without writing or recording a single script. We call this is ‘blueprinting’ an application. We do this at every new build. Multiple instances of the AI will spin up, each selecting a unique path through the application, typically finding 1000s or more flows in a matter of minutes. When complete, the AI hands you the results including bugs, all the diagnostic data to help find the root cause, and the reusable test-scripts to repeat the bug. A further turn of the crank can refine these scripts into exact replicas of what production users are doing and apply them to the new build. Any modern approach to continuous testing needs to leverage AI in both helping QA engineers create scripts as well as autonomously create tests so that both parts work together to find bugs and provide data to get to the root cause. That AI driven future is available today from Appvance.

About the Author –

Kevin Surace is a highly lauded entrepreneur and innovator. He’s been awarded 93 worldwide patents, and was Inc. Magazine Entrepreneur of the Year, CNBC Innovator of the Decade, a Davos World Economic Forum Tech Pioneer, and inducted into the RIT Innovation Hall of Fame. Kevin has held leadership roles with Serious Energy, Perfect Commerce, CommerceNet and General Magic and is credited with pioneering work on AI virtual assistants, smartphones, QuietRock and the Empire State Building windows energy retrofit.

Enabling Success through Servant Leadership

Vasu

Vasudevan Gopalan

Servant Leadership – does it seem like a dichotomy? Well, it is not so. In this new age of Agile and Digital Transformation, this is a much sought-after trait in Leaders by their Organizations.

IT Infrastructure Managed Services

The goal of Servant Leadership is to Serve. It involves the leader supporting and empowering their teams and thus enabling Success. The paradigm shift in the thought process here is that – instead of the people working to serve the leader, the leader exists to serve the team. And do remember that a Servant Leader is a Servant first, Leader next – not the other way around 😊

In today’s Agile world of Software Delivery, the Scrum Master needs to be a Servant Leader.

So, what are the characteristics of a Servant Leader?

  • Self-aware
  • Humble
  • Integrity
  • Result-oriented
  • Has foresight
  • Listener
  • Doesn’t abuse authority
  • Intellectual authority
  • Collaborative
  • Trusting
  • Coach
  • Resolves conflict

As you can see here, it is all about achieving results through people empowerment. When people realize that their Leader helps every team member build a deep sense of community and belonging in the workplace, there is a higher degree of accountability and responsibility carried out in their work.

Ultimately, a Servant Leader wants to help others thrive, and is happy to put the team’s needs before their own. They care about people and understand that the best results are produced not through top-down delegation but by building people up. People need psychological safety and autonomy to be creative and innovative.

As Patrick Lencioni describes, Humility is one of the 3 main pillars for ideal team players. Humility is “the feeling or attitude that you have no special importance that makes you better than others”.

Behaviors of Humble Agile Servant Leaders

  • Deep listening and observing
  • Openness towards new ideas from team members
  • Appreciating strengths and contributions of team members
  • Seek contributions of team members to overcome challenges and limitations together
  • Be coachable coaches – i.e. Coach others, and simultaneously be easy to be coached by others

Humility’s foe – Arrogance

In Robert Hogan’s terms, arrogance makes “the most destructive leaders” and “is the critical factor driving flawed decision-makers” who “create the slippery slope to organizational failure”.

Humility in Practice

A study on the personality of CEOs of some of the top Fortune 1000 Companies shows that what makes these companies successful as they are is the CEOs’ humility. These CEOs share two sets of qualities seemingly contradictory but always back each other up strongly:

  • They are “self-effacing, quiet, reserved, even shy”. They are modest. And they admit mistakes.
  • At the same time, behind this reserved exterior, they are “fiercely ambitious, tremendously competitive, tenacious”. They have strong self-confidence and self-esteem. And they’re willing to listen to feedback and solicit input from knowledgeable subordinates.

According to Dr. Robert Hogan (2018), these characteristics of humility create “an environment of continuous improvement”.

What are the benefits of being a humble Servant Leader?

  • Increase inclusiveness – the foundation of trust
  • Strengthen the bond with peers – the basis of well-being
  • Deepen awareness
  • Improve empathy
  • Increase staff engagement

So, what do you think would be the outcomes for organizations that have practicing Servant Leaders?

Source:

https://www.bridge-global.com/blog/5-excellent-tips-to-become-a-supercharged-agile-leader/

About the Author –

Vasu heads the Engineering function for A&P. He is a Digital Transformation leader with ~20 years of IT industry experience spanning across Product Engineering, Portfolio Delivery, Large Program Management, etc. Vasu has designed and delivered Open Systems, Core Banking, Web / Mobile Applications, etc. Outside of his professional role, Vasu enjoys playing badminton and is a fitness enthusiast.

Center of Excellence – Big Data

The Big Data CoE is a team of experts that experiments and builds various cutting-edge solutions by leveraging the latest technologies, like Hadoop, Spark, Tensor-flow, and emerging open-source technologies, to deliver robust business results. A CoE is where organizations identify new technologies, learn new skills, and develop appropriate processes that are then deployed into the business to accelerate adoption.

Leveraging data to drive competitive advantage has shifted from being an option to a requirement for hyper competitive business landscape. One of the main objectives of the CoE is deciding on the right strategy for the organization to become data-driven and benefit from a world of Big Data, Analytics, Machine Learning and the Internet of Things (IoT).

Cloud Migration Assessment Tool for Business
Triple Constraints of Projects

“According to Chaos Report, 52% of the projects are either delivered late or run over the allocated. The average across all companies is 189% of the original cost estimate. The average cost overrun is 178% for large companies, 182% for medium companies, and 214% for small companies. The average overrun is 222% of the original time estimate. For large companies, the average is 230%; for medium companies, the average is 202%; and for small companies, the average is 239%.”

Big Data CoE plays a vital role in bringing down the cost and reducing the response time to ensure project is delivered on time by helping the organization to build the skillful resources.

Big Data’s Role

Helping the organization to build quality big data applications on their own by maximizing their ability to leverage data. Data engineers are committed to helping ensure the data:

  • define your strategic data assets and data audience
  • gather the required data and put in place new collection methods
  • get the most from predictive analytics and machine learning
  • have the right technology, data infrastructure, and key data competencies
  • ensure you have an effective security and governance system in place to avoid huge financial, legal, and reputational problems.
Cyber Security and Compliance Services

Data Analytics Stages

Architecture optimized building blocks covering all data analytics stages: data acquisition from a data source, preprocessing, transformation, data mining, modeling, validation, and decision making.

Cyber Security Mdr Services

Focus areas

Algorithms support the following computation modes:

  • Batch processing
  • Online processing
  • Distributed processing
  • Stream processing

The Big Data analytics lifecycle can be divided into the following nine stages:

  • Business Case Evaluation
  • Data Identification
  • Data Acquisition & Filtering
  • Data Extraction
  • Data Validation & Cleansing
  • Data Aggregation & Representation
  • Data Analysis
  • Data Visualization
  • Utilization of Analysis Results

A key focus of Big-data CoE is to establish a data-driven organization by developing proof of concept with the latest technologies with Big Data and Machine learning models. As of part of CoE initiatives, we are involved in developing the AI widgets to various market places, such as Azure, AWS, Magento and others. We are also actively involved in engaging and motivating the team to learn cutting edge technologies and tools like Apache Spark and Scala. We encourage the team to approach each problem in a pragmatic way by making them understand the latest architectural patterns over the traditional MVC methods.

It has been established that business-critical decisions supported by data-driven insights have been more successful. We aim to take our organization forward by unleashing the true potential of data!

If you have any questions about the CoE, you may reach out to them at SME_BIGDATA@gavstech.com

CoE Team Members

  • Abdul Fayaz
  • Adithyan CR
  • Aditya Narayan Patra
  • Ajay Viswanath V
  • Balakrishnan M
  • Bargunan Somasundaram
  • Bavya V
  • Bipin V
  • Champa N
  • Dharmeswaran P
  • Diamond Das
  • Inthazamuddin K
  • Kadhambari Manoharan
  • Kalpana Ashokan
  • Karthikeyan K
  • Mahaboobhee Mohamedfarook
  • Manju Vellaichamy
  • Manojkumar Rajendran
  • Masthan Rao Yenikapati
  • Nagarajan A
  • Neelagandan K
  • Nithil Raj Tharammal Paramb
  • Radhika M
  • Ramesh Jayachandar
  • Ramesh Natarajan
  • Ruban Salamon
  • Senthil Amarnath
  • T Mohammed Anas Aadil
  • Thulasi Ram G
  • Vijay Anand Shanmughadass
  • Vimalraj Subash

Center of Excellence – .Net

Best Cyber Security Services Companies

“Maximizing the quality, efficiency, and reusability by providing innovative technical solutions, creating intellectual capital, inculcating best practices and processes to instill greater trust and provide incremental value to the Stakeholders.”

With the above mission,we have embarked on our journey to establish and strengthen the .NET Center of excellence (CoE).

“The only way to do great work is to love what you do.” – Steve Jobs

Expertise in this CoE is drawn from top talent across all customer engagements within GAVS. Team engagement is maintained at a very high level with various connects such as regular technology sessions, advanced trainings for CoE members from MS, support and guidance for becoming a MS MVP. Members also socialize new trending articles, tools, whitepapers and blogs within the CoE team and MS Teams channels setup for collaboration. All communications from MS Premier Communications sent to Gold Partners is also shared within the group. The high-level roadmap as planned for this group is laid out below.

Best DCaas Providers in USA
<!–td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}–>
Best DCaas Providers in USA<!–td {border: 1px solid #ccc;}br {mso-data-placement:same-cell;}–>
Best DCaas Providers in USA

The .NET CoEfocused on assistingourcustomers in every stage of theengagement right from on-boarding, planning, execution, technical implementation and finally all the way to launching and growing. Our prescriptive approach is to leverage industry-proven best practices, solutions, reusable components and include robust resources, training, and making a vibrant partner community.

With the above as the primary goal in mind the CoE group is currently engaged inor planning the following initiatives.

Technology Maturity Assessment

One of the main objectivesof this group is to provide constant feedback to all .NET stack project for improvement and improvisation. The goal for this initiative is to build the technology maturity index for all projects for the below parameters.

Best Virtual Desktop Infrastructure Software

Using those approaches within a short span of time we were able to make a significant impact for some of our engagements.

Client – Online Chain Store: Identified cheaper cloud hosting option for application UI.

Benefits: Huge cost and time savings.

Client – Health care sector: Provided alternate solution for DB migrations from DEV to various environments.

Benefits: Huge cost savings due to licensing annually.

Competency Building

“Anyone who stops learning is old, whether at twenty or eighty.” – Henry Ford

Continuous learning and upskilling are the new norms in today’s fast changing technology landscape. This initiative is focused on providing learning and upskilling support to all technology teams in GAVS. Identifying code mentors, supporting team members to become full stack developers are some of the activities planned under this initiative.  Working along with the Learning & Development team,the .NET CoE isformulating different training tracks to upskill the team members and provide support for external assessments and MS certifications.

Solution Accelerators

“Good, better, best. Never let it rest. ‘Till your good is better and your better is best.” – St. Jerome

The primary determinants of CoE effectiveness are involvement in solutions and accelerators and in maintaining standard practices of the relevant technologies across customer engagements across the organization.

As part of this initiative we are focusing on building project templates, DevOps pipelines and automated testing templates for different technology stacks for both Serverless and Server Hosted scenarios. We also are planning similar activities for the Desktop/Mobile Stack with the Multi-Platform App UI (MAUI) framework which is planned to be released for Preview in Q4 2020.

Blockchain Solution and Services

Additionally, we are also adoptingless-code, no-code development platforms for accelerated development cycles for specific use-cases.

As we progress on our journey to strengthen the .NET CoE, we want to act as acatalyst in rapid and early adoption of new technology solutions and work as trusted partners with all our customer and stakeholders.

If you have any questions about the CoE, you may reach out to them at COE_DOTNET@gavstech.com

CoE Team Members

  • Bismillakhan Mohammed
  • Gokul Bose
  • Kirubakaran Girijanandan
  • Neeraj Kumar
  • Prasad D
  • Ramakrishnan S
  • SaphalMalol
  • Saravanan Swaminathan
  • SenthilkumarKamayaswami
  • Sethuraman Varadhan
  • Srinivasan Radhakrishnan
  • Thaufeeq Ahmed
  • Thomas T
  • Vijay Mahalingam

Observability versus Monitoring

Sri Chaganty

“Observability” has become a key trend in Service Reliability Engineering practice.  One of the recommendations from Gartner’s latest Market Guide for IT Infrastructure Monitoring Tools released in January 2020 says, “Contextualize data that ITIM tools collect from highly modular IT architectures by using AIOps to manage other sources, such as observability metrics from cloud-native monitoring tools.”

Like so many other terms in software engineering, ‘observability’ is a term borrowed from an older physical discipline: in this case, control systems engineering. Let me use the definition of observability from control theory in Wikipedia: “observability is a measure of how well internal states of a system can be inferred from knowledge of its external outputs.”

Observability is gaining attention in the software world because of its effectiveness at enabling engineers to deliver excellent customer experiences with software despite the complexity of the modern digital enterprise.

When we blew up the monolith into many services, we lost the ability to step through our code with a debugger: it now hops the network.  Monitoring tools are still coming to grips with this seismic shift.

How is observability different than monitoring?

Monitoring requires you to know what you care about before you know you care about it. Observability allows you to understand your entire system and how it fits together, and then use that information to discover what specifically you should care about when it’s most important.

Monitoring requires you to already know what normal is. Observability allows discovery of different types of ‘normal’ by looking at how the system behaves, over time, in different circumstances.

Monitoring asks the same questions over and over again. Is the CPU usage under 80%? Is memory usage under 75% percent? Or, is the latency under 500ms? This is valuable information, but monitoring is useful for known problems.

Observability, on the other side, is about asking different questions almost all the time. You discover new things.

Observability allows the discovery of different types of ‘normal’ by looking at behavior, over time, in different circumstances.

Metrics do not equal observability.

What Questions Can Observability Answer?

Below are sample questions that can be addressed by an effective observability solution:

  • Why is x broken?
  • What services does my service depend on — and what services are dependent on my service?
  • Why has performance degraded over the past quarter?
  • What changed? Why?
  • What logs should we look at right now?
  • What is system performance like for our most important customers?”
  • What SLO should we set?
  • Are we out of SLO?
  • What did my service look like at time point x?
  • What was the relationship between my service and x at time point y?
  • What was the relationship of attributed across the system before we deployed? What’s it like now?
  • What is most likely contributing to latency right now? What is most likely not?
  • Are these performance optimizations on the critical path?

About the Author –

Sri is a Serial Entrepreneur with over 30 years’ experience delivering creative, client-centric, value-driven solutions for bootstrapped and venture-backed startups.

Business with a Heart

Balaji Uppili

People and technology are converging like never before, as the world is gripped by COVID – 19. Just a few months ago, nobody could have predicted or foreseen the way businesses are having to work today.  As we were strategizing on corporate governance, digital transformation and the best of resiliency plans to ensure business continuity, no one ever anticipated the scale and enormity of COVID 19.

Today, it has become obvious that COVID 19 has brought about the convergence of technology and humanity and how it can change the way businesses work and function.  While we as leaders have been thinking largely about business outcomes, this pandemic has triggered a more humane approach, and the approach is here to stay.  The humane approach will be the differentiator and will prove the winner.

There is no doubt that this pandemic has brought an urgent need to accelerate our digital capabilities. With the focus on strong IT infrastructure and remote working, workforces were able to transition to working from home, meeting through video conferencing, and surprisingly, this has turned to increase the humane aspect of business relations – it has now become alright for both parties to be seeing children, spouses or pets in meeting backgrounds, and that in itself has broken down huge barriers and formalities.  It is refreshing to see the emerging empathy that is getting stronger with every meeting, and increasing collaboration and communication. It is becoming increasingly clear that we have overlooked the important factor of how it is that people have been showing up to work.  Suddenly it is now more visible that people have equally strong roles within the family – when we see parents having to home-school their children, or having other care obligations, we are viewing their personal lives and are able to empathize with them more.  We are seeing the impact that business can have on people and their personal lives and this is a never like before opportunity for leaders to put our people first.

And with customers being the center of every business, the situation of not being able to do in-person meetings has now warranted newer ways to collaborate and further strengthen the customer-centricity initiatives even more.  It has become evident that no matter how much we as leaders are thinking of automating operations, it is human connections that run businesses successfully. Lots of things have been unraveled – Important business imperatives like criticality of clean workspace compliance, the fact that offshoring thousands of miles away is not factually a compromise, but a very cost-effective and efficient way of getting things done. Productivity has also increased, and work done this far by, has a positive impact of at least 20% or even more in certain situations. As boundaries and barriers are broken, the rigidities of who should work on something and when they should work on it have all become less rigid.  Employees are less regimental about time.  Virtual crowd outsourcing has become the norm – you throw an idea at a bunch of people and whoever has the ability and the bandwidth to handle the task takes care of it, instead of a formal task assignment, and this highlights the fungibility of people.

All in all, the reset in the execution processes and introducing much more of a humane approach is here to stay and make the new norm even more exciting.

About the Author –

Balaji has over 25 years of experience in the IT industry, across multiple verticals. His enthusiasm, energy, and client focus is a rare gift, and he plays a key role in bringing new clients into GAVS. Balaji heads the Delivery department and passionately works on Customer delight. He says work is worship for him and enjoys watching cricket, listening to classical music, and visiting temples.

JAVA – Cache Management

Sivaprakash Krishnan

This article explores the offering of the various Java caching technologies that can play critical roles in improving application performance.

What is Cache Management?

A cache is a hot or a temporary memory buffer which stores most frequently used data like the live transactions, logical datasets, etc. This intensely improves the performance of an application, as read/write happens in the memory buffer thus reducing retrieval time and load on the primary source. Implementing and maintaining a cache in any Java enterprise application is important.

  • The client-side cache is used to temporarily store the static data transmitted over the network from the server to avoid unnecessarily calling to the server.
  • The server-side cache could be a query cache, CDN cache or a proxy cache where the data is stored in the respective servers instead of temporarily storing it on the browser.

Adoption of the right caching technique and tools allows the programmer to focus on the implementation of business logic; leaving the backend complexities like cache expiration, mutual exclusion, spooling, cache consistency