文章目录
- 软件测试概述
- 1.1 什么是软件测试
- 1.2 软件测试的目的
- 1.3 对软件测试的理解
- 1.4 软件测试的原则
- 1.5 测试人员的职责
- 1.6 测试人员的素质要求
软件测试概述
1.1 什么是软件测试
1)软件测试要发现软件的错误。
2)软件测试最终要以软件满足用户需求为目标。
1.2 软件测试的目的
软件测试最直接的目的是发现软件中的缺陷,包括需求、设计方面的缺陷和程序中包含的缺陷(bug)。
- 缺陷,它可以指软件功能的错误,也可以指性能低下、易用性差以及其他软件产品中的缺陷等。
软件测试最终的目的是检查软件是否满足用户的需求,其中包括用户的隐含需求和潜在需求。只有满足用户需求的软件才能成为“好”的软件产品,才能得到用户的认可和好评。
Glen Myers 曾提出关于测试目标的规则:
1)测试是一个为了寻找错误而运行程序的过程。
2)一个好的测试用例是指尽可能找到迄今为止尚未发现的错误的用例。
3)一个成功的测试是指揭示了迄今为止尚未发现的错误的测试。
以上3条规则表明了两种涵义:== 一是软件测试的直接目的,即发现软件中的错误;二是测试工作的职责就是要发现软件中的错误==。
1.3 对软件测试的理解
- 软件测试工作要贯穿于整个软件产品的生命周期。
- 软件测试本身不能确保软件质量,但它却是保证软件质量的重要而关键的技术手段,因为软件经过测试后,质量一般都有提升。
- 软件发布后出现了问题,尤其是遭到用户的抱怨或投诉,测试人员一般负有一定的责任,但是软件测试并不能100%地发现软件中存在的所有缺陷。高质量的软件是开发出来的,并不是测试出来的。
- 测试工作具有很高的开拓性和创新性。
- 软件测试对软件开发是有建设性意义的。
- 软件测试与调试的区别:
1)目的。软件测试的目的是尽可能地发现程序中的错误,而调试的目的是确定错误的原因和位置,并改正错误,调试也被称为纠错。
2)工作性质。测试是测试人员针对被测软件产品执行的检查和确认,属于测试范畴;而调试是开发人员在发现程序中的BUG后开始的发现和改正BUG的工作,属于开发范畴。
3)内容与方法。测试是按照计划执行的,需要测试计划、设计开发、测试执行和测试评估等阶段;而调试只是针对程序中出现BUG的开发工作,是“BUG驱动”类型的工作。
1.4 软件测试的原则
- 测试技术和策略方面
- 测试工作要尽可能地找出关键性的错误,因为这些错误很可能会限制用户使用此件产品完成工作的能力,从而直接影响客户对质量的评价。
- 100%测试覆盖率。
- 所有的测试都应追溯到用户需求。
- 应当尽早地、不断地进行软件测试。
- 总假定程序是由错误的。
- 彻底检查和仔细分析每一个测试结果。
- 不断提高测试策略和技巧。
- 测试管理方面
- 测试必须是有计划、有组织、有准备的,其中包括:确定测试任务、时间、人员职责及分工、资源设备、方法与工具、输入和输出准则等。
- 严格执行测试计划并及时进行修订。
- 有效的BUG跟踪和管理。
- 由独立的第三方来完成测试工作。
好的测试5个属性:
- 发现错误的可能性很高。
- 不冗余。
- 是“最佳品种”。
- 不会太简单,也不会太复杂。
- 揭示了迄今为止尚未发现的错误。
1.5 测试人员的职责
- 测试经理和测试主管的职责
1)招聘合适的测试人员。
2)建立测试技术模型和培训机制。
3)定期与测试人员进行正式交谈。
4)对员工工作的充分信任。
5)以员工期待的方式善待员工。
6)评价实事求是、以事论事。
7)规划和开展测试管理工作。 - 测试工程师的职责
1)制定测试计划。
2)设计与编写测试用例。
3)实施测试。
4)BUG跟踪。
5)测试总结与报告。
6)其他软件工程活动,包括需求、概要设计的同行评审、项目会议以及相关产品的确认和验证活动。
1.6 测试人员的素质要求
- 测试人员的技术素质要求
1)软件开发技术。
2)软件测试技术。
3)软件工程方面的能力。
4)行业知识。 - 测试人员的非技术素质要求
1)沟通能力。
2)移情能力。
3)自信心。
4)幽默感。
5)外交能力。
6)超强的记忆力。
7)足够的耐心。
8)怀疑精神。
9)自我督促。
10)洞察力。