4.4.1 - Summary Table
Enroll to start learning
Youβve not yet enrolled in this course. Please enroll for free to listen to audio lessons, classroom podcasts and take practice test.
Interactive Audio Lesson
Listen to a student-teacher conversation explaining the topic in a relatable way.
Manual vs. Automation Testing
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
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.
Functional vs. Non-Functional Testing
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
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?'.
Common Types of Testing
π Unlock Audio Lesson
Sign up and enroll to listen to this audio lesson
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!
Introduction & Overview
Read summaries of the section's main ideas at different levels of detail.
Quick Overview
Standard
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 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
Dive deep into the subject with an immersive audiobook experience.
Summary of Manual Testing
Chapter 1 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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.
Summary of Automation Testing
Chapter 2 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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.
Summary of Regression Testing
Chapter 3 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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.
Summary of Smoke Testing
Chapter 4 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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.
Summary of Sanity Testing
Chapter 5 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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.
Summary of User Acceptance Testing (UAT)
Chapter 6 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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.
Summary of Performance Testing
Chapter 7 of 7
π Unlock Audio Chapter
Sign up and enroll to access the full audio experience
Chapter Content
- 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
-
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 & Applications
Manual Testing Example: Running through the user interface to ensure all buttons respond correctly.
Automation Testing Example: Using Selenium to run 100 login tests in a fraction of the time it would take manually.
Memory Aids
Interactive tools to help you remember key concepts
Rhymes
If the code changes quick, don't forget to check, else your users might feel a wreck!
Stories
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!
Memory Tools
Remember 'FRPA' for testing types: Functional, Regression, Performance, and Automation.
Acronyms
Use the acronym MARS to remember
Manual
Automated
Regression
Smoke testing.
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.
- NonFunctional 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.
Reference links
Supplementary resources to enhance your learning experience.