Software Testing Flashcards
Basic knowledge of common terms in the software testing industry (4 cards)
Define regression
a return to a former or less developed state. With regards to software - has the state of a software / code / tool / program changed for the worse (regressed) or does it still perform as expected.
What is regression testing?
re-running functional and non-functional tests to ensure that previously developed and tested software still performs as expected after a change. If not, that would be called a regression.
What is Idempotency?
Idempotency is the property of an operation that ensures performing the same action multiple times produces the same outcome as doing it once.
Idempotency is critical for reliability and consistency due to the following reasons:
Network issues can cause API requests to fail or time out. In such cases, clients often retry requests to ensure the operation succeeds. Without idempotency, retries can lead to undesired duplication or data corruption.
Idempotent operations help manage race conditions where multiple requests might be processed simultaneously.
Idempotency provides predictability and stability, ensuring that users don’t encounter inconsistent or erroneous outcomes.
What is the Pareto Priniciple?
The Pareto principle states that for many outcomes, roughly 80% of consequences come from 20% of causes (the “vital few”).
Mathematically, the 80/20 rule is roughly described by a power law distribution (also known as a Pareto distribution) for a particular set of parameters. Many natural phenomena are distributed according to power law statistics. However, this ratio is merely a convenient rule of thumb and is not, nor should it be considered, an immutable law of nature.
- It is an adage of business management that “80% of sales come from 20% of clients.
- Juran applied the observation that 80% of an issue is caused by 20% of the causes to quality issues. Later during his career, Juran preferred to describe this as “the vital few and the useful many” to highlight that the contribution of the remaining 80% should not be discarded entirely.
- Pareto analysis is a formal technique useful where many possible courses of action are competing for attention. In essence, the problem-solver estimates the benefit delivered by each action, then selects a number of the most effective actions that deliver a total benefit reasonably close to the maximal possible one.
Steps to identify the important causes using 80/20 rule:[12]
- Form a frequency of occurrences as a percentage
- Arrange the rows in decreasing order of importance of the causes (i.e., the most important cause first)
- Add a cumulative percentage column to the table, then plot the information
- Plot (#1) a curve with causes on x- and cumulative percentage on y-axis
- Plot (#2) a bar graph with causes on x- and percent frequency on y-axis
- Draw a horizontal dotted line at 80% from the y-axis to intersect the curve. Then draw a vertical dotted line from the point of intersection to the x-axis. The vertical dotted line separates the important causes (on the left) and trivial causes (on the right)
- Explicitly review the chart to ensure that causes for at least 80% of the problems are captured