2019/07/15复习 软件检测与质量保证(复习内容参照北京工业大学相关课程的课程PPT与教学大纲)
软件检测与质量保证
1.软件测试基础:
1.1什么是软件?
软件=程序+数据(库)+文档
能够完成预定功能和性能的、可执行的指令;
使得程序能够适当地操作信息的数据结构;
描述程序的操作和使用的文档。
1.2软件是由什么组成?
1.3什么是软件危机?
软件的规模越来越大,复杂度越来越高。
在软件开发及维护的过程中所遇到的一系列严重问题,这些问题皆可能导致软件产品的寿命缩短、甚至夭折。
主要表现
◦项目运行超出预算
◦项目运行延期
◦软件质量低
◦软件通常不符合需求
◦项目无法管理,且代码难以维护
1.4什么是软件工程?
软件工程试图以工程的原理、原则和方法进行软件开发,以解决软件危机。是应用计算机科学、数学及管理科学等原理,开发软件的工程的一门交叉学科。
问题:软件工程与软件程序的区别是什么?
1.5软件的生命周期
软件从开始产生直到报废的生命周期。周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
具体体现为:
问题定义
◦双方:确定开发目标、范围可行性分析
◦撰写问题陈述,明确具体目标和范围
◦分析经济、技术、法律等因素
需求分析
◦功能分析、数据分析、协作关系分析
◦制定系统规格说明、开发计划系统设计
◦系统框架、人机交互设计、数据库设计
◦总体设计:静态模型、动态模型
◦详细设计:模块设计、算法设计
编码
◦使用程序设计语言、软件开发工具软件测试
◦单元测试 、集成测试、系统测试维护
◦纠错、需求变化、功能扩展
软件开发的基本过程:
代表性的软件生命周期模型:瀑布模型、原型模型、快速应用开发(RAD)模型、螺旋模型、增量模型和迭代模型、RUP(Rational Unified Process)、敏捷开发。
瀑布模型:将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
2.软件缺陷与缺陷管理
2.1缺陷的定义与分类
存在于软件( 文档、数据、程序 )之中的那些
不希望,或不可接受的偏差,导致软件产生的
质量问题。
如何判断软件存在缺陷?
未实现产品说明书要求的功能;
实现了需求中未提到的功能;
软件难以理解、不易使用、运行缓慢或者最终用户会认为不好;
软件出现了产品说明书指明不应该出现的错误。
产生软件缺陷的原因:
需求的不完善定义
客户 开发者沟通失败
对软件需求的故意偏离
逻辑设计错误
编码错误
不符合文档编制与编码规定
测试过程不足
文档编制错误
50%以上软件产生缺陷的原因是在规格说明书。
2.1.2 软件缺陷的描述和分类
一个简单的缺陷报告一般包括:标题、前提、测试环境、操作步骤、期望结果、实际结果、出错的频率等。
首先会给出错误的概括性说明
直接打开一个新邮件时,出现 404 错误
操作步骤、期望的结果和实际的结果
开发人员还可能会问一些问题:
◦ 这个缺陷是在所有的浏览器中都存在吗?还只是在 Firefox 中存在?
◦ 在此之前,有没有做其他操作?
◦ 这个缺陷是不是 100% 重现,还是做 10 次只出现 2~3 次?
◦ 有没有出错时截屏?
测试环境、前提和出现的频率附上屏幕复制图像文件等
软件缺陷的详情描述:
由操作/重现步骤、期望结果、实际结果:
“步骤”提供了如何重复当前缺陷的准确描述,应简明而完备、清楚而准确;
“期望结果”与测试用例标准或设计规格说明书或用户需求等一致
达到软件预期的功能。验证缺陷的依据;
“实际结果”测试人员收集的结果和信息,以确认缺陷确实是一个问题,并标识那些影响到缺陷表现的要素。
软件缺陷的属性:包括缺陷标识、缺陷的类型、包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。
软件缺陷报告:
注:
一份优秀的缺陷报告记录下最少的重复步骤 不仅包括了期望结果 实际结果和必要的附件 还提供必要的数据 、 测试环境或条件 以及简单的分析 。
一定要写清测试条件
软件、硬件配置、环境信息(操作系统、数据库、浏览器、软件版本)
2.2 缺陷流程管理
2.3 缺陷度量
对缺陷数据进行统计,从而判断软件质量、项目进展。软件测试不仅是为了发现缺陷和错误,也是对软件质量进行度量和评估,以提高软件质量。
场景:
请问应该如何评估该测试分析师所作工作的质量?
测试指标主要分为两个类别:基础指标和计算指标。
基础指标
由测试分析师在测试用例编写和执行期间收集的数据派生来的指标。
某一项目所开发的测试 用例 的总数、 需要被执行的测试用例的数量或是通过 失败的测试用例计数
计算指标
通过收集基础指标数据而派生的。这些指标通常由测试经 理 为测试报告等目的而进行追踪。
缺陷密度 已知缺陷的数量 产品规模。
测试指标的例举:
缺陷质量分析:
缺陷数、缺陷严重程度、缺陷类型等方面综合分析…
缺陷密度=已知缺陷的数量/产品规模
2.4缺陷管理工具
常用工具