软件测试其实并不是一个复杂的工序,我看老师的课件,好多什么原则啊之类的东西,我觉得基本都是废话,还是测试方法这部分才是最实用的。
关于软件测试就只写这一篇了,下面就总结一下软件测试方法
1. 黑盒测试和白盒测试。
黑盒测试其实就是说软件内部代码本身对我们来说是隐蔽的,我们只能给输入留,然后查看输出流情况,或者根据事件驱动或客户需求来查看软件是否符合需求规格说明书,这种测试也叫功能测试或数据驱动测试。
理想的方法是测试所有的可能输入组合,但是这是绝对不可能完成的。
白盒测试就是说软件内部是透明的,我们可以清楚地看到它的逻辑结构,然后选择测试用例,对所有的逻辑路径进行测试,以查看每个逻辑点与预期结果是否一致。这种测试也叫做结构测试或逻辑驱动测试。
白盒测试要求所有的逻辑路径至少被使用一次,逻辑值均要测试真假值,检查内部结构以保证有效性。
2.静态测试和动态测试。
静态测试即直接通读代码,并不运行和编译,一般借助一些工具对代码进行扫描,找出不符合规范的部分,根据某种模型评价代码质量,生成系统的调用关系图等。静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。
动态测试则是在代码中可执行文件中加入一些检测性代码,以观测运行中的数据变化,所以要求程序是运行的。动态测试工具的代表 有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。
3.自动测试和手动测试。
略了吧。。。
软件测试的分类,应用一下老师课件里的图片:
单元测试:就是针对小模块测试,主要通过白盒测试的方法找出错误,在开发阶段进行。 集成测试:在单元测试的基础上,将模块组合测试,主要目标是发现模块之间的接口和功能相关性错误。 系统测试:将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等 验收测试:目的是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和性能如同用户所合理期待的那样 功能测试:一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,从用户角度来进行功能验证,以确认每个功能是否都能正常使用 以上每个阶段,都有自己的目标、任务和方法,我也懒得详细的说了,理论性的东西,说的再多不如自己测试一回来的容易理解。 |
软件测试的阶段:
阶 段 |
输 入 |
输 出 |
需求分析 |
需求定义, 市场分析文档, 相关技术文档 |
市场需求分析会议记要 , 功能设计, 技术设计 |
设计审查 |
市场需求文档, 技术设计文档 |
测试计划, 测试用例 |
功能验证 |
代码完成文件包,功能详细设计说明书 最终技术文档 |
完整测试用例,完备的测试计划, 缺陷报告, 功能验证测试报告 |
系统测试 |
代码修改后的文件包 完整测试用例,完备的测试计划 |
缺陷报告 缺陷状态报告 项目阶段报告 |
确认测试 |
代码冻结文件包 确认测试用例 |
缺陷状态报告 缺陷报告审查 版本审查 |
版本发布 |
代码发布文件包 测试计划检查清单 |
当前版本已知问题的清单 版本发布报告 |
软件测试的基本概念就这么些了,针对里面提到的每个概念都有很多内容,写起来没完没了,我还是决定就看一遍得了,不用记下来了。