1. 3. 2 软件测试的目的
◆ 测试是为了发现程序中的错误而执行程序的过程;
◆ 测试是确保最终用户的产品符合用户的需求;
◆ 成功的测试是发现了至今为止尚未发现的错误的测试。
1. 3. 3 软件测试的内容
软件测试主要工作内容是验证和确认, 下面分别给出其概念:
验证是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所
期望的事情。
◆ 确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;
◆ 程序正确性的形式证明 即采用形式理论证明程序符号设一计规约规定的过程;
◆ 评估、审查、测试、检查、审计等各类活动, 或对某些项处理、 服务或文件
等是否和规定的需求相一致进行判断和提出报告。确认是一系列的活动和过程, 目的是想
证实在一个给定的外部环境中软件的逻辑正确性, 即保证软件以正确的方式来做了这个事
件。
◆ 静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性;
◆ 动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
1. 3. 4 软件测试的原则
1.应当把"尽早和不断的测试"作为开发者的座右铭。
2.程序员应该避免检查自己的程序, 测试工作应该由独立的专业的软件测试机构来完成。
3.设计测试用例时应该考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下
要制造极端状态和意外状态, 比如网络异常中断、 电源断电等情况。
4.一定要注意测试中的错误集中发生现象, 这和程序员的编程水平和习惯有很大的关系。
5.对测试错误结果一定要有一个确认的过程, 一般有 A 测试出来的错误, 一定要有一个 B 来
确认, 严重的错误可以召开评审会进行讨论和分析。
6.制定严格的测试计划, 并把测试时间安排的尽量宽松, 不要希望在极短的时间内完成一个
高水平的测试。
7.回归测试的关联性一定要引起充分的注意, 修改一个错误而引起更多的错误出现的现象
并不少见。
8.妥善保存一切测试过程文档, 意义是不言而喻的, 测试的重现性往往要靠测试文档
2 测试方法和测试工具
2. 1 测试方法
按照软件测试用例的设计方法而论, 软件测试可分为黑盒测试和白盒测试,任何工程
产品都可以使用以上两种方法之一进行测试, 在本次测试过程当中主要是使用等价类划分、
边界值分析、 随机测试这三种测试方法。
2. 1. 1 黑盒测试
黑盒测试也称功能测试或数据驱动测试, 它是在已知产品所应具有的功能,通过测试
来检测每个功能是否都能正常使用, 在测试时, 把程序看作一个不能打开的黑盆子, 在
完全不考虑程序内部结构和内部特性的情况下, 测试者在程序接口进行测试, 它只检查程
序功能是否按照需求规格说明书的规定正常使用, 程序是否能适当地接收输入数锯而产生
正确的输出信息, 并且保持外部信息(如数据库或文件) 的完整性。 黑盒测试方法主要
有等价类划分、 边界值分析、 错误推测法等, 主要用于软件确认测试。
2. 1. 2 白盒测试
白盒测试也称结构测试或逻辑驱动测试, 它是知道产品内部工作过程, 可通过测试来
检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,