6
International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net 1442 Comparison of software testing review Black Box and White Box and Gray Box 1,* Mahdi babaeian 2 Vajihe ghasemiyan 3 Reza Nourmandi-pour 1,* Department of Computer, Science and Research branch, Islamic Azad University, Sirjan, Iran [email protected] 2 Department of Computer, Science and Research branch, Islamic Azad University, Sirjan, Iran [email protected] 3 Department of Computer, Sirjan branch, Islamic Azad University, Sirjan, Iran [email protected] Abstract According to the basic needs of the growing market for software and community software products, process, software testing, both in terms of quality and reliability are important. The problem with most software testing is too low. In this article, we define the testing software and its goals and then testing different software debugging software to fully explain. After a full explanation cycle software testing, test methods include: Black Box and White Box and Gray Box provided and the differences and advantages and disadvantages of the three methods evaluated. And better methods have identified three methods of software testing. Keywords- software testing, software testing cycle, Black Box, White Box, Gray Box

Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

Embed Size (px)

Citation preview

Page 1: Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net

1442

Comparison of software testing review

Black Box and White Box and Gray Box

1,* Mahdi babaeian 2 Vajihe ghasemiyan 3 Reza Nourmandi-pour

1,*Department of Computer, Science and Research branch, Islamic Azad University, Sirjan, Iran [email protected]

2Department of Computer, Science and Research branch, Islamic Azad University, Sirjan, Iran [email protected]

3Department of Computer, Sirjan branch, Islamic Azad University, Sirjan, Iran [email protected]

Abstract

According to the basic needs of the growing market for software and community software products, process, software testing, both in terms of quality and reliability are important. The problem with most software testing is too low. In this article, we define the testing software and its goals and then testing different software debugging software to fully explain. After a full explanation cycle software testing, test methods include: Black Box and White Box and Gray Box provided and the differences and advantages and disadvantages of the three methods evaluated. And better methods have identified three methods of software testing.

Keywords- software testing, software testing cycle, Black Box, White Box, Gray Box

Page 2: Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net

1443

Introduction As we see software sales market gradually grows, so quality and product reliability is one of the most fundamental issues is the software production process. Software testing process that measures the quality of computer software. Software testing include the implementation of a program aimed at finding software bugs, but is not limited to it. Quality is not absolute, Quality is not absolute, but relative to different people. With this picture, testing can never completely prove the correctness of custom computer software.

An important point is that software testing, must be considered from different points of view of software quality assurance, which is associated with all areas of the business process, not just the areas of testing.

To check the quality of the testing criteria or metrics exist; based on the decisions about the status of the application under test, the time for release of the software, and so did the risk of the release of the software. Tests are very different and varied metrics and far more numerous and indefinite. To select the appropriate application-specific metrics that we have information on different metrics and use them.

In 2010, there was another problem in the Tokyo stock market and because of problems with system operation was suspended for 12 days. Reported reason for the error, server did not initialize memory. Could not be initialized memory under certain conditions [1]. So it is clear that to deliver the right product and reliable to the user, the application must be fully tested. All the errors and problems that cause the application to be useless, should be identified and resolved.

Software Testing The purpose of software testing is knowing whether or not the software is correct. With this view, product testing software, like other products. But unlike other tangible goods, software has different problems. Because users do not see the software application problems, unless these problems are apparent under certain conditions. When we work with a tangible product, Possible before the problem, mark it will receive. In other words, as long as certain conditions are not tested, Software just works normally.

In general it can be said, the problems in the application because of the weakness of their test. Due to the increasing complexity and proliferation of applications, the importance of software testing gradually increase. So testing problems also gradually increased. The purpose of software testing

a. The increase in software quality b. Examine the system to meet the needs and Reliability c. identify weaknesses, errors and wrong application [5].

difference test software debugging software Because most people do not know the difference between software testing and debugging is possible in the early days of programming, control or failure of our program [2]. Because these little bugs called Bug and to try to fix the bugs also Debugging (debug ) it is said. Because software testing related to debugging. Therefore, these two should be separated.

Difference between the two in Table 1 below. Although both aim to improve the quality of software, but debugging, software bugs cater

but the test detects software vulnerabilities which includes aspects of the system there is software that works [4].

In other words, debug, profile satisfies the predetermined while the test detects a condition that makes it difficult for users. Problem identified by the debugging, it can bring the logic expected in the original plan are not met or the content of the application forms has occurred. On the other hand, system errors that are identified by software testing, Risks for users and software

The software should be designed and implemented to prevent these errors [3].

Page 3: Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net

1444

If the programmer is used as a software tester bug likely will not be detected when available.

Cycle software testing Although the software testing process in different organizations, however, software testing has the following cycle:

a. Analysis of needs: needs analysis phase of the life cycle of software testing should be performed. b. Design Analysis: In this phase, testers and designers work to determine which part of the design test

and which parameters should be used when testing. c. Test design: In this stage testing strategy becomes clear. d. Run the test: the test run and test their software providers and any errors are reported to the developer. e. Test Report: After the testing was completed, recent test results in the form of a report that and

determines whether software is usable or not [6].

Software testing methods In general, we discussed four ways in software testing. These include: Testing Black Box and White Box testing and Gray Box

testing and TDD. And then the main difference between Black Box and White Box test methods cover and at the end of the advantages and disadvantages of the four methods of software testing and review.

V-I-testing Black Box

Black-box testing is based on the assumption that the test is not aware of the contents and software algorithms. This test is done by a team of testers or end users. It is sometimes also called functional test, a test that has no internal mechanism of a system or a significant tool and only on the output generated based on the input selected and focused terms of performance [7]. Figure 1 shows the Black Box testing scheme.

Figure 1: Scheme Testing Black Box [7]

V.I.I-test techniques Black Box

a. The range of values: This technique is used to reduce test case. In this technique, the initial and final values are analyzed. This means that a larger amount than the maximum amount allowed and a little less than the smallest allowable value is selected.

b. division: This technique is a way to limit the Test Case. The data is divided into two licit and illicit and both are used in the testing process.

c. guess error: The previous experience and weak human use [9]. V.II-Testing White Box

This is done by looking closely at the software has created a test based on the condition and inner rings are software codes. Which is sometimes also called structural testing, a test in which the internal mechanism of the system

input program output output

Page 4: Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net

1445

is also tested. Figure 2 shows the scheme of White Box Testing.

Figure 2: Scheme Testing White Box [9]

This method can cover all software codes.

Naming the colors is due to testing methods, the transparency test to be determined.

In testing Black Box testing software program does not have access to the source code. The application can be considered as a black box inside the box is not visible. Tester knows only one data series should be inserted into software and to exchange data software will generate a series of output. The White Box Testing focused on the internal structure of the code is [12]. White Box Tester knows the code and data structure designed to test the specific method to be performed with certain parameters. Therefore, unlike testing Black Box, White Box Testing requires knowledge of programming.

V-III-testing Gray Box

The way to test software with little knowledge of the internal workings of the program. This test is a combination of black box testing. Gray-box testing the internal structure and structure documentation program knows all the data has access. This enables access to good algorithms used and combine them to better Test Case design.

Compare the three methods of software testing As you know, in black box testing the internal structure of the program do not know but the white-box testing are fully aware of the internal structure. But in the gray

box testing is aware to some extent of the internal structure of the program, which includes access to internal data structures and algorithms for Test Case is designed.

input output

int

callinfunction()

{long int test1:

Int test2;

Page 5: Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net

1446

Software testing methods Advantages Disadvantages

Testing Black Box

1. find out the problems in the application

2. Cheap, wasting less time to do the test 3. No need for expertise in programming and program codes 4. Ddifferent people can do this test

1. Lack of knowledge of software algorithms

2. Lack of expertise testers

3. All, including the lack of testing

Testing White Box

1. Understanding what type of data input and output for software testing is appropriate, it is easier 2. Proficiency testing program on code

1. Testing must be an expert.

2. Check out all the lines is impossible and debugging work is very difficult.

Gray Boxx Testing

1. Combined Methods Non-Intrusive Intelligent design tests 2. Avoid irrelevant tests

1. Partial coverage

2. Defects identified

Conclusion The volume of applications is increasing day by day. The software of time and resources to spend on analysis and software testing. The

purpose of software testing is also to know whether the product properly and in accordance with user requirements or not. Software testing and debugging software is different. Debugging, software bugs to fix, and while software testing, software bugs are identified. Software testing cycle includes the

processes of requirements analysis, design analysis, test design, test execution and test reports are fully described.

There are several ways to test software in this article we have discussed three ways such as Black Box testing the internal structure of the program do not know and tester to the tested system does not care and aim just now is a series of data as input and output. And if the expected outcomes in terms of inputs, then the software is correct. But the white-box testing are fully aware of the internal structure. And have access to source code and can generate test data in accordance with the code. White Box Testing Black Box Testing Unlike programming knowledge is required. But Gray Box testing somewhat aware of the internal structure of the program, which includes access to internal data structures and algorithms for Test case is designed. Gray Box testing and White Box Black Box is a combination of two methods: So the advantages of both can be used.

Gray Box Testing Black Box and White Box Test against which the test is carried out only in the user interface, Test Gray Box, tester design and structure of the database has access to documentation. This document tester enables better data and test scenarios to better

prepare for the test design. Gray Box provides a complete system inspection from both the perspective of development and malicious hacker, the test program. The test complete coverage of a wide range of vulnerabilities and potential risks to the system is, is.

Page 6: Comparison of software testing review Black Box and · PDF fileComparison of software testing review Black Box and White ... Box Black Box is a combination ... Gray Box Testing Black

International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net

1447

References [1] Nikkei ITpro, Tokyo Stock Exchange New Derivative Selling/Buying System Restored,due to initialization

error of the memory :http://itpro.nikkeibp.co.jp/article/NEWS/200802 12/293526 [2] B. Beizer, Software Testing Techniques.London: International Thompson Computer Press, 1990. [3] L. Copeland, A Practitioner's Guide to Software Test Design. Boston: Artech House Publishers, 2004. [4] P. Godefroid. Compositional Dynamic Test Generation.In Proceedings of POPL’2007 (34th ACM

Symposium on Principles of Programming Languages), pages 47–54,Nice, January 2007. [5] Zweben S, Heym W, Kimmich J. Systematic testing of data abstractions based on software specifications. J.

Software Testing, Verificationand Reliability, 1992, 1(4): 39-55. [6] Edwards SH. Black-box testing using flowgraphs: An experimental assessment of effectiveness and

automation potential. Software Testing, Verification and Reliability, Dec. 2000; 10(4), pp. 249-262. [7] B. S. Gulavani, T. A. Henzinger, Y. Kannan, A. V.Nori, and S. K. Rajamani. Synergy: A new algorithm for

property checking. In Proceedings of the14th Annual Symposium on Foundations of Software Engineering (FSE), 2006.

[8] J. C. King. Symbolic Execution and Program Testing. Journal of the ACM, 19(7):385–394, 1976. [9] B. Korel. A Dynamic Approach of Test Data Generation. In IEEE Conference on Software Maintenance,

pages 11–317, San Diego, November 1990. [10] D. Molnar and D. Wagner. Catchconv: Symbolic execution and run-time type inference for integer

conversion errors, 2007. UC Berkeley EECS, 2007-23. [11] Kaner, C., J. Falk, et al. Testing Comptuer Software. New York, Wiley Computer Publishing. 1999. [12] J. Offutt and J. Hayes. A Semantic Model of Program Faults. In Proceedings of ISSTA’96

(International Symposium on Software Testing and Analysis), pages 195–200, San Diego,January 1996.