Software QA and Testing
Dashboard Download PDF

tags: - cocubes - technical - qa - testing


Software QA and Testing Tools

QA, QC and testing

Term Main focus
Quality assurance process-oriented defect prevention
Quality control product-oriented quality checking
Testing execute/evaluate software to find defects and build confidence

Testing can reveal defects; it cannot prove their complete absence.

Testing levels

Level Scope Typical owner
Unit smallest component/function developer
Integration interaction between components developer/tester
System complete integrated system test team
Acceptance/UAT business/user acceptance customer/business

Testing types

Type Purpose
Functional verify specified behaviour
Performance response time, load, stress, scalability
Security vulnerabilities and protection
Usability ease of use
Compatibility browsers/devices/OSs
Regression check existing features after a change
Retesting confirm a specific reported defect is fixed
Smoke broad critical build check
Sanity focused quick check after a small change

Static and dynamic testing

  • Static testing: no program execution; reviews, inspections, walkthroughs, static analysis.
  • Dynamic testing: execute the software.

Black-box techniques

Technique Method
Equivalence partitioning choose representative values from behaviourally equivalent groups
Boundary value analysis test edges; for valid range 1โ€“100, consider 0, 1, 100, 101
Decision table cover combinations of conditions and actions
State transition test states, valid and invalid transitions

White-box techniques

Use code structure:

  • statement coverage: execute each statement;
  • branch/decision coverage: execute each decision outcome;
  • path coverage: execute possible paths, often impractical for complex code.

Defect lifecycle

Typical states:

New โ†’ Assigned โ†’ Open/In progress โ†’ Fixed โ†’ Retest โ†’ Closed.

Possible alternatives: Reopened, Deferred, Duplicate, Rejected, Cannot reproduce.

Severity = technical/business impact. Priority = urgency/order of fixing. A low-severity typo may have high priority in a public campaign; a severe rare issue may have a different priority depending on risk.

Common tools: know the category, not every feature

Category Examples Purpose
UI automation Selenium, Cypress, Playwright automate web UI checks
Mobile automation Appium automate Android/iOS tests
API testing Postman, SoapUI send/validate API requests
Performance JMeter, LoadRunner simulate load/measure response
Unit testing JUnit, TestNG, pytest automate component tests
Defect/project tracking Jira, Bugzilla record defects/work
Test management TestRail, Zephyr plan and track test cases
CI Jenkins, GitHub Actions run builds/tests automatically

Test case anatomy

A good test case has:

  • identifier and title;
  • preconditions;
  • test data;
  • steps;
  • expected result;
  • actual result and status.

[[03_Technical/Technical_Drills|Technical drills]] ยท [[03_Technical/Software_Development_Methodologies|SDLC]]