No product that is developed can be completely bug free. Chances are you may miss some of the minor defects that are very hard to notice but that does make a difference.
When new customers are ready to sign on the dotted line, you’ve got to show them your strength.
Our client “A large E-Commerce website of Europe” came up to us with the positive sight of making their site bug free.
Of course, developers can develop and focus on happy scenarios and cannot go out of their box to see the worst cases.
Though the website worked in multiple domains, the user experience and functionalities were still the same. To maintain the functionalities, on a single hand was not an easy-going thing. The task arrived to our team.
When we were approached for this E-commerce website, we encountered 300+ components with different functionality approach. Each component had their individual requirement documents. Now task was to create test scenarios for each component based on their documents.
It was not an easy job as for single component we used to reach a figure of minimum 25 test scenarios. However, managing and executing those test scenarios was the target for us.
1. Build up a dedicated team and divide tasks as per member
2. Team started working on the test plan and writing test scenarios for the components
3. The scenarios were then sent to client for review which turned out to be a success for testing
4. Started executing those test scenarios manually
For all the components provided, we had total of 7500+ test scenarios, which was a huge figure to execute.
Challenges Faced & How we Overcame:
1.Multiple Language Problem:
Working on a project from totally different domain itself is a challenge. Above that Testing over unknown language became a cherry on the top.
Solution: At some places we could guess what it wanted to say but still our mind got stuck while reading out some words. Here Google Translator played a very important role for us. All we could do now was to copy and paste the totally out of box words into the translator and bring out the understandable meaning. This language issue was finally resolved
2.Change in Requirements:
Many times, it happened that we made test scenarios based on the requirements pdf files we were given in the beginning. But when the components were actually developed, the requirements used to get changed.
Solution: This made our task harder as we still had to give our 100% and rewrite test scenarios so we again had to request for new requirements documents and then make new test scenarios based on them. This lead us write 1000 test scenarios.
3.Multiple Device & Browser Testing Issue:
Being a large website another issue that held us was to perform testing of those websites of different domains in multiple devices and browsers to see they are responsive.
Solution: There were no shortcuts to this as it was mandatory task despite being time consuming and lengthy. We had to allocate more resources into this. Hence, breaking the tasks and dividing them helped in reducing the output time.
Different geological spaces created a gap of interaction. Thus, many times it happened in case of a test failure, they couldn’t get what we meant in the test cases and why it failed, no matter how easy the language was.
Solution: The gap needed to be removed. Hence, along with the test scenarios for those which failed, we started attaching Images and Videos displaying the failure. This for sure improved our testing experience with them.
5. Regression Testing:
In case of version change or branch merging, developers and testers mainly focus on particular module which is updated or added despite of some functionalities that needed to be tested repeatedly in every sprint (regression testing) which was time consuming and tedious process.
Solution: This could also let a tester miss or fail to identify affected areas which has been broken.
Hence, the idea for Automation testing came up. Automated software testing can reduce the time to run repetitive tests from days to hours.
Selecting Appropriate Tool:
After many researches and references from person to online ratings, the best tool we came across for Automation was Selenium with Python.
Why Selenium and Python?
Selenium is the most popularly used freeware and open source automation tool, it enables record and playback for testing web applications and can run multiple scripts across various browsers. It also has Managed using UI-Element user extension and properties.
Python: It’s ease of learning, portability, dynamic typing and integration with other languages made us choose this as Automation scripting language.
Programs with python are typically 3-5 times shorter than equivalent languages as it does not use any syntax rule instead, tabbing and spacing play an important role in program flow. A program written in python for one platform using only the standard libraries can be easily ported to another operating system without need for recompiling and repackaging
Choosing proper Automation tool helped us overcome the flaws of manual testing like Tedious, repetitive tasks testing that consumed more time. Now once made automation script can be reused to test the same scenario. And Manual testing is still on track to give UI feedbacks, to get insight into visual elements of the UI
This way we could achieve successful testing outcome of the E-Commerce website and made 100% of the defects fade away through Manual testing effort and Automation testing script. The effort of writing 1000’s of test scenarios still made us satisfied as we could deduce the bugs and could fulfil the need of our client through successful testing and providing correct quality assurance.
Also, our team played important role in executing the bundle of test scenarios with calm and patience.
1. QA is a way of preventing mistakes and defects in developed products and avoiding problems when delivering solution or services to the customers
2. Proper testing approach is the key to systematic execution of test plan
3. In the process of testing many hurdles come up, one must take them as challenge and overcome them
4. Selecting testing type (Manual or Automation) depends on the testing scenario
5. Most importantly, team coordination and mutual understanding leads any target to success