1.黑盒测试与白盒测试的区别有哪些?
黑盒测试:又称为功能测试、数据驱动测试或基于规格说明书的测试。
黑盒测试就当整个程序是个黑盒子,我们看不到它里面做了些什么事情,只能通过输入输出看是否能得到我们所需的来测试。
主要测到的测试方法有:
等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
白盒测试:白盒测试称为结构测试或逻辑驱动测试。
白盒测试是针对被测单元内部是如何进行工作的测试
白盒测试可以当盒子是透明的,里面的一切我们都看的清楚,从而我们可以通过去测内部结构来测试。
主要测试方法有:
静态测试&动态测试、单元测试、代码检查、同行评审等等。
2.螺旋模型有哪些优缺点?
螺旋模型的特点:
开始不必详细定义所有细节
从小开始,定义重要功能,努力实现
接受反馈,进入下一次循环
测试活动贯穿于每个循环
螺旋模型很大程度上是一种风险驱动的方法体系,因为在每个阶段之前及经常发生的循环之前,都必须首先进行风险评估
在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。过多的迭代次数会增加开发成本,延迟提交时间。
3.什么是手工测试?什么是自动化测试?自动化测试的优缺点分别是什么?
手工测试:就是由人去一个一个的输入用例,然后观察结果,和机器测试相对应,属于比较初级但是必须的一个步骤。自动化测试:通过将测试执行的一部分或者全部交由机器执行的一种测试,叫做自动化测试。这种测试不需要人的实时参与。同时这种测试在小规模应用时会比手动测试昂贵许多。动化测试的优点:对程序新版本运行前一版本执行的测试,提高回归测试效率;可以运行更多更频繁的测试,比如冒烟测试;可以执行手工测试困难或不可能做的测试,比如大量的重复操作或者性能测试,如处理精确的事务、大数据量事务、并发事务节约大量时间、处理精确的事务、大数据量事务、并发事务,对回归测试更方便、脚本可复用自动化测试的缺点:不能取代手工测试,自动化测试只能提高测试效率,不能提高测试有效性,即不可能发现更多缺陷,手工测试比自动测试发现的缺陷更多;对测试设计依赖性极大,测试设计的不好会遗漏问题;自动化测试对软件开发具有很大的依赖性,开发上出现变更可能导致前面的自动化测试完全失效;工具本身并不具备想象力,工具不具有智能;开发、维护脚本工作量大、费用高
4.按照测试策略对软件测试进行分类,可以分为哪几类?
静态测试与动态测试、黑盒测试与白盒测试、手工测试与自动测试、冒烟测试、回归测试。
5.常见的测试方法有哪些?
功能测试、性能测试、压力测试、负载测试、易用性测试、界面测试、安装卸载测试、文档测试、兼容性测试、安全测试、恢复测试等。
6.在什么情况下需要做冒烟测试?冒烟测试主要关注哪方面的测试?
冒烟测试是在软件开发过程中的一种针对软件版本包的快速基本功能验证策略,是对软件基本功能进行确认验证的手段,并非对软件版本包的深入测试。冒烟测试也是针对软件版本包进行详细测试之前的预测试,执行冒烟测试的主要目的是快速验证软件基本功能是否有缺陷。冒烟测试关注的是阻塞型缺陷,包括但不限于流程不通、主要功能未实现等。
7.什么是功能测试?什么是性能测试?
功能测试:对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户的要求。
性能测试:观察系统在一个给定的环境和场景中的性能表现是否与预期目标一致,评判系统是否存在性能缺陷,并根据测试结果识别性能瓶颈,改善系统性能的完整的过程。