当前位置: 酷腾网络 > 软件系统 >

软件测试中的白盒和黑盒测试概念

一、软件测试概述 


        软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情(Do the right
 thing),另一方面是确认软件以正确的方式来做了这个事件(Do it right)。第二是提供信息,比如提供给开发人员或程序经理的反馈信息,为风险评估所准备的信息。第三软件测试不仅是在测试软件产品的本身,
而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题,这说明此软件开发过程很可能是有缺陷的。因此软件测试的第三个目的是保证整个软件开发过程是高质量的。 
        软件质量是由几个方面来衡量的:一、在正确的时间用正确的的方法把一个工作做正确(Doing the right things right at the right time.)。二、符合一些应用标准的要求,比如不同国家的用户不同的操作习惯和要求,项目工程中的可维护性、可测试性等要求。三、质量本身就是软件达到了最开始所设定的要求,而代码的优美或精巧的技巧并不代表软件的高质量(Quality is defined as conformance to requirements, not as “goodness” or “elegance”.)。四、质量也代表着它符合客户的需要(Quality also means “meet customer needs”.)。作为软件测试这个行业,最重要的一件事就是从客户的需求出发,从客户的角度去看产品,客户会怎么去使用这个产品,使用过程中会遇到什么样的问题。只有这些问题都解决了,软件产品的质量才可以说是上去了。 
测试人员在软件开发过程中的任务: 
          1、寻找Bug; 
          2、避免软件开发过程中的缺陷; 
          3 、衡量软件的品质; 
          4、关注用户的需求。 
          总的目标是:确保软件的质量。 

二、常用的软件测试方法 
1. 黑盒测试 

      黑盒测试顾名思义就是将被测系统看成一个黑盒,从外界取得输入,然后再输出。整个测试基于需求文档,看是否能满足需求文档中的所有要求。黑盒测试要求测试者在测试时不能使用与被测系统内部结构相关

的知识或经验,它适用于对系统的功能进行测试。 

      黑盒测试的优点有: 
               1)比较简单,不需要了解程序内部的代码及实现; 
               2)与软件的内部实现无关; 
               3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 
               4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 
               5)在做软件自动化测试时较为方便。 
     黑盒测试的缺点有: 
              1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%; 
              2)自动化测试的复用性较低。 
2. 白盒测试 
      白盒测试是指在测试时能够了解被测对象的结构,可以查阅被测代码内容的测试工作。它需要知道程序内部的设计结构及具体的代码实现,并以此为基础来设计测试用例。如下例程序代码: 
               public class demo extends HttpSeverlet{
                String name=request.getName("name");
                String age=request.getAge("age");
                  if(name ==null){
                    System.out.println("对不起,用户名为空");     
                  }else{   
                        .
                        .
                        .
                       } 
      }

    读了代码之后可以知道,先要检查用户名是否为空,如果不为空,则执行什么操作。可以这样设计一些测试用例:比如字符串(文件)为空的话会出现什么情况;如果非空的话,那又是什么情况;如果用户名不为

空,那么下面会是什么情况。也就是说,根据判断状态的不同,可以设计很多不同的测试用例。这些是在纯粹做黑盒测试时不一定能做到的事白盒测试的直接好处就是知道所设计的测试用例在代码级上哪些地方被忽

略掉,它的优点是帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 

             白盒测试的缺点有: 
               1)程序运行会有很多不同的路径,不可能测试所有的运行路径; 
               2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求; 
               3)系统庞大时,测试开销会非常大。 


      以上就是白盒和黑盒对于软件开发过程中,测试的一些基本概述,软件测试是必不可少的,可以提升用户的体验;提高开发速度。在开发过程中,软件测试一般有专门的测试人员,大多数以黑盒多数,以用户的角度去体验软件;白盒一般来说是开发者本身,在开发过程中就已经考虑到用户的角度。

      酷腾网络公司专业提供:南京OA,南京OA系统,南京OA办公系统,南京OA办公软件,南京OA软件


TAG:
专业服务:南京网站建设,南京网站制作,南京网站优化
咨询电话:400-000-2373 025-66155019 025-66928571
公司网址:http://www.cootem.com/
南京网络公司 首选 酷腾网络
本文地址:http://www.cootem.com/soft/585.html

全国客服热线:400 000 2373

公司联系电话:025-66928571 / 66155019

全国酷腾:江宁网站建设 | 雨花网站建设 | 溧水网站建设 | 秦淮网站建设 | 鼓楼网站建设 | 建邺网站建设 | 玄武网站建设 | 浦口网站建设 | 芜湖网站建设 | 蚌埠网站建设