Software Testing

Software Testing is the system with the intent of finding errors andit aims at evaluating an attribute or capability of a program or system and determining that it meets its required results.

Most of the defects in software are design errors, not manufacturing defects. Software does not suffer from corrosion, wear-and-tear generally it will not change until it upgrades.

Discovering the design defects in software, is equally difficult, for the same reason of complexity. Because software and any digital systems are not continuous, testing boundary values are not sufficient to guarantee correctness. All the possible values need to be tested and verified, but complete testing is infeasible. If inputs from the real world are involved, the problem will get worse, because timing and unpredictable environmental effects and human interactions are all possible input parameters under consideration.

Testing is an integral part in software development. It is broadly deployed in every phase in the software development cycle. Typically, more than 50% percent of the development time is spent in testing.

A Test case is a software testing document, which consists of event, action, input, output, expected result, and actual result.

The Test script is the combination of a test case, test procedure, and test data. Initially the term was derived from the product of work created by automated regression test tools. Today, test scripts can be manual, automated, or a combination of both.

Testing is usually performed for the following purposes:

  • To improve quality : Quality means the conformance to the specified design requirement. Debugging, a narrow view of software testing, is performed heavily to find out design defects by the programmer. The imperfection of human nature makes it almost impossible to make a moderately complex program correct the first time. Finding the problems and get them fixed is the purpose of debugging in programming phase.
  • For Verification & Validation (V&V) : Another important purpose of testing is verification and validation (V&V). Testers can make claims based on interpretations of the testing results, which either the product works under certain situations, or it does not work. We can also compare the quality among different products under the same specification, based on results from the same test.
  • For Reliability Estimation : Software reliability has important relations with many aspects of software, including the structure, and the amount of testing it has been subjected to. Based on an operational profile (an estimate of the relative frequency of use of various inputs to the program testing can serve as a statistical sampling method to gain failure data for reliability estimation.
  • Testing Methodology : Testing as a practice needs to be initiated in parallel to the usual software Development Life Cycle. The start in the initial phases gives a complete picture of the scope and boundaries on the project and accordingly test cases can be effectively prepared. The following diagram gives the details of the several phases of Software Testing Life Cycle that is currently employed.
  • Bug Tracking : Bug tracking is best done with a bug tracking program. Programs don't forget about bugs. They allow you to sort the bugs by assigned engineer, importantance and other useful fields.

Types of Testing:

Mothersys offers its customers Test Engineers with excellent analytical, problem solving and judgment skills. At Mothersys we use the test products as our automated test solution.

  • Performance, Load, Stress and Scalability Testing
  • Regression Test Automation
  • Functional Testing
  • Integration Testing
  • Security Testing
  • Test Planning
  • Manual Testing
  • Web Testing
Top