This is an old revision of the document!


Condensation of software testing tutorial here.

  • Use library routines as much as possible.
  • Use REGEX parsers to validate input, this forces you to clarify valid input.
  • Library packages frequently come with userspace demo programs.
  • Emphasize libraries to identify dependencies.
  • Selenium
  • QTP
  • Jmeter
  • Loadrunner
  • TestLink
  • Quality Center (ALM)

Verification of Application Under Test (AUT).

Types:

  • functional
    • unit
    • integration
    • smoke
    • user acceptance (UAT)
    • interoperability
  • non-functional
    • performance
    • endurance
    • load
    • volume
    • scalability
    • usability
  • maintenance
    • regression
    • maintenance

Non-technical skills:

  • analytical
  • communication
  • time management/organizational

Technical skills:

  • database/SQL
  • test management tools
  • defect tracking tools
  • automation tools
  • Exhaustive testing is generally not possible.
  • Defect clustering (most defects clustered in small number of modules)
  • Pesticide paradox (same tests gradually become ineffective)
  • Presence of defects
  • Absence of error
  • Early testing
  • Testing is context dependent
  • SDLC: Software development life cycle
  • STLC: Software test life cycle
  • V Model: combination of the above

Each phase has entry criteria and exit criteria:

  • Requirements analysis
    • functional vs non-functional
  • Test planning
  • Test case development
  • Environment setup
  • Test execution
  • Test cycle closure
  • acceptance
  • integration
  • system
  • unit
  • white vs black box

Why?

  • Manual Testing of all workflows, all fields, all negative scenarios is time and money consuming
  • It is difficult to test for multilingual sites manually
  • Automation does not require Human intervention. You can run automated test unattended (overnight)
  • Automation increases the speed of test execution
  • Automation helps increase Test Coverage
  • Manual Testing can become boring and hence error-prone.

Stuff that can be automated:

  • Smoke Testing
  • Unit Testing
  • Integration Testing
  • Functional Testing
  • Keyword Testing
  • Regression Testing
  • Data Driven Testing
  • Black Box Testing
  • isolate a section of code and verify its correctness

Coverage testing categories:

  • statement
  • decision
  • branch
  • condition
  • finite state machine
  • software_testing.1564845976.txt.gz
  • Last modified: 2019/08/03 15:26
  • by rpjday