文档介绍:软件测试的步骤?除非是测试一个小程序,否则一开始就要把整个系统作为一个单独的实体来测试是不现实的。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤的进行。?大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试基本上由以下几个步骤组成: ?1、模块测试?模块测试的目的是保证每个模块作为一个单元能正确运行,使用模块测试通常又称为单元测试。在这个测试步骤中所发现的往往是编码和详细设计的错误。?2、子系统测试?子系统测试是把经过单元测试的模块放在一起形成一个子系统来测试。模块相互间的协调和通信是这个测试过程中的主要问题,因此这个步骤着重测试模块的接口。?3、系统测试?系统测试是把测试的子系统装配成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求说明书中指定的功能,而且系统的动态特性也符合预定要求。?4、验收测试?验收测试就是把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极参与下进行的,而且可能主要使用实际数据进行测试。?该测试的目的:验证系统确实能满足用户的需要, 在这个测试步骤中发现的往往是系统需求说明书中的错误。?5、平行运行?关系重大的软件产品在验收之后往往并不立即投入生产性运行,而是要再经过一段平行运行时间的考验。?所谓平行运行就是同时运行新开发出来的系统和将被它取代的旧系统,以便比较新旧关系的处理结果。?其具体目的是: 1、可以在准生产环境中运行新系统而不冒风险 2、用户能有一段熟悉新系统的时间3、可以验证用户指南和使用手册之类的文档 4、能以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。黑盒测试和白盒测试?怎么样对程序进行测试呢?测试任何产品都有两种方法:如果已经知道了产品应该具有的功能,可以通过测试来检验是否每个功能都能正常使用;如果知道产品内部工作过程, 可以通过测试来检验产品内部动作是否按照规格说明书的规定正常进行。前一个方法称为黑盒测试,后一个方法称为白盒测试。?对软件测试而言,黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程。黑盒测试又称为功能测试。?与黑盒测试相反,白盒测试法的前提时可以把程序看成装在一个透明的盒子里,也就完全了解程序的结构和处理过程。这种方法按照程序的内部的逻辑测试程序,检验程序中的每条通路是否能按预定要求正确工作。白盒测试又称为结构测试。?(一)黑盒测试(基于规格说明的测试) ?黑盒测试是一类重要的软件测试方法,它根据规格说明设计测试用例,不涉及程序的内部结构。因此,黑盒测试有两个显著的优点: ?1、黑盒测试与软件具体实现无关,使用如果软件实现发生了变化,测试用来依然可以使用。?2、设计黑盒测试用来可以和软件实现同时进行,因此可以压缩项目总的开发时间。?(二)白盒测试(基于程序的测试) ?白盒测试要求对被测程序的结构特性做到一定程度的覆盖,或说是“基于覆盖的测试”。测试机人员可以严格定义要测试的确切内容, 明确提出要达到测试覆盖率,以减少测试的盲目性,引导测试人员朝着提高测试覆盖率的方向努力,从而找到那些被忽略的程序故障。?在软件测试过程中,一般而言在单元测试时大都采用白盒测试,而在确认测试或系统测试中大都采用黑盒测试。静态测试与动态测试?原则上讲,软件测试方法可以分为两大类: 静态测试和动态测试方法。?静态测试是指不利用计算机运行被测程序, 而是通过其他手段达到检测的目的。?动态测试是指通常意义上的测试——通过运行和使用被测程序,发现软件故障,以达到检测的目的。模拟这两种测试的最好方法是研究以下汽车的检查过程。踩油门、看车漆、打开前盖检查都属于静态测试技术。发动汽车就、听听发动机的声音、上路行驶属于动态测试技术。经验表明:使用人工静态测试可以发现大约 30%-70% 的逻辑设计和编码错误。但,代码中仍会有大量隐藏的故障无法通过静态测试发现,因此必须通过动态测试进行详细的分析。