软件质量

软件质量包括内部质量、外部质量和使用质量三部分,ISO/IEC 9126模型共定义了6个质量特性,即功能性、可靠性、可用性、效率、可移植性、可维护性。

内部质量:

(1)可维护性(Manageability/ maintainability )
(2)灵活性(Flexibility)
(3)可移植性(Portability)
(4)可读性(Readability)
(5)可测试性(Testability)
(6)可理解性(Comprehensibility)

外部质量:

(1)正确性(Correctness)
(2)可用性(Usability)
(3)效率(Efficiency)
(4)可靠性(Reliability)
(5)完整性(Integrity)防止非法或不适当地访问的能力
(6)适用性(Applicability)
(7)精确性(Accuracy)
(8)坚固性(Sturdiness)系统在无效输入或压力环境中能继续执行其功能的能力。

使用质量:

有效性、生产率、安全性、满意程度等质量特征

软件生存期

软件生存期:软件定义阶段、软件开发阶段和软件组护阶段。
计划(Planning)、需求分析(Requirement Analysis),设计(Design)、程序编写(Coding)、测试(Testing)、运行和维护(Run and Maintenance)。

软件缺陷

软件缺陷生命周期:
(1)发现——打开。测试人员找到软件缺陷并将软件缺陷提交给开发人员。
(2)打开——修复。开发人员再现、修复缺陷,然后提交测试人员去验证。
(3)修复——关闭。 测试人员验证修复过的软件关闭已不存在的缺陷。

软件测试是最有效的排除和防止软件缺陷和故障的手段

软件测试

软件测试原则:

一:
(1)所有的测试都应追溯到用户需求;
(2)应尽早地和不断地进行软件测试;
(3)在有限的时间和资源下进行完全测试并找出软件所有的错误和缺陷是不可能的,软件测试不能无限进行下去,应适时终止;
(4)测试只能证明软件存在错误,而不能证明软件没有错误;
(5)充分关注测试中的集群现象;
(6)程序员应避免检查自己的程序;
(7)尽量避免测试的随意性。
二:
(1)尽早测试
(2)全面测试
(3)全过程测试
(4)独立的、迭代的测试
(5)Pareto原则
(6)对测试出的错误结果一定要有一个确认的过程
(7)制订严格的测试计划
(8)完全测试是不可能的,测试需要终止
(9)注意回归测试的关联性
(10)妥善保存一切测试过程文档

软件测试基本流程:

软件测试工作一般要通过
需求分析、
制订测试计划(背景、依据、范围、风险、资源、策略、时间表、日期作者等)、
设计测试(保证测试用例完全覆盖测试需求)、
测试准备、
测试环境的建立、
执行测试(单元测试→集成测试→系统测试→验收测试,其中每个阶段还有回归测试等。)、
记录测试(缺陷记录总的说来包括两方面:由谁提交和缺陷描述,内容包括:序号,标题,预置条件,操作步骤,预期结果,实际结果,注释,严重程度,概率,版本,测试者,测试日期等。)、
缺陷管理(缺陷管理工具:TestDirector、Bugfree等)、
评估测试(缺陷评估(软件可靠性增长建模):用测试过程中缺陷达到的比率或发现的比率表示,评估当前软件的可靠性,并且预测当继续测试或排除缺陷时可靠性如何变化、覆盖评测:测试完全程度(代码覆盖、控制流覆盖)的评测和质量评测:可靠性、稳定性以及性能的评测)、
总结测试、
维护测试
等几个阶段来完成。
软件测试基本流程

测试用例:

每个具体测试用例都将包括下列详细信息:用例编号、用例名称、测试项、测试环境要求、特殊要求、测试技术、输入说明、操作步骤、期望结果(含判断标准)、输出说明、用例之间的关联、用例设计人员、测试人员、测试日期、用例的优先级、注释等。以上内容涵盖了测试用例的基本元素:测试索引、测试环境、测试输入、测试操作、预期结果、评价标准。

测试用例的分类:
(1)功能测试用例
包含功能测试、健壮性测试和可靠性测试;
(2)性能测试用例
包含性能测试、压力测试和强度测试;
(3)集成测试用例
包含接口测试、健壮性测试和可靠性测试;
(4)安全性测试用例;
(5)用户界面测试用例;
(6)安装/反安装测试用例。

软件测试文档
软件测试用例

黑盒测试: 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进行测试。

黑盒测试是穷举输入测试,常用的黑盒测试方法有等价类划分法、边界值法、因果图法、决策表法、正交测试法、错误推测法和场景法等。

白盒测试

测试维恩图

测试维恩图
区域1是三个集合的交集,代表着测试用例所覆盖的已实现的规定行为;区域2表示测试用例未覆盖的但是已实现的规定行为;区域3表示测试用例所覆盖的已实现的未规定行为;区域4表示测试用例所覆盖的未实现的规定行为;区域5表示测试用例未覆盖的且未实现的规定行为;区域6表示测试用例未覆盖的已实现的未规定行为;区域7表示测试用例所覆盖的并未实现且未规定的行为。

单元测试

单元测试(模块测试)包括模块程序结构检查、代码测试和模块内功能测试。是软件测试中最基础的测试,强调被测试对象的独立性
目的:检验软件基本组成的正确性。
方法:人工静态分析、人工动态测试、自动静态分析、自动动态测试
内容:单元的内部结构、单元的功能和可观测行为
主要任务
(1)程序语法检查。
(2)逻辑检查。
(3)局部数据结构测试。
(4)路经测试。
(5)边界条件测试。
(6)错误处理。
(7)代码书写规范检查。



软件测试体系

Last modification:March 14th, 2020 at 03:53 pm
喵ฅฅ