软件测试与验证--学习笔记--第一章

这篇文章主要介绍了软件质量和软件测试的相关概念,其中包括软件质量保证、软件质量成本以及软件测试的定义、目的、原则、分类和测试用例的相关知识。

文中内容来源于在学习过程中记录的笔记,初学者看什么都像重点🥲,所以内容多且基础,相信将来会越来越好🥳,同时也开了专栏收纳这一个系列的学习笔记,祝我们都有收获,day day up!🫡🫡🫡

😉😉😉ps:需要本书电子版可私聊我哦~~~不定时回复,thanks。

前言

软件质量:是指软件产品中能满足给定需求的各种特性的总和, 这些特性称作质量特性。

软件测试:成为了保证软件产品质量控制、管理与检测的重要手段。

软件测试并非是对软件产品的“找错”过程,而是贯穿于软件设计、开发过程的始终, 是一个科学的质量控制过程。

ISO/IEC9126 中规定了软件的6个质量特性,即:①功能性、②可靠性、 ③易用性、④效率、⑤可维护性 ⑥可移植性


章节内容介绍

介绍软件质量和软件测试的相关概念,其中包括软件质量保证、软件质量成本以及软件测试的定义、目的、原则、分类和测试用例的相关知识。


第一章 软件测试基础

1.1 软件质量

软件工程总目标:是充分利用有限的人力,物力和财力,高效率高质量的完成软件开发项目。

尽可能多地发现软件中的 Bug, 是软件测试工程师的终极目标之一。

1983年, ANSI/IEEE STD729给出了软件质量的定义:软件产品满足规定的和隐含的与需求能力有关的全部特征和特性,包括:

①软件产品质量满足用户要求的程度;

②软件各种属性的组合程度;

③用户对软件产品的综合反映程度;

④软件在使用过程中满足用户要求的程度。

软件质量具体表现在软件产品固有的特性方面,如产品的功能性、可靠性、易使用性、效率、可维护性、可移 植性和安全性等。

客户产品的功能性需求和非功能性需求。(要求易用性要高,界面要友好。)
软件产品开发人员+产品的可维护性、 兼容性、可扩展性和可移植性等。
软件开发企业+市场竞争、成本控制等方面

总之,高质量软件应具备的特性包括:

①满足用户的需求。

②合理处理进度、成本、功能的关系。

③具备一定的可扩展性和灵活性,能够适应一定程度的需求变化。

④具备一定的可靠性,能够有效处理例外的情况,能够承受各种非法情况的冲击。

⑤保持成本和性能的平衡。

1.1.1 软件质量保证

质量保证:是为了提供信用、证明项目将会达到有关质量标准,而在质量体系中进行的一系列有计划、有组织的工作活动。

软件质量保证小组:①软件开发的工程师 ②负责质量保证的计划、监督、记录、分析及报告工作的工程师。

软件质量保证活动:

①为项目准备质量保证计划;

参与开发该项目的软件过程描述;

复审各项软件工程活动,对其是否符合已定义好的软件过程进行核实;

审计软件工作产品,对其是否符合定义好的软件过程中的相关部分进行核实;

确保软件工作及其工作产品中的偏差已被记录,并按预定流程进行处理;

记录所有与相关规范或制度不符合的部分,并报告给高级管理者。

软件质量保证目标:

①通过监控软件开发过程来保证产品质量;

②保证开发出来的软件和软件开发过程符合相应标准与规程;

③保证软件产品、软件编制过程中存在的与规范或制度不符合的问题得到处理,必 要时将问题反映给高级管理者;

④确保项目组制定的计划、标准和规程不仅适合项目组的需要,同时还满足评审和 审计的需要。

SQA人员:指派的 SQA 人员不能是该项目组的开发人员、配置管理人员或测试人员,一个项目的SQA 除了监控项目过程,完成 SQA 相关工作以外,不应该参与项目组的其他实质性工作,否则他会与项目组捆绑在一起,很难保持客观性。

1.1.2 质量成本

质量成本:包含所有质量工作或者进行与质量有关的活动所导致的成本。

质量成本包括:①预防成本,②质量评估成本,③缺陷修复成本
预防成本包括:①质量计划;②技术评审/管理评审;③测试设备/工具;④培训
质量评估成本包括为深入了解各个过程中产品的质量而开展的活动,包括:①过程内和过程间的审查;②测试设备,工具的维护;③测试。
缺陷修复成本指在开发过程中和将产品交付给客户之后修复发现的缺陷所导致的成 本。包括:内部修复成本外部修复成本

内部修复成本:指产品交付前发现缺陷而引发的成本,主要由返工、修复和失败模式分析等组成。

外部修复成本:指产品交付给客户后所发现的缺陷带来的相关成本,如因解决客户的抱怨、退换产品、技术支持和维护 等而产生的成本。

以下为改正缺陷的相对成本图:


1.2 软件测试

软件测试是软件公司提高软件产品质量的重要手段之一。

测试,常常被认为是质量控制的最主要手段。

软件测试与质量保证的关系:

规范的软件测试活动测试计划的创建,测试用例设计,执行测试,更新测试文档等
软件质量保证活动协调度量,风险管理,文档检查,促进/协助流程改进,监察测试工作

相同点与不同点

相同点都是贯穿整个软件开发生命周期的
不同点SQA:侧重对流程中各过程的管理与控制,是一项管理工作,侧重于流程和方法。
测试:是对流程中各过程管理与控制策略的具体执行与实施, 其对象是软件产品(包括阶段性的产品),即测试是对软件产品的检验,是一项技术性的工作。
1.2.1 软件测试的定义

软件测试就是对软件产品进行验证和确认 的活动过程,其目的就是尽快尽早地发现软件产品在整个开发生命周期中存在的各种缺陷, 以评估软件的质量是否达到可发布水平。

程序测试的3个重要观点:

①测试是为了证明程序有错,而不是证明程序无错;

②一个好的测试用例在于它发现至今没有发现的错误

③一个成功的测试是发现了至今未发现的错误的测试

1.2.2 软件测试的目的

①尽快尽早地找到至今没有被发现的缺陷,而不是确保没有缺陷。

②评估软件是否达到可发布水平,即何时停止软件测试。

1.2.3 软件测试的原则

①可追溯性

②尽早开展预防性测试

③投入/产出原则

④回归测试

⑤80/20原则

⑥设立独立的测试机构或委托第三方测试。

未完待续..............................................(下节课讲完就更,因为我比较懒。)........


        开学第一课就学了这么多点😴😴😴(我真的没有上课睡觉),大部分时间都听老师吹牛去了,美其名曰:培养我们对软件测试行业的兴趣;不过目的确实达到了。因为随着进入大三👩‍🎓,参加过比赛,完成过项目,顺带考了几个不怎么有用的证书😵,越发觉得软件开发方向的枯燥乏味😩,或许一年后突然发现自己居然从事着从没有想过的行业。

        人生苦短,这学期我暂时喜欢 游戏开发 和 软件测试。🤩🤩🤩

🚩🚩🚩新学期新德行,立一个flag:好好写博客记录自己的学习内容,别无理由断更是我最大的愿望。🤪

  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值