软件
包括程序、数据、文档(用户手册)
软件分类:
层次分类:系统软件和应用软件。操作系统:
组织划分:商业软件和开源软件(代码开放)
结构划分:单机软件,分布式软件
软件缺陷
定义:所有不满足需求或超出需求的都是缺陷。没有不存在缺陷的软件。只有尚未发现的缺陷
缺陷种类
未实现产品说明书要求的功能
出现了产品说明书指明不应该出现的功能
实现了产品说明书未提到的功能
未实现产品说明书未明确提及但应该实现的目标
软件难以理解、不易使用、运行缓慢(从测试角度看)最终用户会觉得不好——主观
缺陷由来
bug
defect
软件测试
计算机产生1945年
正向思维定义:
使自己确信产品能够正常工作,评价程序和系统特性或能力,确定是否达到期望结果。
反向思维定义:
为了发现错误而执行的程序或者系统的过程。是为了证明程序有错。
IEEE(美国国际组织)定义的软件测试:
使用人工或自动手段来运行或测定某个系统的过程。其目的在于检验是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
广义软件测试:
软件形成过程中的所有工作产品(程序和相关文档)的测试、不仅仅是对程序的运行进行测试。
确认:
检查和提供客观证据来证实特定目的的功能或应用是否已经实现。是否满足软件厂商的生产要求。即有没有
验证:
通过检查和提供客观证据来证实指定的需求是否满足,产品功能有效性。是否满足用户真正需求。即对不对
软件测试目的:
以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,保证各种错误和缺陷得以修复,避免隐患带来的商业风险。
利用测试过程中得到的测试结果和测试信息,作为后续开发和测试过程中改进的重要错误,避免后续出现同样错误。
采用更加高效的测试管理手段,提高软件测试的效率和软件产品质量。
测试和调试的区别:
测试 | 调试 | |
---|---|---|
主体 | 测试人员 | 开发人员 |
目标 | 找bug | 将错误修改正确 |
方法 | 等价类、边界值…… | 程序和逻辑算法 |
思路 | 反向思维 | 正向思维 |
区别 | 条件已知,预知结果 | 条件未知,结果不可预计 |
工作量 | 预先设定测试用例,工作进度可度量 | 工作量不可度量 |
测试对象 | 文档、数据、代码 | 代码 |