软件测试的定义:
利用人工或自动化的手段来运行或测定某个系统,其目的在于测它是否满足规定的需求或检测预期结果与实际结果之间的差异。
软件测试的目的:
发现软件中存在的问题或缺陷,检查软件系统是否满足要求。
软件测试的对象:
源程序,数据和文档
软件测试的常用方法:
-
从是否关心软件内部结构和具体实现的角度划分:白盒、黑盒、灰盒;
-
从是否执行代码的角度可划分为:动态测试、静态测试。
黑盒测试:不考虑组件/系统内部结构的功能或非功能的测试。
白盒测试:通过分析组件/系统的内部结构进行的测试。
动态测试:运行被测系统的测试。
静态测试:不运行被测系统的测试。
静态测试的技术:正式评审、非正式评审、走查、审查、技术评审。
软件测试的分类:
-
按方法可分为:白盒测试,黑盒测试,灰盒测试;
-
按测试阶段可分为:单元测试、集成测试、确定测试、系统测试、验收测试;
-
按照实施对象可成为:企业内部测试、最终用户测试、第三方测试;
软件测试的生命周期:
项目规划——需求定义和需求设计—-软件设计—-程序编码—软件测试—-运行维护
软件测试与程序测试的关系:
软件测试测试对象:源程序+数据+文档,程序测试只是测试源程序;
11)软件测试与调试的关系:
软件测试是软件测试人员和程序员都参与的一项工作,是对源程序和数据及文档进行测试;而软件调试主要是程序员自己参与,对程序(设计、编码)进行修改、排除错误,主要是在开发阶段。调试是建设性的,测试是毁坏性的。
12)软件测试的流程:
需求分析(需求宣讲)–估算工时—编写测试计划—设计测试案例—案例评审—执行测试—处理发现的问题(回归测试/再测试)-编写测试报告—上线—线上验证;
13)软件测试的模型:
软件测试模型常用的有V模型和W模型
v模型和w模型的区别:
1)测试范围不同—>v模型测试源程序,w模型测试源程序和文档;
2)测试时间不同—>v模型在编码完成之后才开始,w模型在需求阶
段就开始介入了;
集成测试的概念:
一种旨在暴露接口及集成组件或者系统间交互时存在的缺陷的测试;
系统测试的概念:
测试集成后的系统以验证他是否满足指定需求的过程(需求包含功能性需要和非功能性需求);
验收测试的概念:
一般有用户或者客户进行的确认是否可以接收一个系统的验证性测试,是根据用户需求,业务流程进行的正式测试,以确保系统符合所有的验收准则;
冒烟测试的概念:
对被测系统基本功能是验证;
容错测试的概念:
验证对测系统对错误数据的处理能力;
程序测试的概念:
程序测试(program testing)是指对一个完成了全部或部分功能、模块的计算机程序在整数使用前的检测,以确保该程序能按预定的方式正确地运行。
什么是测试用例
测试用例是为特定目标而开发的一组测试输入、执行条件和预期结果,其目的是可以测试某个程序路径或核实是否满足某个特定的需求。
测试用例的作用:
1.指导测试工作的实施;
2.规划测试数据的准备;
3.作为评估测试结果的度量基准;
测试用例包含的内容?
一条完整的测试用例包含如下要素:
用例编号、测试模块、用例标题、重量级别、预期条件、测试输入(测试时输入的数据)、操作步骤,预期结果。
一条好的测试用例具有的标准?
用例表达清楚,无二义性;
用例可操作性强;
用例的输入与输出明确,一条用例只有一个预期结果;
用例的可维护性好;
用例对需求的覆盖率高;
暴露程序bug的能力强;
常用的设计测试用例的方法有哪些?
常用的设计测试用例的方法有等价分析法、边界值法、场景法、因果法等。