一.软件测试基础
1.软件测试前世今生:
使用人工或自动的手段来运行或测定某个软件系统或系统部件的过程,其目的在于检验他是否满足规定的需求或弄清预期结果与实际结果之间的差别。
2.软件测试的概念:
在规定条件下对程序进行操作,以发现程序的错误,并对其是否能满足设计要求进行评估的过程。
3.软件测试流程:
软件开发流程:(贯穿了整个软件生命周期)
(1)计划阶段
(2)需求分析
(3)设计阶段【测试用例、测试计划】
(4)开发阶段
(5)测试阶段
(6)运营和维护
测试工作流程:
项目启动-->需求分析-->测试计划-->测试执行-->跟踪管理-->测试总结
软件开发模型:
v型、w型、敏捷型、x型、h型、螺旋形、瀑布型
迭代:迭代是重复反馈过程的活动,目的是为了逼近所需目标或结果。每一次迭代得到的结果会作为下一次迭代的初始值。
测试的分类:
a、按方向:
功能测试:功能测试的对象是一个完整的业务功能,单元测试的对象是一个代码 片段,如:类、接口
性能测试:软件的性能方面,影响到软件的体验结果(分类:压力测试、负载测 试、并发测试)
安全测试:测试软件里面是否存在安全方面的 问题。
b.按方法:
黑盒测试:
灰盒测试:
白盒测试:
c.按状态:
静态测试
动态测试
d.按阶段:
单元测试:检测程序模块中有没有故障
集成测试:检查接口之间的问题
系统测试:对系统中各个组成部分进行的综合性检验,证明系统性能。
验收测试:向用户表明软件系统是能够向预期 那样去工作(发布前最后一步)
系统测试与功能测试的区别:系统测试还包括压力测试、量 测试、性能测试等等。
e.按对象:
app测试、web测试、小程序 测 试、 嵌入式测试
f.其他:
人工测试、自动化测试、冒烟测试、 回归测试
软件测试方法:
(1)等价类划分法:把程序输入域划分成一个 一个的子集,子集之间互 不相交,在子集中选有少 量具有代表性的数据当成 测试用例进行测试。
4.文档编写能力
(1)需求文档:学习业务流程;提取功能点;(编写需求分析说明书 )
(2)测试计划:
(3)测试方案:
(4)测试策略:
(5)测试用例:
a.测试用例的管理
b.测试用例评审
c.测试执行阶段
d.得出测试结果
(6)测试总结报告:
a.项目介绍:测试情况介绍;测试数据统计;测试评价。