1. Software Testing
Software testing is the process of evaluating and verifying that a software product or application does what it is supposed to do. The benefits of testing include preventing bugs, reducing development costs, and improving performance.
Common Types of Software Tests:
- Unit Testing: Testing individual components or functions of the software in isolation.
- Integration Testing: Verifying that different modules or services used by your application work well together.
- End-to-End (E2E) Testing: Testing the entire software product from beginning to end to ensure the application flow behaves as expected.
- Performance Testing: Testing how the software performs in terms of responsiveness and stability under a particular workload.
- Usability Testing: Testing how easy it is for a user to understand, learn, and operate the software.
Example Test Case / Bug Report:
ID: BUG-0042
Title: User cannot log in with a valid email containing a plus (+) symbol.
Steps to Reproduce:
- Navigate to the login page.
- Enter a valid registered email with a '+' alias (e.g.,
[email protected]). - Enter the correct password.
- Click "Login".
Expected Result: The user should be successfully logged in and redirected to their dashboard.
Actual Result: An error message "Invalid email format" is displayed.
Priority: High
2. A/B Testing (Marketing & Product)
A/B testing (also known as split testing) is a method of comparing two versions of a webpage, app, or marketing campaign against each other to determine which one performs better.
Common Metrics for A/B Tests:
- Conversion Rate: The percentage of users who take a desired action (e.g., signing up, making a purchase).
- Click-Through Rate (CTR): The percentage of users who click on a specific link.
- Bounce Rate: The percentage of visitors who navigate away from the site after viewing only one page.
Example A/B Test Scenario:
- Hypothesis: Changing the "Buy Now" button color from blue to green will increase the number of clicks and purchases.
- Version A (Control): The original page with a blue "Buy Now" button.
- Version B (Variant): The new page with a green "Buy Now" button.
- Procedure: Show Version A to 50% of website visitors and Version B to the other 50%.
- Success Metric: A statistically significant increase (e.g., >5%) in clicks on the "Buy Now" button for Version B.
3. Statistical Hypothesis Testing
In statistics, a hypothesis test is a formal procedure for investigating our ideas about the world using data. It's a way of testing a claim or hypothesis about a parameter in a population, using data measured in a sample.
Key Concepts:
- Null Hypothesis (H0): A statement that there is no effect or no difference. This is the hypothesis that the researcher is trying to disprove.
- Alternative Hypothesis (H1 or Ha): A statement that there is an effect or a difference.
- p-value: The probability of observing data as extreme as, or more extreme than, what was actually observed, assuming the null hypothesis is true. A small p-value (typically ≤ 0.05) is evidence against the null hypothesis.
Example:
- Research Question: Does a new drug lower blood pressure?
- Null Hypothesis (H0): The new drug has no effect on blood pressure. The average change in blood pressure is zero.
- Alternative Hypothesis (H1): The new drug does lower blood pressure. The average change in blood pressure is less than zero.
- Conclusion (Example): After a clinical trial, the calculated p-value is 0.01. Since this is less than 0.05, we reject the null hypothesis and conclude that the new drug has a statistically significant effect on lowering blood pressure.