One of the fundamental principles of software testing is that 100% test automation is not possible.
So while automated testing does bring efficiency to testing, it can never fully automate the quality assurance process.
This is where manual testing comes into play, and it’s something that the QA team at Leaf employs as well as part of our QA process.
And in this article, we will explore what it is, and the tools and techniques involved in manual testing.
What is manual testing?
Manual testing or manual software testing, simply put, refers to the testing of a software product or application that is done manually by a human.
This type of testing is done to:
- identify any bugs or defects in the product
- ensure the product is error-free
- check if the product conforms to specified functional requirements.
Following the manual testing methodology, test engineers or QAs, like me, perform our tests from an end user’s perspective.
We compare the actual behaviour of the product/application against the expected behaviour that was specified in the brief. We do this by designing test cases or scenarios with 100% test coverage and executing them one by one before verifying the results. Any reported issues are passed to the development team to fix and then tested once again.
Is manual testing still a thing?
Yes and yes!! Manual testing still holds a very vital and strong position in the world of testing because no software and application can be tested with zero manual intervention. Compared to automated testing, manual testing is the better option when it comes to:
- Exploratory testing
- Complex functionality
- Infrequent test cases
Manual testing is great for instances that are ad-hoc, or where the requirements doc is not descriptive and user-friendliness needs to be checked.
Also to note: There is a lower risk for false negatives with manual testing. This saves developers from the extra work required to validate whether a bug is true or false.
An important thing to mention is that we have a lot of tools that support manual testing and help testers not only speed up our work but also make testing more efficient.
So next, let’s discuss the tools that can be used by manual testers!
Tools that manual testers use
There are different types of tools that are used for different purposes during testing. Some tools are used to help testers in performing testing, for example, Browserstack; and some tools actually help with documenting bugs.
Testing Case Managers
With the TestLodge tool, we can manage everything and, as the case may be, also write additional test plans or suites. It can be perfectly integrated with certain third parties to provide accurate reporting results.
Zephyr obsoletes spreadsheets, most precisely when integrated with Jira. It enhances the visibility of the test results by offering a well-ordered layout plan, suitable for most build types.
Zephyr is a leading provider of agile test management products, with more than 9,000 customers in 100 countries. Based in San Francisco, Zephyr is a top Atlassian Marketplace vendor.
TestLink is a manual test management system that is used to check the quality assurance of the software. It supports test cases, test plans, test suites, test projects, user management, and various reports and statistics. This tool can integrate with other software like Bugzilla, Jira, mantis, Redmine, FogBugz using API. In order to access the TestLink, an admin needs to have access to the web server and database to install and run. It supports various databases like PostgreSQL.
This can be considered an ambidextrous tool since it supports both manual and automated testing. It’s free, open-source, and has a lot to offer by linking specific requirements to specific cases, hence the name.
This was formerly the brainchild of Frog Creek software before it became its product and company. It’s renowned for its flexible project management and effective tracking of issues. Testers are given the freedom to create the problems on a board with an easy-to-operate setup that can be further fine-tuned using some intricacy automation rules. This tool includes a desktop app and a free mobile app, limited in functionality.
Basecamp’s makers were probably aiming for an all-inclusive type of application because that’s simply what it is. With a single, all-in-one dashboard for organizing projects, teams, and corporate communications, Basecamp comes in handy with a live chat function, a message area, a to-do list, schedules, and documents, all on the all-inclusive dashboard. It can be used in multiple fields.
Bug Reporting Platforms
I am sure there might be others too, but let’s explore the above-mentioned ones.
FogBugz is a web-based tracking tool, which is commonly engaged in bug tracking. Because of its strategy, it has become quite popular in the market. It displays the details of the project in a milestone manner. Therefore, it becomes easy to track and calculate the results in a quick span of time.
Mantis is very easy and user-friendly to use. It’s a software product that is used for defect lifestyle or bug tracking progression. It allows a user to add a number of plugins for adapting various functionalities of the application subject for testing. Mantis provides project-level access to the bugs which are being worked on the tool and also supports all the major system platforms, such as Windows, Android, iOS, etc. The installation process for Mantis Bus Tracker is uncomplicated in comparison to other tools.
Monday is a multi-purpose tool that can also be used as a bug tracker. It tracks all bugs in one place, visualises the big picture, and figures out what’s stuck and what’s already in production in a super simple way.
On Monday, teams will have a clear overview of various bug statuses and will easily be able to add, update and assign bugs with minimal effort.
Undoubtedly, one of the top companies dealing with tracking program issues, Jira is also profound as a management tool because of its comfortable and flexible framework, and customisable features. Operating around Jira is easy, but at the same time, complex, depending on the user and the mode of operation.
Manual Testing Process Tools
Here’s my favourite part of manual testing: The N tools actually help testers while we conduct testing.
These tools help us save time and increase our efficiency in many ways.
Since the majority of Shopify websites are eCommerce-based, testing really plays an important role here so that the customers don’t face any difficulty when browsing and purchasing products.
Bad checkout processes lead to abandoned carts, which reportedly cause brands to lose up to $18 billion a year in revenue. Bad usability = bad business.
Knowing this, let’s discuss the important testing types that should be taken into consideration when testing, and the testing tools that support this.
For most websites, it is important to perform the following testing types:
- Functionality check
- Load testing
- Performance testing
- UI/UX testing
Here we’re going to explore some of the tools that support testers in conducting different types of testing like:
- Responsive checks
- Load test
- UI test
- Network-related tests are also important to be conducted etc.
These techniques can be backed by the following tools that are mentioned below:
BrowserStack is one of the best platforms where you get to test the responsiveness of the website on actual devices and not on simulators. This is the cool thing that BS offers – it has multiple options for testing websites and mobile apps:
- Live Testing
- Automated testing
- Mobile App live testing
- Mobile App Automate
RDT, this is also a one of its kind chrome extension, which is used to let users check a website’s responsiveness by offering different mobiles’ views, though it doesn’t render web pages in the same way as the mobile device. It’s primarily used by developers who want to test how a page responds to different devices. But since it’s free and just an extension, it’s widely used by QAs too.
The Apache JMeter™ application is open source software. It’s a Java application designed mainly to load test functional behaviour and measure performance. Originally, it was designed to test Web Applications but later on, it became useful in testing functions too.
Apache JMeter may be used to test performance both on static and dynamic resources, Web dynamic applications. It’s widely used to simulate a heavy load on a server, group of servers, network, or object to test its strength or overall performance under different load types.
In a development environment, it’s really important for testers and developers to communicate through bugs and the best practice for bugs should be to make it self-explanatory. CloudApp plays a vital role in doing so through screen captures or screen recordings while an action is being performed.
This really helps the developers to reproduce the issues very quickly just by following the visuals.
Ruler is one tool that really helps manual QAs check UI to identify any alignment-related issues that a QA might miss while checking with the naked eye.
It’s really important for any website to go through performance testing, and GTMetrix plays an essential role in helping QAs with this. It’s a tool that analyses page speed and performance. It generates scores for our pages and offers Page Speed and WiSlow insights.
It gives you detailed reports about site performance, creates scores for the pages, and also provides recommendations to fix them.
Generally, it breaks down the page performance in a summarised report, which helps developers identify the areas that require improvement.