根据V模型,软件研发过程:需求分析->概要设计->详细设计->编码->单元测试->集成测试->系统
测试
一、单元测试
----白盒测试、自动化测试、静态测试
1、单元测试概念?
单元测试是完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码,使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误,通常情况下是白盒的,对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决不易显现的错误。
2、单元测试的内容?
接口测试:保证进出单元模块的数据流是正确的
内部数据结构:保证临时存储的数据在算法执行过程中的完整性
全局数据结构:全局数据结构对单元模块的影响应当审查
边界:才用边界值分析技术,保证模块在边界条件和极限情况下正常执行
语句覆盖:保证每个语句执行一次
错误路径:对所有处理错误的路径进行测试
二、集成测试
----白盒测试、黑盒测试、自动化测试、静态测试
1、集成测试概念?
通过测试发现与模块接口有关的问题。目标是把通过了单元测试的模块拿来,构造一个在设计中所描述的程序结构,应当避免一次性的集成(除非软件规模很小),而采用增量集成。
自顶向下集成:模块集成的顺序是首先集成主模块,然后按照控制层次结构向下进行集成,隶属于主模块的模块按照深度优先或广度优先的方式集成到整个结构中去。
自底向上集成:从原子模块开始来进行构造和测试,因为模块是自底向上集成的,进行时要求所有隶属于某个给顶层次的模块总是存在的,也不再有使用稳定测试桩的必要。
2、集成测试的过程?
a.明确测试的目标和完成准则,并确定关键部分
b.确定阶段和进度安排
c.测试和修正协调的计划
d.清理系统结构
e.确定集成测试方法的组合策略
f.描述集成顺序
g.针对每次集成编制测试用例,从而形成测试方案
h.进行附加软件(测试桩)的开发
i.测试软件和测试准备准备
j.依据测试方案进行测试
k.根据测试结果提交测试报告
l.测试报告的分析
m.缺陷的管理
n.修正和测试工作
o.完成测试软件提交
三、系统测试
----黑盒测试、自动化测试、手工测试
1、系统测试概念?
根据软件需求规范的要求进行系统测试,确认系统满足需求的要求,系统测试人员相当于用户代言人,在需求分析阶段要确定软件的可测性,保证有效完成系统测试工作
2、系统测试主要内容?
a.所有功能需求得到满足
b.所有性能需求得到满足
c.其他需求(如安全性、容错性、兼容性等)得到满足
四、回归测试
----黑盒测试、自动化测试、手工测试
1、回归测试概念?
当发现并修改缺陷后,或在软件中添加新的功能后,重新测试。用来检查被发现的缺陷是否被改正,并且所做的修改没有引发新的问题。回归测试可以通过人工重新执行测试用例,也可以使用自动化的工具来进行。
2、回归测试方式?
a.覆盖全部测试用例。选择基线测试用例库中的全部测试用例组成回归测试包,测试成本最高
b.基于风险选择测试。可以基于一定的风险标准来从基线测试用例库中选择回归测试包,首先运行最重要的、最关键的和最可疑的测试用例,测试从主要特征到次要特征
c.基于操作剖面选择测试。测试所使用的测试用例个数可以由测试预算确定,回归测试可以优先选择那些最重要或最频繁使用的功能的测试用例
d.重新测试修改的部分。当测试者对修改的局部化有足够信心时,可以通过相依性分析识别软件的修改情况并分析修改的影响,将回归测试局限于被改变的模块和他的接口上
五、用户验收测试
----黑盒测试、自动化测试、手工测试
1、用户验收测试内容?
a.配置审查。确保已开发软件的所有文件资料均已编写齐全,并分类编目
b.Alpha测试。是由用户在开发者的场所来进行的,在一个受控的环境中进行。
c.Beta测试。由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场,用户记录测试中遇到的问题并报告给开发者,开发者对系统进行最后的修改,并开始准备发布最终的软件