The Base for Testers

What's Software Testing?

Home Support Contacts Us Tester Depot My Blog
Page Guide: - definition - reason for testing - tools and resources - how to test software

Main Index

Software testing definitions -

  • Def#1:Software testing is a process used to identify the correctness, completeness and quality of developed computer software computer software.
  • Def#2:Software testing is the process of devising a set of inputs to a given piece of software that will cause the software to exercise some portion of its code. The developer of the software can then check that the results produced by the software are in accord with his or her expectations.

Why software testing is necessary -

  • Any software – excepts the simple "Hello World" program – is often defective.
    Software testing helps to improve the quality of a software product.
  • The design of any real software has limits with end-user's real scenario.
    Software testing helps to solidify the design of a software product.
  • The quicker we identify and fix a bug, the less money we will spend.
    Software testing helps to save money to develop a software product.
  • If software DOESN'T need any testing, software testers will lose their job.
    Software testing helps software tester to make software tester living ;)
  • etc...
Resources for software testing -
  • ACM
    ACM delivers resources that advance computing as a science and a profession.
  • IEEE
    The world's leading professional association for the advancement of technology.
  • ISO
    ISO is a network of the national standards institutes of 156 countries, on the basis of one member per country, with a Central Secretariat in Geneva, Switzerland, that coordinates the system.
  • MSDN
    Microsoft Developer's Network
  • wikipedia
    The free encyclopedia online.
  • Testing Foundations
    A private portal for software testing.
  • Sticky Minds
    A website for software testers and developers.
  • Software Testing Groups online
    All aspects of testing computer systems.
Search for more resources from the Internet...
Google
How software testing is done -
  • Owner
    Typically, software testing is owned by software test engineers (actually there are lots of alias for those guys and gals, namely tester, QA engineer etc. and there responsibility may vary among difference organizations). However, software designer (architects) and software developers (coders) are also owners of software testing. Generally speaking, all the people uses that software are testers of it. But the software tester is the official goalkeeper.
  • Test Cycle
    Although testing varies between organizations, there is a normal cycle to testing:
    1.Requirements Analysis: Testing should begin in the requirements phase of the software life cycle(SDLC).
    2.Design Analysis: During the design phase, testers work with developers in determining what aspects of a design are testable and under what parameter those tests work.
    3.Test Planning: Test Strategy, Test Plan(s), Test Bed creation.
    4.Test Development: Test Procedures, Test Scenarios, Test Cases, Test Scripts to use in testing software.
    5.Test Execution: Testers execute the software based on the plans and tests and report any errors found to the development team.
    6.Test Reporting: Once testing is completed, testers generate metrics and make final reports on their test effort and whether or not the software tested is ready for release.
    7.Retesting the Defects.
    One thing we should take care is that these phases in software testing is not separated. they are connected together closely and often interlaced.
  • Test Methodology
    Observed from different perspectives, there are quite a few different test methodologies.
    From the point of different phases, there are unit test, integration test, system test;
    From the point of the touch on program codes, there are block-box test, white-box test and gray-box test (a mixture of black-box and white-box test);
    From the point of different properties of the software, there are setup test, performance test, stress test, scalability test, functionality test, capability test, etc...


2001-2006 kibase.com. All rights reserved.