Software Testing: Part 1
The other day a friend asked me what a tester does. In other words what is software testing? What’s a bug? What are the key terms associated with testing? This is a humble attempt to address these questions and initiate the uninitiated to the world of testing.
Software Testing is a process of software analysis and defect detecting. It’s the art (pun intended) of identifying as many defects as possible in order that they can be fixed. A Defect (bug) is the non conformance to requirements or functional specification. It is something that does not correspond to valid Customer’s expectations that are assumed but may be not described in product requirements.
The Test Manager in conjunction with the Project Manager develops a Test Plan which describes what, when, how and who will be involved in the testing process. This basic document also describes a list of tested components, quality criteria and risks of testing, resources and graphs of testing, testing strategy and testing types test budget etc.
The test lead/ senior test Engineer develops Test cases which is basically a set of test inputs, execution conditions, and expected results developed for a particular objective, such as to exercise a particular program path or to verify compliance with a specific requirement.
Classification of Testing Types:
Static Testing is a process, which is used for verifying any work product in terms of code, requirements, functional specification, architecture and design documents, etc. Static testing is one of the most effective ways of defects detecting in the early stages of a product process.
Dynamic Testing Dynamic testing consists of launching the program, running all functional modules and comparing the product’s behavior with expected one using user interface.
Black box testing. Testing software based on functional and business requirements at launching and operating it without knowledge of the internal structure or program source code. A tester tests a product so as an end-user would work with it at the time of its launch and operation. This method checks the proper working of all functions and whether they conform to functional requirements.
White box testing (glass box testing). The Tester uses his or her understanding of source code and accesses the code to develop and execute test cases. This method tests the architecture of the system. It tests the design and programming that goes into building system. White box testing is usually applied when application is not entirely assembled, but it’s necessary to check each of the components, modules, procedures and sub-functions.
Unit Testing. This level of testing is usually carried out by the software developer to perform the testing of a separate module of the system. It may be a testing even of any particular part of the code (class).
Integration Testing. Is the testing of various components of an application (in their integrated form) to determine if they function well together. Also, interactions between applications of big system can be checked with this type of testing. In this case this testing is known as Cross-product testing. Usually it is performed after unit and functional testing has been carried out.
System Testing refers to that type of testing which checks the operation of the system as a whole. It is usually associated with the testing of the functional as well as non-functional requirements of the system.
Functional testing is the process of attempting to find discrepancies between the program and its functional requirements or specifications. Its goals are
1. Defining defects in software product and its documenting
2. Determine if software meets its requirements as defined in the Software requirements Specification (SRS) and other relevant documents.
3. Take an objective decision about possibility of software product delivery to customer; the decision should be documented in test result report.
Smoke Test It is the first and the shortest test, which checks the basic functionality of software product. This test takes approximately 1-4 hours depending on program complexity, A smoke test helps the Test lead to take a decision as to whether to continue further testing or not.
The Author Prakash T.C.is a Support Manager at http://www.binaryspectrum.com/
Article Source: http://EzineArticles.com/?expert=Prakash_Chakkunny
Labels: Software Testing Part 1
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home