Price-Performance-Leader-Automated-Testing

9-step success formula for small QA teams to switch from manual to automated testing

Do you or your team currently test manually and trying to break into test automation? In this article, we outline how can small QA teams make transition from manual to codeless testing to full fledged automated testing. The transition will not happen overnight but can be successfully achieved much easier than anticipated.

Price-Performance-Leader-Automated-Testing

1 – Say no to mundane repetitive manual testing

Your willingness to say no to mundane and boring repetitive manual testing is the first real step towards automated testing! As a team you need to acknowledge that manual testing is haunted by repetitiveness and is error prone. Any team will eventually get bogged down by doing the same thing over and over again impacting team motivation. Some teams will overcome this challenge by automating small bits and pieces of repetitive work. For example, a script to import test data into a database, a utility to generate random test data, etc.

2 – Know impediments to switch to automated testing

Once you acknowledge as a team that you need to move to automated testing, the next step is to know what is stopping your team from making this move. In most cases, it is the fear of complexities involved in automation ie., learning programming. “Can we learn a new programming language and implement a successful test automation project?” are the kind of questions that come to mind. To allay such fears, teams should start small and pick the right tools that suit their testing needs. For example, think before picking a tool that does not work well with iFrames if your application is using iFrames heavily, or start to build out a test automation framework if your team doesn’t have any automation experience, etc.

3 – Start simple and small but make it successful

A good beginning is half the job done. It is very important to pick the simple and small test cases when your team is new to automated testing. Pick the test cases that you manually test very often but are easy to test. Simple and small test cases are easy to automate, debug, maintain and reuse. Don’t go crazy with automation and start with most time taking or complex ones first or you will make your beginning harder and reduce your chances of success. For example, start with a simple login test case, creating a user, etc.

4 – Pick the right tools and frameworks

Making the process easier for your team to adopt is the key to success. It will be easier when you choose combination of tools and frameworks. Yes, you heard it right! It has to be combination of tools. You can no longer rely on one single tool to get success on your test automation. Selenium execution will probably be the foundation as it is the most popular and convenient tool to use with different programming languages. Start with codeless testing tools built on top of Selenium. Codeless testing tools could cover most of your simple to medium complex manual tests.

Discover why is codeless test automation better than conventional test automation?

5 – Learn and practice programming

Pick up the programming language that your team is most comfortable with. Codeless testing might be able to cover most of your manual testing but for complex steps or tests, you would need to write scripts. Learning is not enough, you should put your learning to practice to understand and write good code. But do not go deep where you cannot stand. Remember as a team, your goal is to ensure quality of the software by automating repetitive manual tests.

6 – Be very clear on what to automate

Your team has to prioritize which tests to automate. Just because you have this new-found knowledge of automated testing, does not mean it should be applied to everything — in fact, it is impossible to automate all tests, and many things are better off being done manually. Trying to automate complex and less often used tests is a formula for failure and is not worth your team’s effort. Here is where your manual and exploratory testing skills should be put to use whenever a new feature is released.  Run risk analysis to determine parts of your application that should be automated. In addition you will have to pay attention to details like if your application is web based, you will want to create a list of the browsers and devices that are going to be essential to your particular test suite.

7 – Zero tolerance to unreliable automated tests

Just like, as manual testers, you refuse to be content with failing tests, you should not tolerate automated tests that pass at times and fail at other times. Unreliable tests will lose your team’s confidence and is a stepping stone for failure. As an example, if there is a failure in the initial steps of a lengthy test case, you can not be sure if there’s no bug beyond that step. Such uncertainties will be bad for team morale and make the whole automation effort less fruitful.

8 – Do not neglect team collaboration

Successful outcomes for any project are guaranteed by a collaborative team. It is no different for test automation. All your team’s automated tests have to be in a single repository accessible anytime & anywhere. A change log indicating who made change to which test case for traceability and accountability should always exist. The tool you pick should allow for collaboration and also make it easier to categorize, tag, sort and filter the 100’s of tests that you would have created over time.

9 – Get the fundamentals right

Do not forget the testing fundamentals. Whether it is manual or automated testing, testing concepts and fundamentals always apply. Refer these articles to understand the fundamentals of test automation

Automated testing might seem daunting when you start, but all it really takes is a consistent effort to make it a success. Continuous learning and practice using your resources will help. Take comfort in knowing that even the experts don’t know it all. No matter how good an automation engineer you become, there’s always more to learn.

Talk to our Test Engineers

Fast track your ecommerce monitoring

RECENT POSTS

Why you can’t ignore test planning in agile?

An agile development process seems too dynamic to have a test plan. Most organisations with agile, specially startups, don’t take the documented approach for testing. So, are they losing on something?

Coming-Soon-Selenium-41

Selenium 4 is releasing soon: What every QA must know?

Selenium 4 version is all set to release this Christmas. Simon Stewart (founding member of Selenium) has officially announced at the recently held selenium conference at Bangalore. Some major changes in the upcoming Selenium 4 have been revealed.

Glitch

What is synthetic testing?

Your website can misbehave anytime. Learn how you can use synthetic testing to watch if performance is low and correct it on-time so that your users are not affected.

Synthetic Monitoring tools

Synthetic Monitoring – why & when to use it

Website monitoring has advanced from checking for web page availability to analysing real user journeys through a website. Learn if synthetic monitoring is the right fit for you to maintain a quality digital experience.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Why you can't ignore test planning in agile?

An agile development process seems too dynamic to have a test plan. Most organisations with agile, specially startups, don’t take the documented approach for testing. So, are they losing on something?

A test plan is useful to put discipline into the testing process. Otherwise, it’s often a mess when team members draw different conclusions about the scope, risk and prioritization of product features. The outcomes are better when entire team is on the same page. If your team isn’t planning tests, the problem could be how you perceive the test plan.

A test plan might appear like an elaborate document by the QA, but in agile it is more like a process than a plan. It can be dynamic in spirit and capable of keeping up the sprint velocity. Let’s look the challenges in agile testing and how to overcome them with planning.

The perils of no test planning

It’s a common pitfall when team is focused on a quick burn-down of everything in the bucket of requirements. This way, you can lose time on testing low risk and low priority requirements. And a feature that is more critical for the business may not get the attention it deserved.  

The lack of capacity to prioritize comes from limited understanding of the product user and usage. If testers are not able to prioritize what features are top priority to test first, testing becomes a disadvantage for the agile speed.

Absence of test planning can translate to inadequate team communication on the goals of testing. This can dilute the purpose building a product. If test planning is so important how can you incorporate it for your product?

Why agile test planning

For agile, test planning should map risks and rewards of testing any feature. In order to achieve this, tester should communicate the business importance and priority of features they would be testing in the sprint. Testers should evaluate the acceptance criteria rather than copy-pasting it. This allows testers to examine the significant features carefully.

QA can use critical thinking in deciding what to test. This can only be possible if testers know the product users. Most of the product usage is concentrated in a few features. Data of product usage allows testers to take better decisions. And might invest more time in exploratory testing.

A discussion between the manual testers, automation testers and developers aids in planning. Say, the team can discuss how they can avoid duplication of tests. Or say, prepare a stub in parallel while the development of a feature is underway.

Test planning can layout the process of how quality is built in even before the coding begins. It is because the purpose of QA should be to stop injecting a defect in first place. For this purpose, importance of different tests like unit testing can be outlined so that the team can organize their output according to the available time.

Due to the nature of competition and demand the requirements can be dynamic and pop up unexpectedly. So, a plan to prepare for the unplanned can save the team from disorder and confusion.

To start embracing test plan in agile you can use the following mantras:

  • Test planning should be a dynamic process
  • Team communication is key to achieve goals
  • All team members must know the business importance and priority of product features
  • Plan should be inclusive of critical thinking to understand risk and rewards of testing
  • Purpose of plan should be to avoid the defects in the first place

The way forward

There is no static document that dictates the course of testing in agile. The direction comes from dialogues between all the stakeholders of the product. Whole team must be involved in quality assurance from the beginning of the sprint. The goal of interactions is that everyone on the team understands what to be tested and by what method. The test planning in agile needs a cultural change in the organisation. This is a continuous process and requires a constant promotion on collaboration.

Discover how Selenium helps in performance monitoring to take proactive measures against bad user experience

Talk to our Test Engineers

Fast track your ecommerce monitoring

RECENT POSTS

Why you can’t ignore test planning in agile?

An agile development process seems too dynamic to have a test plan. Most organisations with agile, specially startups, don’t take the documented approach for testing. So, are they losing on something?

Coming-Soon-Selenium-41

Selenium 4 is releasing soon: What every QA must know?

Selenium 4 version is all set to release this Christmas. Simon Stewart (founding member of Selenium) has officially announced at the recently held selenium conference at Bangalore. Some major changes in the upcoming Selenium 4 have been revealed.

Glitch

What is synthetic testing?

Your website can misbehave anytime. Learn how you can use synthetic testing to watch if performance is low and correct it on-time so that your users are not affected.

Synthetic Monitoring tools

Synthetic Monitoring – why & when to use it

Website monitoring has advanced from checking for web page availability to analysing real user journeys through a website. Learn if synthetic monitoring is the right fit for you to maintain a quality digital experience.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Coming-Soon-Selenium-41

Selenium 4 is releasing soon: What every QA must know?

Selenium 4 version is all set to release this Christmas. Simon Stewart (founding member of Selenium) has officially announced at the recently held selenium conference at Bangalore. Some major changes in the upcoming Selenium 4 have been revealed. So, it’s time to get ahead of the curve and figure out what is going to be changed, added and deprecated. In this article, we will take a look a few important features and give an insight on updates you can expect for your automation framework.

W3C WebDriver Standardization

The Selenium 4 WebDriver will be completely W3C Standardized. The WebDriver API has grown to be relevant outside of Selenium. It is used in multiple tools for automation. For example, it’s used heavily in mobile testing through tools such as Appium and iOS Driver. The W3C standard will encourage compatibility across different software implementations of the WebDriver API.

Let’s take an example of how Selenium Grid communicates with Driver executables as of now –

Adopting New Protocol

Adopting-New-Protocol

A test in Selenium 3.x, at local end (through json wire protocol) communicates with browser at End node.This requires encoding and decoding of API. In Selenium 4, test will directly communicate without any encoding and decoding of API requests (through W3C Protocol) though java bindings will be backward compatible but focusing more on W3C Protocol.

The Json wire protocol will no longer be used.

There are multiple contributors in webdriver  W3C specs. All of the work done is on github which can be found on- https://github.com/w3c/webdriver

Selenium 4 IDE TNG

Selenium-4-IDE-TNG

The Selenium IDE support for Chrome is in bucket. As we all know that Selenium IDE is a record and playback tool. It will now be available with much more rich and advance features such as:

  • New plugin system– Any browser vendor will now be able to easily plug-in to the new selenium IDE. You can have your own locator strategy and can plug in selenium IDE.
  • New CLI runner – It will be completely based on nodejs and not old html based runner. It will have following capabilities-
    • WebDriver Playback – The new Selenium IDE runner will be completely based on WebDriver.
    • Parallel execution- The new CLI runner will also support parallel test case execution and will provide useful information like time taken, number of test cases passed and failed.

Improved Selenium Grid

The one who have worked on Selenium Grid must know how difficult it is to setup and configure.Selenium Grid supports test case execution on different browsers, operating systems and machines. Thus it provides parallel execution capability.

There are two main elements in Selenium Grid-  Hub and  Node.

Hub- Acts as a server,a central point to control all the test machines in a network. In selenium grid there is only one hub which allocates the test execution to a particular node based on capability matches.

Node- In simple words node is a test machine where test cases actually run.

Selenium-Node-Container

For more details on selenium grid,follow the tutorial here- https://www.seleniumhq.org/docs/07_selenium_grid.jsp

The typical process to setup selenium grid till now caused testers sometimes to face difficulty in connecting node to hub.

In Selenium 4 the grid experience is going to be easy and smooth. As there will not be any need to setup and start hub and node separately. Once we start selenium server, the grid will act as both hub and node.

Selenium 4 will come up with more stable selenium grid in terms of removing all thread-safety bugs, and a better support for docker.

Discover how Selenium helps in performance monitoring to take proactive measures against bad user experience

Better Selenium Grid UI

The Selenium 4 would come up with more user friendly UI of grid having relevant informations about sessions running, capacity etc.

Better Observability

“Passive observability is the ability to do descriptive tracing.”  
– Simon Stewart

Observability, logging and debugging is no more confined to DevOps in recent times. As part of this release request tracing and logging with hooks will be improved so as to provide automation engineers a hold on debugging.

Refreshed Documentation

Documentation plays a key role in any project’s success. Selenium docs were not updated since selenium 2.0 release. In the latest upgrade selenium documentation is also going to be refreshed and detailed [WIP].You can access it on – https://seleniumhq.github.io/docs/

Here’s the video from Selenium Conference 2018 held at Bangalore recently

Selenium 4 In a nutshell

Upgrading to the latest version of selenium should not require any code changes.  Setting up node and hub will become smooth and the entire grid experience is going to be streamlined. For automation engineers, the latest version should not be challenging and existing automation framework should work with minimal changes.

More to come

These are few important changes. Stay tuned as there is plenty more to come.

Talk to our Test Engineers

Fast track your ecommerce monitoring

RECENT POSTS

Why you can’t ignore test planning in agile?

An agile development process seems too dynamic to have a test plan. Most organisations with agile, specially startups, don’t take the documented approach for testing. So, are they losing on something?

Coming-Soon-Selenium-41

Selenium 4 is releasing soon: What every QA must know?

Selenium 4 version is all set to release this Christmas. Simon Stewart (founding member of Selenium) has officially announced at the recently held selenium conference at Bangalore. Some major changes in the upcoming Selenium 4 have been revealed.

Glitch

What is synthetic testing?

Your website can misbehave anytime. Learn how you can use synthetic testing to watch if performance is low and correct it on-time so that your users are not affected.

Synthetic Monitoring tools

Synthetic Monitoring – why & when to use it

Website monitoring has advanced from checking for web page availability to analysing real user journeys through a website. Learn if synthetic monitoring is the right fit for you to maintain a quality digital experience.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Glitch

What is synthetic testing?

Users demand Google-like response time that pushes companies to monitor the performance and availability of their applications continually. Accomplishing a comprehensive view of your applications requires the integration of multiple approaches and instrumentation after a release. One of the approach adopted by various sector like ecommerce, health,and banking is synthetic testing.

Synthetic testing that uses distributed test engines to dedicatedly test performance and availability of your web applications and sites remotely – even when there is no traffic. Simply deploy the scripts onto a web browser to simulate the path a real customer takes through a website. The transaction scripts or workflow test are created in advance and then uploaded to the cloud  to run it after a the new code has been released into production.

Glitch

Top 5 reasons to use synthetic testing

When and why should you use Synthetic Testing, here are the top five reasons to use Synthetic Testing for your web application –

Measure SLA’s

SLA could be critical when an application has a number of third parties to host. Synthetic testing helps in making informed decisions backed up by numbers be it about performance, or stability, thereby maintaining transparency. It also helps in validating performance to ensure consistent delivery of third party services before committing an SLA thereby providing best of services to your customers.

Monitoring Web application during Peak and off traffic periods

The application these days are not standalone there are number of components interface, web services, protocols, etc., as a service provider, how could you be assured all of these components work perfectly fine when integrated? That’s when Synthetic Testing comes in handy, as it helps in measuring application performance 24*7 from every node/point and alerts the IT team about the issues found, that may affect the customer. Synthetic testing helps in exploring the production environment of your app/infrastructure Interestingly, the testing could be simulated and scheduled for different regions and period like low traffic zone or during a high traffic period.  

Benchmark Trends across Geographies

Once you have the data and trends you captured in one region, you could extend the same test to different areas, by monitoring the key transactions, geographies and extend validation to multiple devices and browsers.

The data collected would also help you streamlining your SLA, as you would know the[nearly] accurate time and measures are taken to rectify a particular problem.

Test business-to-business web services

Synthetic Testing helps businesses to test web services that use SOAP, REST or other web technologies. While these webservices help in building a communication with upstream and downstream, it also helps in reusing the existing web services for multiple workflows. So when one business service uses customer name to retrieve customer id, the same could also be used to get its details.

How does it complement real user monitoring to deliver better performance

While Synthetic monitoring helps in getting answers to queries like –

  1.       Is my web application up and running?
  2.       Is the transaction working smoothly?
  3.       How fast is my application?
  4.       Is there a failure or connectivity issue?
  5.       Are my upstream and downstream system well connected?
  6.       What is the performance of my website?

It might not be able to answer questions like –

  1.       The experience/issues end-user is facing
  2.       Geographical problems or browser issue not included in the synthetic test plan
  3.       End-user actions while browsing or exploring the website
  4.       The actual workflow took by the end user

This is where Real User Monitoring or RUM comes into the picture. RUM approach provides you an insight into how an end user interacts with your web application. Synthetic testing, on the other hand, offers the insight to “expected” user experience, so combining the power of two one could get a complete view of the user experience. Utilizing both approaches could help you in getting rid of blind spots and enhancing the user experience by providing –

  1.       Transparency
  2.       Reducing MTTR
  3.       Understanding business workflow from an end-user perspective

Some tips on how to select the best synthetic testing tool

  1. A synthetic monitoring tool should be easy in use, so if you do not want to spend time in scripting look for record and playback tool or if you are comfortable with scripting you can explore tools that allow you to code.
  2. The monitoring tool should support working with complex web functionalities.
  3. The tool should allow users to expand their testing scripts, i.e., adding more steps or an easy way to create complex workflows.
  4. The tool should have reusability feature where testing scripts could be recalled whenever a new business workflow needs them like login, logout, etc.
  5. Ability to test all data-driven test cases
  6. Capable of reducing false positives as issues arise from server maintenance, glitches, sparse coding, etc
  7. Able to minimize overheads like retesting for any false alerts.
  8. The tool should perform evenly across locations thereby measuring latency and load issues
  9. A synthetic monitoring tool should be capable of alerting using services like SMS or email.
  10. With users now accessing web application via multiple devices, a tool that allows you to expand testing across devices and browsers comes in handy.

Summary

The web is filled with complications and you need to watch it round the clock, make sure the users have a glitch-free and delightful digital experience. A well-defined test strategy combined with the well-designed synthetic tool could help you in achieving expected performance and removing bottlenecks.

Talk to our Test Engineers

Fast track your ecommerce monitoring

RECENT POSTS

Why you can’t ignore test planning in agile?

An agile development process seems too dynamic to have a test plan. Most organisations with agile, specially startups, don’t take the documented approach for testing. So, are they losing on something?

Coming-Soon-Selenium-41

Selenium 4 is releasing soon: What every QA must know?

Selenium 4 version is all set to release this Christmas. Simon Stewart (founding member of Selenium) has officially announced at the recently held selenium conference at Bangalore. Some major changes in the upcoming Selenium 4 have been revealed.

Glitch

What is synthetic testing?

Your website can misbehave anytime. Learn how you can use synthetic testing to watch if performance is low and correct it on-time so that your users are not affected.

Synthetic Monitoring tools

Synthetic Monitoring – why & when to use it

Website monitoring has advanced from checking for web page availability to analysing real user journeys through a website. Learn if synthetic monitoring is the right fit for you to maintain a quality digital experience.

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

TOP