Comparison of Software Testing Review Black Box and White Box and Gray
Total Page:16
File Type:pdf, Size:1020Kb
International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net 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 1442 International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net 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]. 1443 International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net 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. program input output output 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 1444 International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net is also tested. Figure 2 shows the scheme of White Box Testing. int callinfunction() input output {long int test1: Int test2; 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. 1445 International Journal of Mathematics and Computer Sciences (IJMCS) ISSN: 2305-7661 Volume.43 2015 www.scholarism.net Disadvantages Advantages Software testing methods 1. Lack of knowledge of software 1. find out the problems in the application algorithms 2. Cheap, wasting less time to do the test 2. Lack of expertise testers 3.