Enrol to start learning
Reading is open to everyone. Enrolling is free, and it is what unlocks the audio lessons, practice tests and progress tracking.
4.4.1. Summary Table
Learn content
Interactive Audio Lesson
Unlock the classroom podcast
The transcript is free to read. A free account plays the conversation back.
Today, we're diving into the differences between manual and automated testing. Can anyone tell me what manual testing involves?
Is it testing done by people without any tools?
Exactly, Student_1! It's essentially human-led testing. When do you think this kind of testing is most useful?
I think it's used when testing the UI or when we need to explore features.
Right again! Manual testing is great for exploratory tests and one-off scenarios. Now, what about automated testing? Can anyone describe that?
Is it when we use scripts to run tests automatically?
Absolutely! Automated testing is efficient for repetitive tests. Remember the acronym PAS for Pros of Automation: Performance, Accuracy, and Scalability! Let's move on to the types of tests.
Unlock the classroom podcast
The transcript is free to read. A free account plays the conversation back.
Now, let’s discuss functional versus non-functional testing. Can anyone define what functional testing is?
Doesn't it verify what the system does?
Exactly! It checks the system's business logic. Can you give me an example?
Login functionality is one, right?
Spot on! Now, can someone tell me what non-functional testing focuses on?
It looks at how the system performs, like speed and usability.
Great! Just remember: functional testing asks, 'What does it do?' while non-functional asks, 'How well does it do it?'.
Unlock the classroom podcast
The transcript is free to read. A free account plays the conversation back.
Alright everyone, let's discuss some common types of testing. Who can explain what regression testing is?
Isn't it to check that new changes haven't broken anything?
Exactly! It's crucial after code updates. What about smoke testing? Any thoughts?
It's a quick set of tests, right? Like can users log in or the homepage load?
Yes! Think of smoke testing as a basic health check for your application. Now, can anyone tell me what UAT stands for?
User Acceptance Testing, where real users validate the system.
Correct! Always remember, UAT is the final step before the product goes live. You've all done well today!
Overview
Short Summary
This section summarizes different types of testing, comparing manual and automated testing, as well as functional and non-functional testing approaches.
Medium Summary
The summary table categorizes various testing types according to whether they are manual or automated and functional or non-functional. It highlights differences in use cases, examples, and important considerations for QA professionals.
Detailed Summary
Summary Table of Testing Types
This section presents a structured overview of the various types of software testing used in QA. Testing strategies can be divided broadly into two categories: Functional and Non-Functional testing. Each category can further be classified based on whether it is performed manually or through automation.
1. Manual Testing vs Automation Testing
Manual Testing
- Definition: Conducted by humans without automated scripts.
- When to Use: For UI testing, exploratory testing, and one-time tests.
- Pros: Human intuition, flexibility, and effectiveness in UI/UX validation.
- Cons: Time-consuming and less scalable for repetitive tasks.
Automation Testing
- Definition: Uses scripts and tools for testing automation.
- When to Use: For regression, performance, and repetitive tests.
- Common Tools: Selenium, Cypress, JUnit.
- Pros: Faster execution and accuracy.
- Cons: Requires setup and scripting skills.
2. Functional vs Non-Functional Testing
Functional Testing
- Definition: Verifies system functionality according to business logic.
- Examples: Login functionality, form submissions, payment processing.
Non-Functional Testing
- Definition: Tests how the system performs under conditions.
- Examples: Load speed, security, usability, and compatibility.
3. Common Types of Testing
- Regression Testing: Ensures that new changes haven’t disrupted existing features.
- Smoke Testing: Quick tests to check core functionality before further testing.
- Sanity Testing: Focused tests post-fix to ensure specific functionalities work.
- User Acceptance Testing: Validates the system meets business needs.
- Performance Testing: Evaluates system behavior under load.
Final Takeaways
- Choose testing type based on context.
- Manual and automation can complement each other.
- Understand the main differences between functional and non-functional testing.
Audio Book
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- Manual Testing:
- Functional/Non-Functional: Manual UI, ad-hoc, exploratory testing.
Detailed Explanation
Manual testing is a process where human testers execute test cases without the use of automation tools. It's primarily used for exploratory testing or when testing user interfaces (UI) where human intuition is vital. This type of testing is flexible and can adapt to changes during the testing process.
Examples & Analogies
Imagine you're a food critic trying out a new restaurant. You taste each dish, analyze the presentation, and consider the overall experience—all based on your human senses and intuition rather than a pre-defined checklist or automated process.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- Automation Testing:
- Functional/Non-Functional: Automated Regression, repeated test cases.
Detailed Explanation
Automation testing involves using scripts and tools to execute tests automatically. This method is ideal for regression tests and other repetitive tasks, ensuring faster execution and higher accuracy compared to manual testing. However, it requires initial setup and scripting skills.
Examples & Analogies
Think of an assembly line in a factory where robots perform specific tasks repeatedly. This is akin to how automated testing functions, as it systematically executes tests without the need for constant human intervention.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- Regression Testing:
- Functional: Both
- When It’s Used: After updates or bug fixes.
Detailed Explanation
Regression testing is conducted to confirm that recent code changes haven’t adversely affected existing functionality. This type of testing is crucial after any updates or bug fixes to ensure that the system remains stable.
Examples & Analogies
Consider a sandcastle that you've just reinforced after a heavy rain. After making those improvements, you would want to check if the castle still stands strong and hasn’t collapsed in any areas—this is similar to regression testing.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- Smoke Testing:
- Functional: Both
- When It’s Used: Early test after deployment.
Detailed Explanation
Smoke testing is a preliminary type of testing conducted to determine if the basic functionalities of a software build are working correctly. This quick check is essential to ensure that the software is stable enough for more rigorous testing.
Examples & Analogies
Picture a pilot performing a quick safety check before taking off. They ensure essential instruments are functional to confirm that the flight can proceed safely, much like smoke testing checks crucial functions before deeper testing.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- Sanity Testing:
- Functional: Manual
- When It’s Used: Post-fix validation.
Detailed Explanation
Sanity testing is a focused type of testing that verifies whether a specific functionality works correctly after a bug fix or minor changes. This testing ensures that the particular component functions as expected without conducting exhaustive tests.
Examples & Analogies
Imagine you've fixed a flat tire but still want to check if the car drives smoothly afterward. You might take it for a short drive to confirm that the repair was successful without testing every part of the vehicle, similar to sanity testing.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- UAT (User Acceptance Testing):
- Functional: Mostly Manual
- When It’s Used: Final business validation.
Detailed Explanation
User Acceptance Testing (UAT) is the final testing phase where actual users validate if the system meets business requirements and is ready for production. This testing focuses on real-world scenarios, ensuring the application is user-friendly and behaves as expected.
Examples & Analogies
Think of it as a dress rehearsal for a play. The director and actors try out the performance in front of a small audience to see if everything flows well before opening night. UAT helps catch any last-minute issues that need addressing.
Unlock the audio lesson
The script is above and free to read. A free account plays it back, in the voice you pick.
Create a free account- Performance Testing:
- Non-Functional: Automated
- When It’s Used: Load/stress evaluation.
Detailed Explanation
Performance testing assesses how a system performs under various conditions, including normal and extreme loads. This type of testing helps identify bottlenecks and ensure the application remains responsive and stable under stress.
Examples & Analogies
Imagine a marathon runner training for a big race. They practice running not just under normal conditions, but also in hot weather or while fatigued to test their limits, similar to how performance testing evaluates software behavior under stress.
--
Key concepts
Core takeaways and short definitions to help you quickly recall the key ideas from this section.
- Manual Testing:
Conducted by humans without automated tools.
- Automation Testing:
Tests executed automatically using scripts.
- Functional Testing:
Validates what a system is supposed to do.
- Non-Functional Testing:
Assesses how a system performs under various conditions.
- Regression Testing:
Ensures old functions still work after updates.
Examples
Memory aids
Imagine building a new floor on a house (new code). Before opening it to guests (users), check that the old rooms (existing code) are still functional!
Flash Cards
Glossary
Manual Testing
Testing conducted manually by humans without using automated scripts or tools.
Automation Testing
Using scripts or tools to execute tests automatically.
Functional Testing
Verifies what the system does—its business logic and expected outputs.
Non-Functional Testing
Verifies how the system performs, focusing on attributes like speed and usability.
Regression Testing
Tests to verify that new changes haven’t broken existing functionality.
Smoke Testing
A quick set of tests to ensure the core system is stable enough for further testing.
User Acceptance Testing (UAT)
Ensures the system meets business needs and is ready for production.
Performance Testing
Measures how the system behaves under load or stress.