Types of Testing Flashcards
What is functional testing?
making sure the software does what it’s supposed to do as described by the requirements
(manual and automated)
What is non-functional testing?
how well (or poorly) the software does what it’s supposed to do
Give four examples of non-functional testing.
- performance
how fast does the software load and respond to user actions? - usability
is the software easy to learn and intuitive? - reliability
does it work consistently without crashing or freezing? - security
does it block unauthorized access or data breaches?
What’s a real world example of performance testing?
simulating a large number of users trying to access a website simultaneously
- how long does it take for the product pages to load?
- how responsive are the elements?
- can the website handle increased traffic without crashing?
What’s a real world example of usability testing?
observing real users navigating the app’s features
- can users find how to do certain actions easily?
What’s a real world example of reliability testing?
think of an ATM machine
The test might involve simulating various scenarios like repeated cash withdrawals, power outages, or network disruptions. The test would assess if the ATM continues to function properly despite these challenges, ensuring users can reliably access their money.
What’s a real world example of security testing?
- scanning the app’s code for known vulnerabilities using automated tools
- actively exploiting the vulnerabilities of the app’s functionality thru fuzz testing, where the app is bombarded with invalid data to see how it reacts
What is smoke testing?
a preliminary test performed on a new software build to identify major bugs or critical issues early on
What is (a) goal of smoke testing?
to see if the software is stable enough to warrant further, more in-depth testing
What is smoke testing actually testing?
if the core functionalities pass or fail. do they work and the software is stable enough to proceed?
What is component testing? Give an example.
testing individual software components before they are integrated into the whole application
ex: testing a product search functionality on a website
with component testing, you’re able to identify issues early on that are specifically related to that component
What is integration testing? Give an example.
testing how different software components work together after they’ve been individually tested
What does integration testing focus on?
on the interfaces (connection points) between components and how they exchange data or interact with each other
What are the three levels of integration testing?
- unit-to-unit
- component-to-component
- system integration
Give an example of unit-to-unit integration testing.
Imagine you’re working on a fitness tracker app. At this level, you’d be testing how individual units of code interact. An example:
Unit: A function that calculates the distance walked based on the number of steps taken.
Test: You design a test case that feeds the step count value (one unit) to the distance function and verifies it returns the correct distance value based on the app’s stride length calculation (another unit). This ensures these two small code segments communicate and work together as expected.