1. 什么是软件测试
软件测试是指利用人工或自动的手段,运行或测试某个系统的过程,检验软件功能是否符合用户的合理需求,以及实际结果与预期结果之间的差异。
2. 软件测试与调试的区别
- 执行阶段不同
调试一般是在软件开发阶段进行的,而测试贯穿整个软件的开发周期 - 执行的人员不同
调试一般是由开发人员来完成
测试一般是测试人员与开发人员一起完成,黑盒测试主要是测试人员完成,单元测试由开发人员完成, - 目的不同
调试的目的是定位并解决程序中出现的问题
测试最主要的目的是发现程序中的缺陷(Bug)
3. 软件测试的目的和原则
目的:验证程序有或没有问题
原则:以客户为中心,遵守软件测试的规范、流程、标准和要求
- 好的测试方案是极可能发现了迄今为止都没有发现过的错误的测试方案
- 测试的目的不仅仅是为了找出程序中的错误,而是通过分析错误产生的地方,
4. 什么是需求
需求是指满足用户期望或规定文档所具有的条件和权能,包括软件需求和用户需求。
用户需求:可以简单理解为甲方提出的要求,如果没有甲方,那么就是终端用户使用产品时最终要完成的任务。用户需求一般比较简略。
软件需求:也叫功能需求,软件需求详细描述了开发人员要必须实现的功能。
5. 什么是Bug
当且仅当程序规格说明存在且正确的时候,程序与规格说明之间的不匹配就是错误。
当没有需求规格说明书时,判断标准以最终用户为准,当程序没有完成最终用户的合理预期功能时就是软件错误。
6. 什么是测试用例
测试用例是为了执行测试而向被测试系统提供的一组集合,这组集合包含:测试环境,操作步骤,测试数据,预期结果等要素。
如果没有测试用例,在测试过程中可能会遇到如下问题:
- 不知道是否全面的测试了所有功能
- 测试的覆盖率得不到保证
- 存在大量冗余测试影响测试效率