Learn
Games

Interactive Audio Lesson

Listen to a student-teacher conversation explaining the topic in a relatable way.

Manual vs. Automation Testing

Unlock Audio Lesson

Signup and Enroll to the course for listening the Audio Lesson

Teacher
Teacher

Today, we're diving into the differences between manual and automated testing. Can anyone tell me what manual testing involves?

Student 1
Student 1

Is it testing done by people without any tools?

Teacher
Teacher

Exactly, Student_1! It's essentially human-led testing. When do you think this kind of testing is most useful?

Student 2
Student 2

I think it's used when testing the UI or when we need to explore features.

Teacher
Teacher

Right again! Manual testing is great for exploratory tests and one-off scenarios. Now, what about automated testing? Can anyone describe that?

Student 3
Student 3

Is it when we use scripts to run tests automatically?

Teacher
Teacher

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

Signup and Enroll to the course for listening the Audio Lesson

Teacher
Teacher

Now, let’s discuss functional versus non-functional testing. Can anyone define what functional testing is?

Student 4
Student 4

Doesn't it verify what the system does?

Teacher
Teacher

Exactly! It checks the system's business logic. Can you give me an example?

Student 1
Student 1

Login functionality is one, right?

Teacher
Teacher

Spot on! Now, can someone tell me what non-functional testing focuses on?

Student 2
Student 2

It looks at how the system performs, like speed and usability.

Teacher
Teacher

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

Signup and Enroll to the course for listening the Audio Lesson

Teacher
Teacher

Alright everyone, let's discuss some common types of testing. Who can explain what regression testing is?

Student 3
Student 3

Isn't it to check that new changes haven't broken anything?

Teacher
Teacher

Exactly! It's crucial after code updates. What about smoke testing? Any thoughts?

Student 4
Student 4

It's a quick set of tests, right? Like can users log in or the homepage load?

Teacher
Teacher

Yes! Think of smoke testing as a basic health check for your application. Now, can anyone tell me what UAT stands for?

Student 1
Student 1

User Acceptance Testing, where real users validate the system.

Teacher
Teacher

Correct! Always remember, UAT is the final step before the product goes live. You've all done well today!

Introduction & Overview

Read a summary of the section's main ideas. Choose from Basic, Medium, or Detailed.

Quick Overview

This section summarizes different types of testing, comparing manual and automated testing, as well as functional and non-functional testing approaches.

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

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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)

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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

Unlock Audio Book

Signup and Enroll to the course for listening the Audio Book

  • 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.

Definitions & Key Concepts

Learn essential terms and foundational ideas that form the basis of the topic.

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 & Real-Life Applications

See how the concepts apply in real-world scenarios to understand their practical implications.

Examples

  • 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

Use mnemonics, acronyms, or visual cues to help remember key information more easily.

🎵 Rhymes Time

  • If the code changes quick, don't forget to check, else your users might feel a wreck!

📖 Fascinating 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!

🧠 Other Memory Gems

  • Remember 'FRPA' for testing types: Functional, Regression, Performance, and Automation.

🎯 Super Acronyms

Use the acronym MARS to remember

  • Manual
  • Automated
  • Regression
  • Smoke testing.

Flash Cards

Review key concepts with flashcards.

Glossary of Terms

Review the Definitions for terms.

  • Term: Manual Testing

    Definition:

    Testing conducted manually by humans without using automated scripts or tools.

  • Term: Automation Testing

    Definition:

    Using scripts or tools to execute tests automatically.

  • Term: Functional Testing

    Definition:

    Verifies what the system does—its business logic and expected outputs.

  • Term: NonFunctional Testing

    Definition:

    Verifies how the system performs, focusing on attributes like speed and usability.

  • Term: Regression Testing

    Definition:

    Tests to verify that new changes haven’t broken existing functionality.

  • Term: Smoke Testing

    Definition:

    A quick set of tests to ensure the core system is stable enough for further testing.

  • Term: User Acceptance Testing (UAT)

    Definition:

    Ensures the system meets business needs and is ready for production.

  • Term: Performance Testing

    Definition:

    Measures how the system behaves under load or stress.