Jump to content

Gray-box testing: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Line 44: Line 44:
* Gray Box Testing is suited for '''functional or business domain testing'''. Functional testing is done basically a test of user interactions with may be external systems.As Gray Box testing can efficiently suits for functional testing due to its characteristics; it also helps to confirm that software meets the requirements defined for the software.<ref>{{cite book|last=Bach|first=James|title=Lessons Learned in Software Testing|publisher=Wiley Computer Publishing|url=http://www.amazon.com/exec/obidos/ASIN/0471081124/softwarqaandtest}}</ref><ref>{{cite book|last=Falk|first=Jack|title=Testing Computer Software, 2nd Edition|publisher=Wiley Computer Publishing|url=http://www.amazon.com/exec/obidos/ASIN/0471358460/softwarqaandtest}}</ref><ref>http://legacy.cleanscape.net/docs_lib/paper_graybox.pdf</ref><ref>http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5386499</ref>
* Gray Box Testing is suited for '''functional or business domain testing'''. Functional testing is done basically a test of user interactions with may be external systems.As Gray Box testing can efficiently suits for functional testing due to its characteristics; it also helps to confirm that software meets the requirements defined for the software.<ref>{{cite book|last=Bach|first=James|title=Lessons Learned in Software Testing|publisher=Wiley Computer Publishing|url=http://www.amazon.com/exec/obidos/ASIN/0471081124/softwarqaandtest}}</ref><ref>{{cite book|last=Falk|first=Jack|title=Testing Computer Software, 2nd Edition|publisher=Wiley Computer Publishing|url=http://www.amazon.com/exec/obidos/ASIN/0471358460/softwarqaandtest}}</ref><ref>http://legacy.cleanscape.net/docs_lib/paper_graybox.pdf</ref><ref>http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5386499</ref>
==Future Scope==
==Future Scope==
The distributed nature of Web Services allows Gray Box testing to detect defects within SOA.As we know,White Box testing is not suitable for Web Services as it deals directly with the internal structures.White Box Testing can be use for state art methods; for e.g message mutation which generates the automatic tests for large arrays to help exception handling,states,flow without source code or binaries.Such strategy is useful to push Gray Box testing nearer to the outcomes of White Box testing.


== Refernces ==
== Refernces ==

Revision as of 13:37, 23 October 2011

Introduction

Gray Box Testing is combination of the White box testing and Black box testing. Aim of this testing is to search for the defects if any due to improper structure or improper usage of applications.Gray Box Testing is also known as Translucent Testing. Normally this testing is done by end-users,testers and developers.The distributed nature of Web Services makes Gray Box testing ideal for detecting defects within a SOA.[1][2]

Overview

The Black Box Tester is unaware of internal structure of the application to be tested, whereas White Box Tester knows the internal structure of the application. But the Gray Box Tester knows the internal structure partially which includes the access to internal structures as well as the algorithms for defining the test cases.[3]
Gray Box testers require overall and detailed description of documents with required documents of the application. On state-based models or architecture diagrams of the target system, Gray Box Testing collects the information for defining testcases.[4]

Need for Gray Box Testing

Gray Box Testing is beneficial because it applies straight forward technique of Black Box Testing and influences it against the code targeted systems in White Box Testing.[5]
Gray Box Testing is based on requirement test case generation because it presets all the condition before program is tested by using assertion method. Requirement specification language is used to state the requirements which make easy to understand the requirements and verify its correctness too where input for requirement test case generation is the predicates and the verification discussed in requirement specification language.[6]

Gray Box Testing assumptions for object-oriented softwares

Object oriented softwares consist of objects only; where objects are single indivisble units having programming code or data. Some assumptions are stated below which are needed for the applications which use Gray Box Testing.

  • Activation of Methods[7]
  • State Reporting in Class Under Test (CUT).
  • Report Testing is inherent in Class Under Test.[8]

Examples

Techniques

Cem Kanner defines "gray box testing as involving inputs and outputs, but test design is educated by information about the code or the program operation of a kind that would normally be out of view of the tester".[11] Gray Box testing techniques are:

  • Matrix Testing :- states the status report of the project.
  • Regression testing :- it implies rerunning of the test cases if new changes are made.
  • Pattern Testing :- verify the good application for its design or architecture and patterns.
  • Orthogonal array testing:- used as subset of all possible combination. [12]

Effects

Positive Effects

  • Offers combined benefits: As Gray Box Testing is combination of white box and black box testing , it serves advantages from both the testings.
  • Non Intrusive: It is based on functional specification, architectural view whereas not on source code or binaries which makes it invasive too.
  • Intelligent Test Authoring : Gray Box Tester handles intelligent test scenario, for example, data type handling, communication protocol, exception handling.
  • Unbiased Testing: Inspite of all above advantages and functionalities, Gray Box Testing maintains boundary for testing between tester and developer.[13]

Negative Effects

  • Partial code coverage: In Gray Box testing, source code or binaries are missing because of limited access to internal or structure of the applications which results in limited access for code path traversal.
  • Defect Identification: In distributed applications, it is difficult to associate defect identification. Still, Gray box testing is a boon to find how appropriate these systems throw exceptions and how fine are these exceptions handled in distributed systems having web services environment.[14][15]

Applications

  • Gray Box Testing is well suited for web applications.The Web Applications have distributed network or systems; due to absence of source code or binaries it is not possible to use White Box testing.And Black Box testing is also not used due to just contract between customer and developer,so it is more efficient to use Gray Box testing as significant information is available in Web Services Definiton Language(WSDL).[16]
  • Gray Box Testing is suited for functional or business domain testing. Functional testing is done basically a test of user interactions with may be external systems.As Gray Box testing can efficiently suits for functional testing due to its characteristics; it also helps to confirm that software meets the requirements defined for the software.[17][18][19][20]

Future Scope

The distributed nature of Web Services allows Gray Box testing to detect defects within SOA.As we know,White Box testing is not suitable for Web Services as it deals directly with the internal structures.White Box Testing can be use for state art methods; for e.g message mutation which generates the automatic tests for large arrays to help exception handling,states,flow without source code or binaries.Such strategy is useful to push Gray Box testing nearer to the outcomes of White Box testing.

Refernces

  1. ^ http://research.microsoft.com/pubs/81199/p1-kicillof.pdf
  2. ^ http://eastwest.inf.brad.ac.uk/document/publication/Doungsa-ard-IWS06%20.pdf
  3. ^ http://softwaretestingfundamentals.com/gray-box-testing
  4. ^ http://www.geekinterview.com/question_details/35806
  5. ^ http://www.successful-quality-assurance.com/types-of-software-testing.html
  6. ^ http://www.softwaretestinggenius.com/articaldetails.php?mode=details&qry=435&parent=146
  7. ^ http://pascal-central.com/OOE-stds.html#sect-6.5.8.2
  8. ^ http://www.softwaretestinggenius.com/articaldetails.php?mode=details&qry=435&parent=146
  9. ^ Patton, Ron (July 26, 2005). Software Testing. Sams. p. 2. ISBN 0-672-32798-8.{{cite book}}: CS1 maint: year (link)
  10. ^ http://www.site.uottawa.ca/~ssome/Cours/SEG3203/gboxtesting.pdf
  11. ^ http://aboutqtp10.blogspot.com/2010/07/gray-box-testing-functional-structural.html
  12. ^ http://extremesoftwaretesting.com/Articles/WorldofGrayBoxTesting.html
  13. ^ http://www.crosschecknet.com/soa_testing_black_white_gray_box.php
  14. ^ http://www.crosschecknet.com/soa_testing_black_white_gray_box.php
  15. ^ http://www.sfisaca.org/events/conference04/presentations/E33-Gray-Box-Testing.pdf
  16. ^ http://www.testinggeek.com/gray-box-testing
  17. ^ Bach, James. Lessons Learned in Software Testing. Wiley Computer Publishing.
  18. ^ Falk, Jack. Testing Computer Software, 2nd Edition. Wiley Computer Publishing.
  19. ^ http://legacy.cleanscape.net/docs_lib/paper_graybox.pdf
  20. ^ http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5386499