Skip to content

Instantly share code, notes, and snippets.

@halitbatur
Created January 29, 2024 12:08
Show Gist options
  • Save halitbatur/d2e551cc5aafdc1abeed1b22784be2f3 to your computer and use it in GitHub Desktop.
Save halitbatur/d2e551cc5aafdc1abeed1b22784be2f3 to your computer and use it in GitHub Desktop.
Testing Disucssion

Test types discussion

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
@fedabaqain
Copy link

Team name : Feda , hammam, Momena,ramah
Q1- a test refers to a piece of code that can be run to verify the behavior of a program.
manual testing, you perform the tests step by step without the help of tools and involves humans testing and interacting, whereas in automated testing, tests are executed automatically using automation tools & frameworks. like Jest.


Q2- Functional testing checks the application's processes against a set of requirements or specifications and is done based on the business requirement. Non-functional testing assesses application properties that aren't critical to functionality but contribute to the end-user experience, like performance and reliability under load and customer expectation and Performance requirement.


Q3- Unit Test : test a small unit of code, such as a function or a component. Unit tests are very low level.
Integration test : While unit tests always take results from a single unit, such as a function call, integration tests may aggregate results from various parts and sources and also Multiple parts of a system can be tested An example of this would be a test that starts a frontend and a backend.

E2E test : End-to-end testing (E2E testing) is a testing method that evaluates the entire application flow, from start to finish. It ensures that all components work as expected and the software application functions correctly in real-world scenarios. these are much harder to maintain, as you need to set up a backend, a database, and a frontend in a test environment and have them all work together. E2E testing is usually performed after integration testing, which tests individual modules,

Smoke testing is the practice of testing fundamental and core elements of a software program in the early phases of development to identify minor issues that might delay the product’s release.

At its core, smoke testing is used to establish whether the released software build is reliable or not. Smoke testing allows the quality assurance (QA) team to continue with additional software testing. It comprises a minimal collection of tests executed on every build to verify the software’s operation.

@mohmmadms
Copy link

Mohmmad smadi , Sanad Alshobaki , Hakimah Ismail , Nour kayyali.
Room 2

Q1: Manual testing is done in person, by clicking through the application or interacting with the software and APIs with the appropriate tooling.

Automated tests, on the other hand, are performed by a machine that executes a test script that has been written in advance. These tests can vary a lot in complexity, from checking a single function to making sure that performing a sequence of complex actions in the UI leads to the same results

Q2:
1-Purpose:
Functional tests ensure that software behaves according to specified requirements.
Non-functional tests evaluate attributes like performance, security, and usability.

2-Scope:
Functional tests focus on specific features and functionalities.
Non-functional tests address broader system qualities beyond individual functionalities.

3-Measurability:
Functional tests determine if software functions correctly (pass/fail).
Non-functional tests measure attributes against benchmarks or thresholds.

basically :
functional tests validate functionality, while non-functional tests assess system attributes and qualities. Both are integral to ensuring software quality and reliability.

Q3:

Unit Testing: to isolate written code to test and determine if it works as intended.

Integration tests verify that different modules or services used by your application work well together. These types of tests are more expensive to run as they require multiple parts of the application to be up and running.

End-to-end testing: replicates a user behavior in a complete application environment.

Smoke tests: smoke tests means verifying the important features are working and there are no showstoppers in the build that is under testing

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment