1.测试和调试的区别是什么?
(1)、在目标、方法和思路上有所不同
测试的目的是找出存在的错误;调试的目的是定位错误并修改程序以修改错误
(2)、测试从一个已知的条件开始,使用预先定义的过程,有预知的结果;
调试从一个未知的条件开始,结束的过程不可预计;
(3)、测试可以预先制定测试计划,工作进度可度量;
描述调试的过程和持续时间相对比较困难;
(4)、测试是在软件生命周期的全过程中,而调试只在软件生命周期的编码阶段中;
(5)、调试的对象是程序代码,测试的对象包括程序、数据、文档;
(6)、测试主要由测试人员进行,而调试主要由开发中人员进行。
2.软件测试有哪些分类?简述每个分类的具体内容;
按开发阶段划分、按测试技术分类、按软件特性分类、其他分类、按系统运行划分
(1)、按照开发阶段划分:单元测试、集成测试、系统测试、确认测试、验收测试;
(2)、按照测试技术分类:黑盒测试、白盒测试、灰盒测试;
(3)、按软件特性分类:功能测试、性能测试;
(4)、其他分类:回归测试、冒烟测试;
(5)、按照系统运行划分:静态测试、动态测试;
3.需求分析阶段测试人员需要进行的工作是什么?
了解需求的目标、审阅每个功能点、熟悉相关业务、列出各个功能点、设计方案阶段
软件测试在需求分析阶段,测试人员要做:
(1)、理解需求,参与审核需求文档;
(2)、理解项目的目标、跟制,了解用户应用背景
(3)、编写测试计划
(4)、准备资源
4.软件测试的流程是什么?
(1)、获取和分析需求;
(2)、制定测试计划;
(3)、设计测试用例;
(4)、执行测试;
(5)、测试结果评审;
(6)、编写和提交测试报告;
(7)、准备下一版本测试。
5.测试用例包括哪些内容?
用例编号、用例标题、前置条件、测试数据、测试步骤、预期结果、实际结果、
重要级别、 备注;
6.列举你掌握的测试用例的设计方法有哪些?并简述每个方法的使用原理和设计步骤;
等价类划分法、边界值分析法、因果图法、场景法;
等价类的原理:把所有的输入数据划分为若干部分然后选取少数代表性的数据作为测试数据;
等价类的设计步骤:
(1)、找出所有的输入条件
(2)、根据输入条件找出有效等价类和无效等价类
(3)、根据划分的有效等价类和无效等价类划生成等价类表
(4)、根据等价类表写测试用例
边界值法的原理:对输入的边界值进行测试的一种黑盒测试;
边界值的设计步骤:
(1)、分析需求,根据等价类确定边界情况
(2)、将确定的边界值补充到等价表中
(3)、利用边界值作为测试数据来设计测试用例
因果图法的原理: 需要一种用来描述对于多种条件和组合相产生多个结果的测试方法,
就是因果图法
因果图法设计测试用例的步骤:
(1)、确定软件规格(需求)中的原因和结果(输入和输出)
(2)、确定原因和原因、原因和结果之间的逻辑关系
(3)、画出因果图并转换为判定表
(4)、根据判定表设计测试用例
场景发的原理:用基础流和备选流描述系统所有的业务流程;
设计测试用例步骤:
(1)、分析需求,确定基本流和备选流;
(2)、依据基本流和备选流,生成不同的场景;(场景可以省略)
(3)、针对生成的各场景,设计相应的测试用例;
(4)、重新审核生成的测试用例,去掉多余的部分,并针对最终确定出的测试用例,
设计测试数据;
7.详述测试报告包括哪些内容?
项目概述:
包括项目名称:项目名称及具体版本;
项目背景:本项目成立的背景或者说成立该项目的目的;(在需求文档里体现)
项目简介:简述该项目的业务或者功能;
测试范围:测试覆盖的功能模块及测试方向(界面、易用性、安装、配置等等);
测试环境:测试软硬件环境;
测试工具:用到的测试用具;
项目资源安排:
项目人员安排: 该项目所涉及的各个人员,以及他们在该项目中的角色(岗位职责);
项目时间安排:该项目的开始时间,结束时间,以及整个测试过程所用时间,
实际是否有延迟,延迟的原因;
缺陷分析:
项目bug统计:
该项目发现bug总数量,以及bug的分布图(按严重程度的分布图,
按开发人员的分布图);
遗留bug统计:
遗留bug列举,及遗留原因,分布图;
测试结果:
说明本次测试工作是否已经结束,
是否已达到上线标准,
目前有无遗留bug,有的话对上线后的具体影响及影响程度;
风险评估:
由于测试资源的限制,造成的覆盖不全面,说明具体影响的功能模块,
或者上线后有可能出现的问题;
分析遗留bug对系统的影响,说明可能影响到的模块或者影响程度,
或者上线后有可能出现的问题;
从总体上总结测试质量,并评估本次风险的有无,或者风险的大小;
8.什么是软件测试?软件测试的对象和目的是什么?
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,
并对其是否能满足设计要求进行评估的过程。
软件测试的对象:软件开发过程中的程序、数据、文档;
软件测试测目的:
1)、以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,
通过修正各种错误和缺陷提高软件的质量;
2)、避免软件发布后由于潜在的软件错误和缺陷造成的隐患带来商业损失;
3)、利用测试过程中的得到的测试结果和测试信息,作为后续项目开发和测试过程
开进的重要输入,避免以后的项目中重复同样的错误;
4)、采用更加高效的测试管理手段,提高软件测试的效率和软件产品的质量。