Skip to content

Latest commit

 

History

History
55 lines (48 loc) · 3.06 KB

TestAutomation.md

File metadata and controls

55 lines (48 loc) · 3.06 KB

Test Automation

Testing

  • The process of analyzing a software item to detect the differences between existing and required conditions (that is bugs) and to evaluate the features of the SW items
  • Testing is the process of evaluating a system or system components by manual or automated means to verify that it satisfies specified requirements, or to identify differences between expected and actual results
  • Software testing can be stated as the process of validating and verifying that a software program/application/product:
    1. Meets the requirements that guided its design and development
    2. Works as expected
    3. Can be implemented with the same characteristics
    4. Satisfies the needs of stakeholders

Why Testing

  • A defect in software can cause harm to a person,to the environement or to a company
  • Software that does not work correctly can lead to many problems, including loss of money,time or business reputation, and could even injury or death
  • About 40% of the project cost goes to cost of quality
  • A primary purpose of testing is to detect software failures so that defects may be discovered and corrected
  • Testing helps to measure the quality of software in terms of defects found,for both functional and non-functional software requirements
  • Software testing may also be required to meet contractual or legal requirements, or industry-specific standards

Software Testing Life Cycle

  1. Gathering Test Requirements
  2. Test Planning -> Preparing the test strategy & planning
  3. Test Analysis
  4. Test Cases Design -> Creating the testing environment
  5. Test Data Creation/Updating
  6. Test Cases Execution -> Writing the test cases/Creating & Executing
  7. Defect Tracking & Report Generation -> Analyze Bugs and application errors, Analyze result and Bug Report
  8. Testing Signoff -> Formal go ahead from team on the defect free System move to Production

Testing Levels

  1. Functional
    • Unit Testing
    • Integration Testing
    • System Testing
    • Regression Testing
    • Acceptance Testing
  2. Non Functional Testing
    • Performace Testing
    • Usability Testing
    • Securtiy Testing

Testing Methods

  • Static Testing -> Static Testing is a form of software testing where the software isn't actually used. It is primarily checking of the code and/or manually reviewing the code or document to find errors (Probably finding error in Logic)

  • Dynamic Testing -> Dynamic analysis refers to the examination of the physical response from the system to variables that are not constant and change with time

  • In dynamic testing the software must actually be compiled and run. It involves working with the software,giving input values and checking if the output is as expected by executing specific test cases which can be done manually or with the use of an automated process

  • Example: Black box and White Box Testing

Criteria to Stop Testing

  • Testing Deadlines
  • Completion of test cases execution
  • Completion of Functional and code coverage to a certain point
  • Bug rate falls below a certain level and no high priority bugs are identified
  • Management decision