本人在看视频的基础上整理出了一些软件测试的知识点。目前软件测试行业是一个新兴的行业,人才缺口比较大,
本人也想要从事这方面的工作。先将笔记整理如下:
1.理解软件测试
软件测试是一种有效的提高软件质量的手段,但即使在投入上有所保证,测试也不能百分百发现所有质量隐患
,况且软件质量并不仅仅是测试出来的。
测试不是可有可无,随心所欲的。规范化的软件开发需要对软件测试早做计划,分配相应的时间、人力、财力
等资源,并将其作为项目管理的一个部分加以控制和协调。
2.软件测试定义
一种定义:软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入
数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
普通定义:软件测试是为了发现错误而执行程序的过程。
3.软件测试的对象
软件测试不等于程序测试。软件测试贯穿于软件定义和开发的整个期间。需求分析、概要设计、详细设计、以
及程序编码等各个阶段所得到的文档,这些都是软件测试的对象。
4.软件测试的种类
黑盒测试、白盒测试、单元测试、集成测试、功能测试、系统测试、回归测试、验收测试、负载测试、压力
测试、性能测试、易用性测试、安全性测试、兼容性测试、Alpha测试、Beta测试
5.软件测试的基本流程
第一步:制定测试计划。(被批准后转向第二步)
第二步:设计测试用例。(被批准后转向第三步)
第三步:如果满足“输入准则”,那么执行测试。
第四步:撰写测试报告。
第五步:消除软件缺陷。如果满足“输出准则”,那么正常结束测试。
6.V模型
需求开发 验收测试
概要设计 系统测试
详细设计 集成测试
编码 单元测试
记得以前有一个面试题:画出V模型,并且说出它的缺点。
V模型的缺陷:
7.软件测试的常识和经验
测试只能证明缺陷存在。
每个开发人员应当测试自己的程序,但是不能作为程序已经通过的依据。
80-20原则,80%的缺陷存在在20%的模块中。
测试是一个循序渐进的过程。