Please type your answers in the comment section below
- What are the differences between manual and automated tests?
- What are the differences between functional and non-functional tests?
- Explain the main idea of the following test types:
- Unit tests
- Integration tests
- End-to-end tests
- Smoke tests
Room #3: Lunar Salameh, Mohamad Sheikh Alshabab, Mohammad Elamaireh, Ahmed Ahmed
Q1: What are the differences between manual and automated tests?
1. Manual Testing:
2. Automated Testing:
Q2: What are the differences between functional and non-functional tests?
1. Functional Tests:
It is a type of software testing in which the system is tested against the functional requirements and specifications. Functional testing ensures that the requirements or specifications are properly satisfied by the application.
It is basically defined as a type of testing which verifies that each function of the software application works in conformance with the requirement and specification, Each functionality of the software application is tested by providing appropriate test input, expecting the output and comparing the actual output with the expected output.
2. Non-Functional Tests:
It is a type of software testing that is performed to verify the non-functional requirements of the application. It verifies whether the behavior of the system is as per the requirement or not.
It tests all the aspects which are not tested in functional testing, It is designed to test the readiness of a system as per nonfunctional parameters which are never addressed by functional testing.
Q3: Explain the main idea of the following test types:
- Unit Tests :
Unit tests are designed to test individual units or components of a software application in isolation.� - These tests are typically written by developers and are executed frequently during the development process to catch bugs and errors early on.
The goal of unit testing is to ensure that each unit of the software is working correctly and meeting its functional requirements.
Main Idea:
Unit tests are like checking individual LEGO pieces to ensure each one works correctly.
Developers write these tests to verify that each small part (or unit) of their code behaves as expected.
It's like making sure each component of a car engine functions properly.
- Integration Tests :
Integration tests are used to verify that different units or components of a software application work together correctly.
These tests are designed to test the interactions between different parts of the system to ensure that they are functioning as expected.
Integration tests are typically more complex than unit tests and may require the use of specialized tools and frameworks.
Main Idea :
Integration tests are similar to checking if LEGO pieces fit together correctly.
After testing individual pieces, integration tests ensure that these pieces combine and interact smoothly.
It's like making sure all the parts of a car work well together when assembled.
- End-to-End :
Tests End-to-end tests are used to simulate real-world scenarios and use cases for a software application.
These tests are designed to test the entire system, from start to finish, to ensure that it is functioning correctly and providing the expected results.
End-to-end tests are typically more complex and time-consuming than unit or integration tests and may require the use of specialized tools and frameworks.
Main Idea:
End-to-end tests are like taking a complete car for a test drive.
These tests simulate the entire user journey, checking if the application behaves as expected from start to finish.
It's like ensuring that driving the car (using the complete software) meets user expectations.
- Smoke Tests :
Smoke tests are used to verify that the basic functionality of a software application is working correctly.
Smoke tests are designed to be quick and easy to execute and typically focus on the most critical features and functions of the system.
Main Idea:
Smoke tests are like turning on a new electronic device for the first time to see if it works.
These tests aim to quickly check the basic functionalities of the software to ensure there are no major issues.
It's like making sure the car starts, and basic features like lights and brakes work before going on an extensive test drive.