MANUAL TESTING

MANUAL TESTING

Manual Testing?is a type of software testing in which testcases are executed manually by a tester without using any automated tools. The purpose of Manual Testing is to identifythe bugs, issues, and defects in the software application. Manual software testing isthe most primitive technique of all testing types and it helps to find critical bugs inthe software application.

Any new application must be manually tested before its testing can be automated. Manual Software Testing requires more effort but is necessary to check automation feasibility. Manual Testing concepts does not require knowledge of any testing tool. One of the Software Testing Fundamental is “100% Automation is not possible“. This makes Manual Testing imperative.

In this Manual Testing tutorial for beginners, we cover all manual testing concepts and topics in detail.Below given diagram depicts Manual Testing Types.?In fact, any type of software testing type can be executed both manually as well using an automation tool.

  • Black Box Testing
  • White Box Testing
  • Unit Testing
  • System Testing
  • Integration Testing
  • Acceptance Testing

How to perform Manual Testing

  1. Read and understand the software project documentation/guides. Also, study the Application Under Test (AUT) if available.
  2. Draft Test cases that cover all the requirements mentioned in the documentation.
  3. Review and baseline the test cases with Team Lead, Client (as applicable)
  4. Execute the test cases on the AUT
  5. Report bugs.

Once bugs are fixed, again execute the failing test cases to verify they pass.As the name suggests,?Manual testing?is the one in which application testing happens manually. The test cases/scenarios are executed one by one by Testers (professional involved in software testing) manually without using any readymade tools, and then the results are verified.

So manual testing is a process in which we compare the behavior of a piece of software (it can be a component, module, feature, etc.) with the predefined, expected behavior which we set during the initial phases of?SDLC.

Manual verification is the most primitive form of software testing. A novice can do it without any knowledge of any particular tool. Even a student, who has a basic understanding of the application or testing of a system, can perform manual verification. Nonetheless, it is an essential step in the?software testing cycle. Any new system or applications must be tested manually before automating the testing.

Majorly, it helps in ensuring the quality of the application by ensuring the following points:

  • Ensuring that the application meets the defined system requirements.
  • Finding out any bugs/errors which may arise while running the application.

Before moving deep into understanding the concepts of manual testing, lets first try to understand why do we need manual verification of an application in the first place?

Why do we need manual testing?

With the changing trends in the software industry, more and more software professionals prefer automated testing, but there are still multiple reasons which justify the need for manual testing. Few of them are:

  • Human Perspective:?The basic usability and look & feel of the application can only be gazed and evaluated by Humans. As the software is developed for humans only, so they only can do better justice of validation from a user experience perspective.
  • A broader perspective and variation of the System workflows:?Manual verification always gives a broader perspective of the overall application. As the human mind will always be in an exploratory form, instead of a coding mechanism that executes the same steps each time. So, it will provide more expansive coverage for the system validation.
  • Cost of automation:?Sometimes, due to the timelines or size of the project, the extended efforts for the automation are not justifiable, and we always prefer a quick manual validation over the automation testing.
  • Un-automatable scenarios:?There can be multiple scenarios that are either not worth automating and doesn't give clear confidence of the user behavior when just testing using automation. For Example, there have been multiple scenarios on mobile devices, which need user interactions, such as?"Tap & Pay", which sometimes have different behaviors when automated using tools and when a person manually validated them.

Considering all these points, manual testing has still maintained its place in the validation phase of the fast-paced software development cycle. Now, there are some specific use-cases where manual verification can be the best fit. Let's see what those are?

When to do manual testing?

So, the question remains as to when exactly we should do manual testing or which are the scenarios that compel us to opt for this type of testing? We go for such testing under the following scenarios:

  • Adhoc testing:?Adhoc testing, as the name suggests, is unplanned testing. It doesn't have any specific approach defined neither it has any documentation associated with it. Adhoc testing is entirely informal, and the only important factor is the knowledge and insight of the tester. Hence in such cases, manual testing is a good option. You can refer to the link?"Adhoc testing"?for detailed knowledge of Adhoc testing.
  • Usability testing:?Another scenario where manual testing is required is the case of usability testing. We perform usability testing to assess how convenient, efficient, and user-friendly the product has turned out to be for the end-users. For this assessment, we require the highest manual intervention and cannot rely on tools to assess it for us. So to evaluate the product from the end-user point of view, we opt for manual testing. You can refer to the link?"Usability testing"?for detailed knowledge of Usability testing.

要查看或添加评论,请登录

Yuvaraj Pandey的更多文章

  • DATA MANAGEMENT

    DATA MANAGEMENT

    Data management is the practice of ingesting, processing, securing and storing an organization’s data, where it is then…

  • SCALA

    SCALA

    What is Scala? A Robust and High-Caliber programming language that changed the world of big data. Scala is capable…

  • RISK MANAGEMENT

    RISK MANAGEMENT

    What is Risk Management? Risk management structures are tailored to do more than just point out existing risks. A good…

  • TERADATA

    TERADATA

    What Does Teradata Mean? Teradata is a fully scalable relational database management system produced by Teradata Corp…

  • SPARK

    SPARK

    What is Spark? Spark Architecture, an open-source, framework-based component that processes a large amount of…

  • POWER BI

    POWER BI

    What Is Power BI? Power BI is a set of Business Intelligence and Analytics Services from Microsoft. It offers…

  • DOT NET DEVELOPER

    DOT NET DEVELOPER

    What is .NET? .

  • DATA NETWORK

    DATA NETWORK

    Data networks refer to systems designed to transfer data between two or more access points via the use of system…

  • DATA EXTRACTION

    DATA EXTRACTION

    What is Data Extraction? Data extraction is the process of collecting or retrieving disparate types of data from a…

  • DATA VISUALIZATION

    DATA VISUALIZATION

    Before jumping into the term “Data Visualization”, let’s have a brief discussion on the term “Data Science” because…

社区洞察

其他会员也浏览了