前言:为了确保软件产品的质量,在软件开发的过程中及时地发现并纠正错误是十分重要的。软件测试是在软件开发过程中保证软件质量、提高软件可靠性的最主要的手段之一,它是软件产品在交付用户使用之前,对分析、设计、编码等开发工作的最后检查和复审。
测试的根本目的:发现尽可能多的缺陷。(测试是一个程序的执行过程,其目的是发现错误;一个好的测试用例很可能是发现至今尚未发现的错误;一个成功的测试用例是发现至今尚未发现的任务。)
软件测试目标:以尽可能少的成本和工作量尽可能多地发现其中的各种错误和缺陷,以确保软件系统的正确性和可靠性。
软件测试特点:
软件测试基本原则:
软件测试的过程:单元测试:测试每个模块的内容
测试文档 = 测试计划+测试规范+测试用例+缺陷报告
静态测试:不在计算机上运行被测试程序。(方法包括:桌前检查;代码会审;步行检查)
动态测试:计算机必须真正运行被测试的程序,输入测试用例,对其运行情况进行分析。
白盒测试又称结构测试、逻辑驱动测试或基于程序的测试。
白盒法又称逻辑覆盖法,它以程序(模块)内部的逻辑结构为基础来设计测试用例,主要用于单元测试。
六种逻辑覆盖法:
黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试。
从用户观点出发,把被测程序当做一个黑盒,不考虑程序内部的逻辑结构和内部特性,只需根据需求规格说明书,测试程序的功能或程序的外部特性。(黑盒测试用来证实软件功能的正确性和可操作性。)
常用测试方法:等价分类法、边值分析法、错误推测法、因果图法。
回归测试:在回归测试中自底而上,对其余部分(尤其是对修改过的子系统)采用自顶而下。
α测试:邀请某些有信誉的软件用户与软件开发人员一道在开发场地对软件系统进行测试,其测试环境要尽量模拟软件系统投入使用后的实际运行环境。
β测试:由软件产品的全部或部分用户在实际使用环境下进行的测试,在用户独立操作下完成,没有软件开发人员的参与。
面向对象测试类型:分析与设计模型测试;类测试;交互测试;系统(子系统)测试;验收和发布测试。
自动化测试:借助于测试工具、测试规范,局部或全部代替人工进行测试,以提高测试效率的过程。
上一篇:浪淘沙的意境是什么