QA (Quality Assurance) & QC (Quality Control) Terms IV
β What is a Sanity Test? (for Quality Assurance)
A Sanity Test is a quick test to verify that a specific function or feature is working correctly.
πΉ Characteristics of a Sanity Test
β Focuses on core functions β Tests specific parts, not the entire system
β Quick validation β Rapid check to confirm the build is stable
β Part of a regression test β Checks only the essential parts before full testing
β Pass/Fail criteria β If no major issues, the process can proceed to the next stage
π Why Sanity Tests are Needed
After a bug fix or new feature implementation, a sanity test ensures the critical areas are functioning properly before conducting a full regression test.
If a sanity test fails, immediate fixes are required without proceeding to further testing.
π Difference Between Sanity Test and Smoke Test
| Category | Sanity Test | Smoke Test |
|---|---|---|
| Purpose | To verify that the modified feature works | To check if the entire system is operable |
| Scope | Focused on specific functionality | Covers the entire system |
| Execution Time | After bug fixes | After build deployment |
| Test Depth | Relatively deep | Broad but shallow |
| Example | Check login functionality after fixing bug | Ensure all menus open after launching app |
π‘ Summary:
A Sanity Test is a quick check performed after bug fixes to verify if key functionalities are working correctly!
β What is “Spec-out”?
Spec-out refers to the process of clearly defining and documenting features or requirements (specifications).
πΉ Key Characteristics
β Feature Definition β Clearly outline what functionalities are needed
β Requirement Documentation β Provide detailed specs for developers, designers, and QA teams
β Project Planning β A preparatory step before development, testing, and release
π When to Use Spec-out
1οΈβ£ Before developing a new feature
β Organize details of how the feature will be implemented
2οΈβ£ When improving an existing feature
β Document updates and changes
3οΈβ£ For QA and Test Planning
β Define testing standards before writing test cases
π Spec-out Example
β When spec-ing out a login feature:
-
Login method: Email/password, social login (Google, Apple)
-
Password rules: Minimum 8 characters, must include at least one number
-
Failure handling: Limit login after 5 failed attempts for 10 minutes
π‘ Summary:
Spec-out is the process of defining and documenting requirements or features in detail! πβ¨
β What is “Turn Definition”?
Turn Definition refers to defining the criteria for transitions or change of flow in a QA or software development process.
π Key Concepts in Turn Definition
β Transition Criteria β The point where the process moves to the next step due to user actions or system events
β Trigger Events β Specific conditions that cause transitions (e.g., button click, page move)
β Exception Handling β Handling of errors or exceptions during flow transitions
π Use Case Examples
1οΈβ£ User Registration Process
-
Input user info β Send verification code
-
Input code β Complete registration
2οΈβ£ Payment Process Turn Definition
-
Select product β Move to payment page
-
Input payment details β Payment completed
π Checklist Example
| Step | Transition Condition | Exception | Note |
|---|---|---|---|
| Proceed to Login | Click login button | Incorrect password | 5-attempt limit |
| Payment Complete | Enter card info | Card authorization fail | Retry available |
| Signup Complete | Input verification code | Verification failure | Code resend available |
π‘ Summary:
Turn Definition clearly defines the criteria and conditions for transitions in a process!
β What is the Prod Environment?
Prod (Production) Environment is the live environment where the product or service is deployed for end-users.
π Key Characteristics
-
Accessible and used by real users
-
Most stable and verified version of the software
-
Requires high service quality and security
-
Real-time data and transactions occur
π Components of a Prod Environment
| Component | Description |
|---|---|
| Server | Live server running the service |
| Database | Stores real user data |
| Monitoring System | Monitors service status and performance |
| Security System | Manages data encryption and access |
π‘ Comparison with Other Environments
| Environment | Purpose | Data | Stability |
|---|---|---|---|
| Dev | Development and testing | Fake data | Low |
| Staging | Pre-deployment testing | Test data | Medium |
| Prod | Live user operation | Real data | Very high |
π₯ Summary:
Prod Environment is the final stage where the service is deployed and operated for actual users.
β What is the Dev Environment?
Dev (Development) Environment is used for developing and initially testing software.
π Key Characteristics
-
Developers write and modify code here
-
Most flexible environment, high chance of errors
-
Used for new feature development and experimental tasks
-
Uses mock data instead of real data
π Components of a Dev Environment
| Component | Description |
|---|---|
| Code Repository | Git repository for storing code |
| Dev Server | Server for testing implementations |
| Database | Stores test data |
| Debugging Tools | Tools for analyzing errors |
π‘ Comparison with Other Environments
| Environment | Purpose | Data | Stability |
|---|---|---|---|
| Dev | Development and experimentation | Fake data | Low |
| Staging | Pre-deployment testing | Test data | Medium |
| Prod | Live user operation | Real data | Very high |
π₯ Summary:
Dev Environment is a testing space where developers build and experiment with features. π»β¨