| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 软件评测师(九)软件评测基础知识 -> 正文阅读 |
|
[开发测试]软件评测师(九)软件评测基础知识 |
软件测试与软件质量软件质量软件测试是软件质量保证工作的一个重要环节。 在1991年,软件产品质量评价国际标准ISO 9126中定义的软件质量是:“软件满足规定或潜在用户需求特性的总和”。到1999年,软件产品质量评价国际标准ISO 14598把软件质量定义为:“软件特性的总和,软件满足规定或潜在用户需求的能力”。 软件测试软件测试的定义 在《软件测试艺术》一书中将软件测试定义为: (1)测试是为了证明程序有错,而不是证明程序无错 (2)一个好的测试用例在于它能发现至今未发现的错误 (3)一个成功的测试在于它能发现至今尚未发现的错误 软件测试的目的 软件测试的目的和作用体现在以下几个方面: (1)发现软件中的缺陷:这是软件测试最基础的目的 (2)验证软件的需求和功能是否得到满足和实现,这个目的是“以客户为中心”的思想,软件测试的一个重要目标是验证客户的需求是否得到满足 (3)为软件提供者和软件使用者树立对软件质量的信心 (4)为达到软件产品和软件项目的商业目标提供保证 软件测试的对象:程序、数据、相关文档 测试主要分为4个阶段:测试分析阶段、测试计划阶段、测试执行阶段、测试总结阶段 软件测试的原则 常用的软件测试原则如下: (1)应当把“尽早的和不断地进行测试”作为软件开发者的座右铭 (2)测试前应当设计合理的测试用例 (3)程序员应避免检查自己的程序 (4)在设计测试用例时应当包括合理和不合理的输入条件,合理的输入条件能验证程序正确的输入条件;不合理的输入条件指的是异常、临界且可能引起问题变异的输入条件 (5)充分注意测试中的集群现象:经验表明,测试后程序中残存的错误数目与该程序中已发现错误数目或检错率成反比 (6)严格执行测试计划,排除测试的随意性 (7)应当对每一个测试结果做全面检查 (8)妥善保存测试计划、测试用例、出错统计和最终测试报告,为后续的维护提供方便 (9)修改程序以后要进行回归测试 (10)测试用例要能够映射到需求 软件测试的主要工作内容 确认和验证是软件测试的主要工作内容 验证(Verification)是保证软件正确实现特定功能的一系列活动和过程,其目的是保证软件生命周期中,每一阶段的成果满足上一阶段所设定的目标,也就是要证明在软件生命周期中各个阶段,以及阶段间的逻辑协调性、完备性和正确性。 确认(Validation)是保证软件满足用户需求的一系列活动和过程,其目的是在软件开发完成后保证软件与用户需求相符合,也就是要证实在一个给定的外部环境中软件的逻辑正确性。确认包括需求规格说明的确认和程序的确认,而程序的确认又分为静态确认和动态确认。静态确认是通过人工分析或程序正确性证明来确认程序的正确性;动态确认是通过动态分析和程序测试来检查程序的执行状态,以确认程序是否有问题。 软件测试过程模型V模型 软件测试V模型中的过程从左到右,描述了基本的开发 过程和测试行为。V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系。局限性: 把测试作为编码之后的最后一个活动,需求分析等前期产生的错误直到后期的验收测试才能发现. W模型 W模型相对于V模型更科学。W模型是V模型的发展,强调的是测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、功能和设计同样要测试。测试与开发是同步进行的,从而有利于尽早地发现问题。 ? H模型 ?H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。 H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。 ? X模型 软件测试X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序 前置测试模型 前置测试模型吸取了V模型和X模型的优点,它是将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以加快项目的速度。 软件测试分类按阶段分为:单元测试、继承测试、确认测试、系统测试、验收测试 按照测试实施组织可以分为:开发方测试(α测试)、用户测试(β测试)、第三方测试 按测试采取的技术和思想方法分为:黑盒测试、白盒测试、灰盒测试 按软件测试方式分为:静态测试、动态测试 单元测试单元测试又称“模块测试”针对软件最小单位——程序模块进行正确性验证的测试,目的在于发现软件各模块内部的错误 单元测试的内容如下: (1)模块接口测试 (2)局部数据结构测试 (3)路径测试 (4)错误处理测试 (5)边界测试 集成测试集成测试又称为“组装测试”,在单元测试完成的基础上,将模块按照要求组装起来进行测试,主要目标是发现与接口有关的问题 集成测试需要考虑的问题如下: (1)在把各个模块连接起来时穿越模块接口的数据是否会丢失 (2)一个模块的功能是否会对另外一个模块的功能产生不利影响 (3)各个子功能组合起来是否能达到预期要求的父功能 (4)全局数据结构是否存在问题 (5)单个模块的误差累积起来是否会放大,从而达到不能接受的程度 模块集成组装方式:一次性集成、增值式集成(自顶向下、自底向上、混合式) 确认测试确认测试(Validation Testing),又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。 确认测试的目标: (1)软件的特性是否与需求符 (2)所有的文档都是正确且便于使用 (3)同时,对其它软件需求,例如可移植性、兼容性、出错自动恢复、可维护性等,也都要进行测试 系统测试系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。 系统测试包括: (1)恢复测试,主要检查系统的容错能力; (2)安全性测试,检验在系统中已存在的系统安全性措施、保密性措施是否发挥作用,有无漏洞; (3)强度测试,检查在系统运行环境不正常到发生故障的时间内,系统可以运行到何种程度的测试; (4)性能测试,测试软件在被组装进系统的环境下运行时的性能 验收测试验收测试的依据是双方事先约定的标准,如需求规格、合同及软件开发任务书等,验收测试通常由用户或用户委托的第三方测试机构来执行。 用户手册不是验收测试的依据,只是执行测试的参考资料。 缺陷描述缺陷产生的原因缺陷(bug)从不同的角度表现为软件错误、软件缺陷、软件故障、软件失效 (1)软件错误:指软件生存周期中不希望或不可接受的人为错误 (2)软件缺陷:是指存在于软件之中的那些不希望或不可接受的偏差 (3)软件故障:是指软件运行过程中出现的一种不希望或不可接受的内部状态。 (4)软件失效:是指软件运行时产生的一种不可接受的外部行为结果。 软件缺陷的定义符合下列5种情况之一的即可认为是软件缺陷。 (1)软件未达到软件产品需求说明书中指明的要求。 (2)软件出现了软件产品需求说明书中指明不会出现的错误。 (3)软件功能超出了软件产品需求说明书中指明的范围。 (4)软件未达到软件产品需求说明书中虽未指明但应达到的要求。 (5)测试人员认为难以理解、不易使用、运行速度缓慢或者最终用户认为不好的问题。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 2:50:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |