Testing
Difference between Automation and Manual testing:
Testing Aspect | Manual Testing | Automated Testing |
Accuracy | Less accurate due to the higher possibility of human errors. However, it handles complex tests that require human thinking and judgment better. | Very accurate for repeatable, non-flaky test scenarios. However, it can be less accurate for tests that need human thinking and judgment or interactions that rely on integrated modules or systems. Poor design of test cases and errors in the test scripts might also lead to lower accuracy. |
Cost Efficiency | Cost-effective for more complex tests, tests that involve some kind of investigation or judgment or usability, or tests that you will not run very often. | Cost-effective for predictable tests that you will repeat many times across multiple test cycles, especially regression tests. |
Reliability | More reliable for performing exploratory testing and for identifying subtle issues or inconsistencies. | More reliable for repetitive tests. |
Test Coverage | Covers a wide range of test scenarios, including tests that need human intervention. However, manual testing is not efficient when testing large and complex scenarios. | Covers a wider range of scenarios, such as large, complex, and repetitive ones. Yet, it is not suited for instances that need human intuition and judgment. |
Scalability | Less efficient and more time-consuming. But more effective for UI-related and human instinct-needed tests | More efficient and effective for testing large, routine, and repetitive tasks at scale. |
Test Cycle Time | Shorter turnaround time due to automatically performing tests and generating reports. However, setting up the environment and writing test scripts may take more time at the initial stage. | Effective in testing the user experience because UX typically involves judging the feeling or perception a user might have about the overall user-friendliness using multiple. |
User Experience | Effective in testing the user experience because UX typically involves judging the feeling or perception a user might have about the overall user-friendliness using multiple . | Ineffective in testing the user experience of an application. |
Human Resources / Skills | Does not require programming skills as it does not involve test scripts, but requires hands-on testing experience. | Typically requires programming skills. A strong understanding of at least one of the most common programming languages, like Python, Java, JavaScript, or C#, is recommended. Some modern test automation tools do not require as much scripting of code, although you may need to make sure those tools can reliably handle the tests you need to run based on the type of application you are testing. |
Different tools in Automation:
1.Selenium
2.UFT
3.Appium
4.Jmeter
5.Cucumber etc
Cross-browser testing:
It is also called browser testing, is a quality assurance (QA) process that checks whether a web-based application, site or page functions as intended for end users across multiple browsers and devices.
BDD:
It focuses on the end user's standpoint in its testing of the application behavior. Mainly it creates an executable specification that fails because the respective feature doesn’t exist, then writing the simplest code that can make the specification pass and as a result we get the required behavior implemented in the system.
TDD:
TDD focuses on smaller sections of functionality to be tested by itself. It refers to write a test case that fails because the specified functionality doesn’t exist and after that update the code that can make the test case pass and as a result we get the feature implemented in the system.