Search the courses, subjects, tracks, games and features, or jump straight to a page.
Learn it your way
A short class with Sarah and her students. The other ways are under More.
Sign up free to listen. Transcripts are free to read.
Today, we're diving into Manual Testing versus Automation Testing. Manual Testing, as the name suggests, involves humans testing software without automated tools. Can anyone tell me where you might prefer to use Manual Testing?
I guess when we need to validate the user interface or when the project is still in early development?
Exactly right! Manual Testing shines in UI testing and exploratory endeavors. Now, let's compare that with Automation Testing. Who can define what Automation Testing is?
It’s when tests are executed using scripts or tools, right?
Correct! Automation Testing is great for repetitive tasks, like regression testing. Remember the acronym 'FAR'? It stands for Fast, Accurate, Reusable. Can someone summarize the pros and cons of both types?
Manual Testing is flexible but slow, while Automation is fast and reusable but challenging to set up.
Spot on! Reviewing this helps us understand their usage contexts better.
Now, let's shift our focus to Functional vs Non-Functional Testing. What do you think Functional Testing aims to verify?
I believe it verifies what the system is supposed to do, like its business logic and expected outputs?
Great answer! Functional Testing includes things like Unit Testing and User Acceptance Testing. In contrast, what about Non-Functional Testing?
It checks how the system performs—like speed, usability, security!
Exactly! Non-Functional Testing focuses on those quality attributes. Remember this: "What vs How". Can someone provide examples for both?
Functional Testing could include checking login functionality, while Non-Functional Testing might involve performance testing to assess load speed.
Let's explore some common types of testing. First, can someone explain what Regression Testing does?
It checks that new code changes haven't unintentionally broken existing functionality?
Correct! It’s vital after every code change. What about Smoke Testing?
Smoke Testing is a quick set of tests to ensure stability, right?
Exactly! It’s like checking if the build 'smokes' when turned on. Lastly, what about User Acceptance Testing?
It's done to confirm that the system meets business needs and is ready for production.
Great! Each of these testing types has its critical role in QA, especially understanding when to apply them.
Human-led testing without automation tools, Ideal for ad-hoc scenarios.
Uses scripts for automated testing, best for repetitive tasks.
Validates the application's functional requirements.
Assesses performance attributes of the application.
Ensures code changes don't introduce new bugs.
Initial testing to verify system stability.
Focused testing on specific functionalities.
Validation by end-users for business needs.
Evaluates system responsiveness under various conditions.
Manual Testing example: Analyzing a new user interface design for responsiveness.
Automation Testing example: Running a suite of tests using Selenium for regression testing.
Functional Testing example: Checking if a user can successfully log in to an application.
Non-Functional Testing example: Measuring how fast a webpage loads under high traffic using JMeter.
Regression Testing example: Testing a shopping cart functionality after a new payment gateway integration.
Smoke Testing example: Quick checks on key features like login or homepage loading after deployment.
Manual testing's human flair, automation runs scripts everywhere.
Imagine a manual tester walking through the application, checking each button like a detective examining clues. Meanwhile, an automation script swiftly runs through the tests like a robot, catching errors in the blink of an eye.
Remember 'FAR' for Automation: Fast, Accurate, Reusable.
Use 'FANTA' for Functional and Non-Functional Testing: Functional, Automated, Non-functional, Test, and Assess.
Term
Manual Testing
Click to flip
Term
Automation Testing
Click to flip
Term
Functional Testing
Click to flip
Term
Non-Functional Testing
Click to flip
Term
User Acceptance Testing
Click to flip
Testing performed by human testers manually evaluating the application's functionality.
Testing where automated tools and scripts are used to execute test cases.
Testing that verifies the functional behavior of the system according to requirements.
Testing that evaluates how well the system performs its functions.
Testing that ensures recent code changes did not adversely affect existing features.
A preliminary test to check the basic functionality before further testing.
A focused test to confirm that a specific function or bug fix is working properly.
Testing performed by end-users to validate that the system meets their needs and requirements.
Testing that assesses how a system performs under heavy usage or stress.
This section outlines various types of testing including manual vs automation testing and functional vs non-functional testing, emphasizing their applications and importance in Quality Assurance.
In this section, we categorize testing types into manual and automation, functional and non-functional, and explore various specific types like regression, smoke, and performance testing. Each category has its defining characteristics, use cases, advantages, and disadvantages, aiding QA professionals in selecting the appropriate testing strategy.
This section categorizes testing into various types based on methodology and focus. Understanding these categories is crucial for QA professionals to select the best approach for their project needs.
Manual Testing refers to human-led testing endeavors without automated tools, ideal for early-stage projects or infrequently repeated tests. It benefits from human intuition but can be slow and unscalable for repetitive tasks.
Automation Testing, on the other hand, incorporates scripts to automate tests, suitable for repetitive testing needs like regression or performance tests, offering speed and accuracy at the cost of initial setup time and scripting knowledge.
Functional Testing focuses on validating the business logic of the application—what it does. It includes unit testing, integration, system, and UAT.
Non-Functional Testing assesses the system's performance attributes such as speed and usability. Variants include performance, security, and usability testing.
Describes specific testing approaches such as Regression, Smoke, Sanity, UAT, and Performance Testing. Each type has unique purposes and triggers, essential to ensure application stability and performance as part of the overall quality assurance strategy. These include:
Choosing the appropriate testing type is pivotal, balancing the context, criticality, and test frequency. Manual and automated tests complement each other. Functional testing qualifies the application's actions, whereas non-functional tests define the application's quality under varying conditions.