Software Testing Geek -Testing Types Software Testing, Testing Geek, Articles, Tutorials and Information on Software Testing. http://www.testinggeek.com/index.php/testing-types Thu, 09 Sep 2010 01:10:50 +0000 Joomla! 1.5 - Open Source Content Management en-gb Gray Box Testing http://www.testinggeek.com/index.php/testing-types/system-knowledge/51-grey-box-testing Grey box testing is the combination of black box and white box testing. Intention of this testing is to find out defects related to bad design or bad implementation of the system.

In gray box testing, test engineer is equipped with the knowledge of system and designs test cases or test data based on system knowledge.

For example, consider a hypothetical case wherein you have to test a web application. Functionality of this web application is very simple, you just need to enter your personal details like email and field of interest on the web form and submit this form. Server will get this details, and based on the field of interest pick some articles and mail it to the given email. Email validation is happening at the client side using Java Scripts.

]]>
System Knowledge Mon, 26 Jan 2009 14:26:01 +0000
White Box Testing http://www.testinggeek.com/index.php/testing-types/system-knowledge/50-white-box-testing White box testing is very different in nature from black box testing. In black box testing, focus of all the activities is only on the functionality of system and not on what is happening inside the system.

Purpose of white box testing is to make sure that
  • Functionality is proper
  • Information on the code coverage

White box is primarily development teams job, but now test engineers have also started helping development team in this effort by contributing in writing unit test cases, generating data for unit test cases etc.

]]>
System Knowledge Mon, 26 Jan 2009 14:21:05 +0000
Blackbox Testing http://www.testinggeek.com/index.php/testing-types/system-knowledge/49-blackbox-testing Probably this is what most of us practice and is used most widely. This is also type of testing which is very close to customer experience. In this type of testing system is treated as close system and test engineer do not assume any thing about how system was created.

As a test engineer if you are performing black box test cases, one thing that you need to make sure is that you do not make any assumptions about the system based on your knowledge. Assumption created in our mind because of the system knowledge could harm testing effort and increase the chances of missing critical test cases.

]]>
System Knowledge Mon, 26 Jan 2009 13:58:40 +0000
Equivalence Partitioning http://www.testinggeek.com/index.php/testing-types/system-knowledge/48-equivalence-partitioning Equivalence partitioning is a software testing technique to minimize number of permutation and combination of input data. In equivalence partitioning, data is selected in such a way that it gives as many different output as possible with the minimal set of data.

If software behaves in an identical way for a set of value, then the set is termed as equivalence class or a partition. It can be assumed safely that functionality of the software will be same for any data value from the equivalence class or partition. In equivalence partitioning, input data is analyzed and divided into equivalence classes which produces different output.

]]>
System Knowledge Mon, 26 Jan 2009 13:53:17 +0000
Boundary Value Analysis http://www.testinggeek.com/index.php/testing-types/system-knowledge/47-boundary-value-analysis Boundary value analysis is the technique of making sure that behavior of system is predictable for the input and output boundary conditions. Reason why boundary conditions are very important for testing is because defects could be introduced at the boundaries very easily. For example, if you were to write code to simulate following condition -

" Input should be greater than equal to 10 and less than 50"

Probably you will write something like

]]>
System Knowledge Mon, 26 Jan 2009 13:34:56 +0000
User Acceptance Testing http://www.testinggeek.com/index.php/testing-types/life-cycle/60-user-acceptance-testing Acceptance Testing is the formal testing conducted to determine whether a software system satisfies its acceptance criteria and to enable buyer to determine whether to accept the system or not.Acceptance testing is designed to determine whether software is fit for use or not. Apart from functionality of application, other factors related to business environment also plays an important role.
]]> Life Cycle Tue, 27 Jan 2009 22:16:50 +0000 System Testing http://www.testinggeek.com/index.php/testing-types/life-cycle/59-system-testing System testing is probably the most important phase of complete testing cycle. This phase is started after the completion of other phases like Unit, Component and Integration testing. During the System Testing phase, non functional testing also comes in to picture and performance, load, stress, scalability all these types of testing are performed in this phase.
]]> Life Cycle Tue, 27 Jan 2009 22:13:44 +0000 Hybrid Integration Testing http://www.testinggeek.com/index.php/testing-types/life-cycle/58-hybrid-integration-testing Top-down and bottom-up, both the types of testing have their advantages and disadvantages. While in top-down integration testing it is very easy to follow the top-down software development process at the same time in bottom-up testing, the code is used mostly is tested repetitively. 
 
]]> Life Cycle Tue, 27 Jan 2009 22:09:13 +0000 Bottom Up Integration Testing http://www.testinggeek.com/index.php/testing-types/life-cycle/57-bottomup-integration-testing In bottom up integration testing, module at the lowest level are developed first and other modules which go towards the 'main' program are integrated and tested one at a time. Bottom up integration also uses test drivers to drive and pass appropriate data to the lower level modules. As and when code for other module gets ready, these drivers are replaced with the actual module. In this approach, lower level modules are tested extensively thus make sure that highest used module is tested properly.

]]>
Life Cycle Tue, 27 Jan 2009 22:06:25 +0000
Top Down Integration Testing http://www.testinggeek.com/index.php/testing-types/life-cycle/56-topdown-integration-testing Top down integration testing is an incremental integration testing technique which begins by testing the top level module and and progressively adds in lower level module one by one. Lower level modules are normally simulated by stubs which mimic functionality of lower level modules. As you add lower level code, you will replace stubs with the actual components. Top Down integration can be performed and tested in breadth first or depth firs manner.]]> Life Cycle Tue, 27 Jan 2009 22:03:00 +0000