Intro Models Documentation Design Scripting Tools Execution Defects Reporting  

An introduction to Software Testing

Testing is one of the most undervalued components of the software development process. That is until something goes wrong in production, then testing is the focus of everyone's attention. In my exerience software usually works unless it hasn't been tested.

There are many phases of testing, some examples are:

Type or level of testing Description
Unit testing Sometimes known as module testing this is usually performed by developers and tests that a module of code meets its functional requirements
Integration testing Groups of code modules or units are integrated and their interfaces are verified against and interface specification
System testing Full end to end testing of a fully integrated system against a system design secification
User acceptance testing Full end to end testing of business processes on a fully integrated system
Performance testing End to end testing of a system usually, driven by a test tool, comparing system response times against a performance specification
Soak testing Endurance testing of a system over a prolonged period of time to ensure there is no system degradation due to memory leaks, disk space exhaustion etc.
White box testing A variation on unit testing where the tester ensures certain code paths are executed, requires code design knowledge
Black box testing A variation on unit testing where the tester has no code design knowledge and derives test case from a functional specification
Usability testing Testing a user interface to ensure it is usable
Security testing Testing a system to ensure it is robust against attack by hackers
Smoke testing Short checks to ensure basic functionality works on a test system. Often used to determine if an environment is testable
Regression testing A set of tests, usually drawn from an earlier test phase, that check that previous working functionality is undisturbed by the introduction of new functionality
Beta testing Early releases of software tested by a limited audience external to the development team prior to formal release
Installation testing Testing that an application installs correctly

The pages that follow describe a typical testing process that can be applied to most of these testing levels or types. They describe the development models, the testing documents that form part of the deliverables, how to approacch test design and scripting, test tools required, how to perform test execution, considerations when raising defects and test and defect reporting.


Home      |      Testing      |      Telecoms      |      Resources      |      Clients      |      Contact
 Copyright © 2016 Chic Computer Consultants. All rights reserved