Home
SCM Blog
SOX
Build
Agile
CMMI
Six Sigma
ITIL
Sftwr Engineering
Software Testing
Config Mgmt
Release Mgmt
SDP
Subversion
Source Code
Forrester Reports
SCM Jobs
SCM Salaries
Contact Us
SCM EZine
FDD
Disaster Recovery
SCM War Stories

[?] Subscribe To
This Site

XML RSS
Add to Google
Add to My Yahoo!
Add to My MSN
Add to Newsgator
Subscribe with Bloglines

Software Testing

Definition

Software testing measures the completeness, correctness and quality of the software. Because these can be somewhat subjective depending on who is doing the testing, There have been many attempts to formalize testing requirements.

ISO, International Specification Organization, has developed a quality model that includes the following categories.

Efficiency - The relationship between the system performance and the resources required to produce that performance.

Functionality - Does the system do what it is required to do.

  • Accuracy
  • Compliance
  • Interoperability
  • Security
  • Suitability

    Maintainability - Pertaining to the supportability of the software.

  • Readily Changable
  • Readability
  • Stability

    Portability - The ability to move the application into another environment.

  • Adaptability
  • Installation
  • Upgradable

    Reliability - The performance of the system in relation to the required specifications.

  • Recovery
  • System Maturity

    Usability - The end users ability to use the system.

  • Ease of Learning the system
  • Intuitiveness
  • Operability

    Common Software Testing Definitions

    Unit Testing - This is usually done by the developer. This is testing the functionality of the change to verify that the change works.

    Smoke Test - After a successful build, a smoke test is run to ensure the newly developed code does not break the operational system and that the new code is stable enough to be more thoroughly tested.

    Integration Tests - is designed to expose bugs in connectors and interactions between the integrated components of the system.

    System Tests - verify the application meets it's requirements.

    Regression Tests - ensure that previously working functionality continues to work appropriately after new functionality is added.

    Acceptance Tests - are conducted by the end-user to determine if they accept the software is working as required.

    How the test cycle works through the SDLC,

    Software Development Lifecycle

    Define - This is where the requirement analysis is done. During this phase, Testing would analyze what aspects are testable.

    Plan - During the Planning phase, the test strategy and plans are formulated.

    Construction - As the developers start writing the new code, the test cases and sceneries are being scripted.

    Software Testing - This is where the testing and test scripts are being run. This in-turn spurs defect finding and reports. Which leads to retesting and more regression tests.

    Deployment - Final acceptance.


    footer for Software Testing page