Stqa
Stqa
Quality: In software, quality refers to how well a product meets customer needs and
expectations. It includes correctness, reliability, usability, efficiency, and
maintainability.
Quality Assurance (QA): QA is a process-oriented approach. It focuses on
improving the development and testing processes to prevent defects. It involves
planning, procedures, and standards to ensure software quality.
Quality Control (QC): QC is product-oriented. It focuses on identifying defects in
the actual software product through testing and reviews.
Feature QA QC
Focus Process Product
Goal Prevent defects Identify defects
Methods Process definition, audits, standards Testing, inspections
When During development After development
SQA Challenges:
1.2 Software Quality Assurance, SQA Planning & Standards (ISO 9000)
These are characteristics that define software quality (based on McCall’s model and ISO
standards):
Testing is a quality gate to ensure that the software behaves as expected before it
reaches users.
It reduces risks, ensures compliance with requirements, and improves product
confidence.
Early and continuous testing improves overall product quality and reduces cost and
effort later in the development lifecycle.
Example: A developer writes "+" instead of "-" → that’s an error. This results in incorrect
calculation → bug/fault. When user sees wrong result → failure.
Testing early saves cost: Fixing defects in early stages (design) is cheaper than fixing
them after deployment.
The cost of not testing (bugs in production) is often higher than the cost of testing.
Balance is needed between test effort and business value.
2.5 Seven Testing Principles
V-Model:
W-Model:
Performed by end-users.
Verifies the system meets business needs.
Final sign-off before release.
2.11.2 Usability
2.11.3 Maintainability
2.11.4 Portability
2.11.5 Security
Smoke Testing: Basic tests to check if the application is stable enough for further
testing. ("Build verification")
Sanity Testing: Quick tests to verify specific functionalities after minor changes.
("Are new features working correctly?")
3. Static & Dynamic Testing
Static Testing:
Dynamic Testing:
3.1.3 Walkthrough
3.1.4 Inspection
Valid: 25
Invalid: -5, 150
Introduce small changes (mutations) in code to test if existing test cases catch them.
Helps evaluate effectiveness of test cases.
Tester
Test Lead
Test Manager
Role: Manages overall test activities for projects, defines strategy, budget, and
ensures quality delivery.
Skills:
o Project management
o Reporting to stakeholders
o Resource & time estimation
o Metrics & reporting
A Test Plan defines the scope, approach, resources, and schedule of intended testing.
IEEE 829 Test Plan includes:
Test Log (IEEE 829): Records test execution details – date, time, tester name,
results.
Defect Density = Total number of defects / size of software (e.g., per 1000 lines of
code)
1. Test Case ID
2. Test Item
3. Input Specifications
4. Output Specifications
5. Environmental Needs
6. Special Procedures
7. Expected Results
8. Actual Results
9. Pass/Fail Criteria
Manages versions and changes to test artifacts (test cases, data, scripts).
Helps ensure:
o Correct version of test scripts are used
o Reproducibility of defects
o Controlled updates and tracking
Project Risk
Product Risk
1. New
2. Assigned
3. Open
4. Fixed
5. Retest
6. Closed or Reopened
Each stage has responsible teams and tools like JIRA/Bugzilla help manage this.
Includes:
1. Defect ID
2. Summary
3. Severity
4. Priority
5. Steps to Reproduce
6. Expected & Actual Results
7. Screenshots/Logs
8. Status (Open, Fixed, etc.)
9. Assigned to
Case Studies
Feature: “Login”
o Positive: Correct email/password → login success
o Negative: Wrong email/password → error message
5. Tool Support for Testing
Software testing tools help automate and manage the testing process to improve efficiency,
accuracy, and coverage.
Benefits:
Open-source
Supports multiple browsers/languages (Java, Python, etc.)
Great for regression testing
5.3.2 JMeter
5.3.3 Postman
Purpose: Verify data is correctly extracted, transformed, and loaded into target
systems (e.g., Data Warehouse)
Popular Tools: QuerySurge, Informatica, Talend
Use Cases:
o Data consistency check
o Null value verification
o Source-to-target data validation
Purpose: Track bugs, manage agile projects (Scrum/Kanban), and test activities
Features:
o Issue tracking
o Sprint planning
o Backlogs, boards, user stories
o Integration with other tools (Bitbucket, Confluence, Selenium)
Benefits:
o Transparency
o Collaboration
o Real-time status updates