In this blog lets learn about Manual testing and need for Automation Testing. In Previous blog Part 1 for software testing we learnt about the process and steps to follow for manual testing .Part 1 :https://www.numpyninja.com/post/software-testing-process-part-1
Software Testing
Software testing is the process of evaluating and verifying that a software product or application does what it is supposed to do. The benefits of testing include preventing bugs, reducing development costs and improving performance. Test management plan.
Manual testing
Manual testing is done in person, by clicking through the application or interacting with the software and APIs with the appropriate tooling. This is very expensive since it requires someone to setup an environment and execute the tests themselves, and it can be prone to human error as the tester might make typos or omit steps in the test script.
Automated testing
Automated tests, on the other hand, are performed by a machine that executes a test script that was written in advance. These tests can vary in complexity, from checking a single method in a class to making sure that performing a sequence of complex actions in the UI leads to the same results. It's much more robust and reliable than manual tests – but the quality of your automated tests depends on how well your test scripts have been written.
The seven principles of testing
Testing shows the presence of defects, not their absence. ...
Exhaustive testing is impossible. ...
Early testing saves time and money. ...
Defects cluster together. ...
Beware of the pesticide paradox. ...
Testing is context dependent. ...
Absence-of-errors is a fallacy.
Software Testing
Testing techniques Testing Techniques is the method applied to evaluate a system or a component with a purpose to find if it satisfies the given requirements. Testing of a system helps to identify gaps, errors, or any kind of missing requirements differing from the actual requirements.
There are two main categories of software testing techniques:
Static Testing Techniques
Static Testing Techniques are testing techniques which are used to find defects in Application under test without executing the code. Static Testing is done to avoid errors at an early stage of the development cycle and thus reducing the cost of fixing them.
Dynamic testing techniques Dynamic testing technique is the type of testing that validates the functionality of an application when the code is executed / by executing the code. In simple terms dynamic testing is performed by actually using the application and seeing if a functionality works the way it is expected to.
Software Testing Techniques
Equivalence Partitioning.
Boundary Value Analysis.
Decision Table Testing.
Exploratory Testing.
Experienced Based Testing.
Use Case Testing.
Check List Based Testing.
Risk-Based Testing.
Black Box
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings.
Black box testing is a software testing methodology in which the tester analyzes the functionality of an application without a thorough knowledge of its internal design. Conversely, in white box testing, the tester is knowledgeable of the internal design of the application and analyzes it during testing.
Black-box testing is a method of software testing that examines the functionality of an application without peering into its internal structures or workings. This method of test can be applied virtually to every level of software testing: unit, integration, system and acceptance.
White Box
White box testing is an approach that allows testers to inspect and verify the inner workings of a software system—its code, infrastructure, and integrations with external systems.
White box testing is a form of application testing that provides the tester with complete knowledge of the application being tested, including access to source code and design documents. This in-depth visibility makes it possible for white box testing to identify issues that are invisible to gray and black box testing.
Grey Box
Grey box testing includes both black box and white box testing. Tester has access to all the detailed documents and requirements. Example: In case the link of a website is not working, it can be checked and changed in HTML directly and can be verified in real-time.
Unit Testing
Unit testing is a software development process in which the smallest testable parts of an application, called units, are individually and independently scrutinized for proper operation. It is done during the coding phase by the developers. To perform unit testing, a developer writes a piece of code (unit tests) to verify the code to be tested (unit) is correct.
Integration Testing
Integration testing (sometimes called integration and testing, abbreviated I&T) is the phase in software testing in which individual software modules are combined and tested as a group. Integration testing is conducted to evaluate the compliance of a system or component with specified functional requirements.
User Acceptance Testing
User acceptance testing (UAT), also called application testing or end-user testing, is a phase of software development in which the software is tested in the real world by its intended audience.
Automation Testing
Step by Step Automation Process
Role of Automation Tester An automation tester is a person who is responsible for testing software applications using automated testing tools. Automation testers design and implement test cases, run tests, and report on the results to ensure that the software is high quality and free of defects.
Selenium for Automation
Selenium is a free, open-source automation testing suite for web applications across different browsers and platforms. It is somewhat similar to HP QuickTest Pro (QTP, currently UFT). However, Selenium focuses on automating web-based applications. Testing done using Selenium is usually referred to as Selenium testing.
Advantages of Automation Testing
Automated Testing Saves Time and Money
Manually repeating these tests is costly and time consuming. Once created, automated tests can be run over and over again at no additional cost and they are much faster than manual tests. Automated software testing can reduce the time to run repetitive tests from days to hours.
Conclusion:
I hope, This article will help you to understand basics of Manual and Automation Testing.
You must have got an idea on the topics explained in this blog. Lets explore more and learn New Topics.
Happy Learning