Skip to main content

Black Box Vs White Box Testing


Black Box Testing also known as Behavioral testing is a software testing technique whereby the internal workings of the item being tested are not known by the tester.

For example, when black box testing is applied to software engineering, the tester would only know the "legal" inputs and what the expected outputs should be, but not how the program actually arrives at those outputs. It is because of this that black box testing can be considered testing with respect to the specifications, no other knowledge of the program is necessary

For example, in a black box test on software design the tester only knows the inputs and what the expected outcomes should be and not how the program arrives at those outputs. The tester does not ever examine the programming code and does not need any further knowledge of the program other than its specifications.

Black Box testing attempts to find errors in the following categories: -

  • Incorrect or missing functions.
  • Interface errors.
  • Errors in data structures or external database access.
  • Behavior or performance errors.
  • Initialization and termination errors.

The advantages of this type of Testing include:

  • The test is unbiased because the designer and the tester are independent of each other.
  • The tester does not need knowledge of any specific programming languages.
  • The test is done from the point of view of the user, not the designer.
  • Test cases can be designed as soon as the specifications are complete.
  • More effective on larger units of code than glass box testing
  • Tester needs no knowledge of implementation, including specific programming languages
  • Tester and programmer are independent of each other
  • Tests are done from a user's point of view
  • Will help to expose any ambiguities or inconsistencies in the specifications
  • Test cases can be designed as soon as the specifications are complete

The disadvantages of this type of testing include:

  • The test can be redundant if the software designer has already run a test case.
  • The test cases are difficult to design.
  • Testing every possible input stream is unrealistic because it would take a inordinate amount of time; therefore, many program paths will go untested.
  • Only a small number of possible inputs can actually be tested, to test every possible input stream would take nearly forever
  • Without clear and concise specifications, test cases are hard to design
  • There may be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried
  • May leave many program paths untested
  • Cannot be directed toward specific segments of code which may be very complex (and therefore more error prone)
  • Most testing related research has been directed toward glass box testing

Comments

Popular posts from this blog

PDF Automation in QTP

                                                                            The most challenging issue with PDFs is that it could be of any kind, not just a tabular data; it could have plain text, images or even forms to fill up. So this makes a tester’s life a bit difficult, never mind, we will definitely find an easy of do it… Although there are already some better approaches we have to deal with PDF documents but I found many of us are facing so many difficulties using this. There are lots of queries coming at QTP forums asking for an easy way of doing it with PDFs. keeping those in my mind I started c...

Convert JSON to XML using QTP/UFT/VBScript

Sample Code : Dim strPage,strJSON,objIE strPage = "C:\Jay\JLoader.html" Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate2 strPage While objIE.Busy : Wend strJSON = "{""FirstName"":""Jay"", ""LastName"":""Krishna""}" Set objWin = objIE.document.parentWindow objWin.execScript "var jsonStr2XML = function(strJSON) { return json2xml(JSON.parse(strJSON));};" Msgbox  oWin.jsonStr2XML(strJSON) objIE.Quit In Detail: Converting The most popular data interchange format JSON(JavaScript Object Notation) to XML using QTP/UFT. Parsing JSON in UFT could be a challenge so we will use JavaScript in UFT to make it perfect. SO We need :              Java Script API  - To Convert JSON to XML                         JavaScript Files :  ...

Download Test Resource From QC Using QTP

'########################################################################### '* Function Name: QCGetResource '* Designer: Jay '* Date 09-May-2012 '* This script will Download QC Test Resource to a local dir '########################################################################### Function QCGetResource(resourceName,saveTo)     Set qcConn = QCUtil.QCConnection     Set oResource = qcConn.QCResourceFactory     Set oFilter = oResource.Filter     oFilter.Filter("RSC_FILE_NAME") = resourceName     Set oResourceList = oFilter.NewList     If oResourceList.Count = 1 Then         Set oFile = oResourceList.Item(1)         oFile.FileName = resourceName         oFile.DownloadResource saveTo, True     End If         Set qcConn = Nothing     Set oResource = Nothi...

compare Two Text files using Vb Script

Public Function CompareFiles (FilePath1, FilePath2) Dim FS, File1, File2 Set FS = CreateObject(“Scripting.FileSystemObject”) If FS.GetFile(FilePath1).Size <> FS.GetFile(FilePath2).Size Then CompareFiles = True Exit Function End If Set File1 = FS.GetFile(FilePath1).OpenAsTextStream(1, 0) Set File2 = FS.GetFile(FilePath2).OpenAsTextStream(1, 0) CompareFiles = False Do While File1.AtEndOfStream = False Str1 = File1.Read(1000) Str2 = File2.Read(1000) CompareFiles = StrComp(Str1, Str2, 0) If CompareFiles <> 0 Then CompareFiles = True Exit Do End If Loop File1.Close() File2.Close() End Function Return value: The function returns 0 or False if the two files are identical, otherwise True. Example: File1 = “C:\countries\apple1.jpg” File2 = “C:\countries\apple3.jpg” If CompareFiles(File1, File2) = False Then MsgBox “Files are identical.” Else MsgBox “Files are different.” End If    Source: Mercury Forum’s KB articles

Close All Opened Browsers Except HP Quality Center/ALM

Option : I Function  CloseIEExceptALM()                 On   Error   Resume   Next         iCurItr = 0         bExit =  False          Do                           Set  objDlg = Dialog("regexpwndtitle:=.*Internet Explorer.*","Index:=" & iCurItr)              If  Dialog("regexpwndtitle:=.*Internet Explorer.*","Index:=" & iCurItr).Exist(0)  Then                  If  objDlg.WinButton("text:=Cancel","Index:=0").Exist(0)  Then  ...