软件测试技术---测试的基本概念

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37618157 1.软件质量1)定义:反应软件实体 满足明确的和隐含的需求  的能力特性的综合。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/37618157

1.软件质量

1)定义:
反应软件实体 满足明确的和隐含的需求  的能力特性的综合。
国家标准:
(1)软件产品能满足 给定需要的性质和特性的总体  如:符合规格说明书
(2)软件具有所期望的各种属性的组合程度
(3)顾客和用户觉得软件满足其综合期望的程度
(4)确定软件在使用过程中满足顾客预期要求的程度

2)软件质量的属性
软件能够符合各种精确的功能以及性能需求,符合文档化的开发标准,则这个软件质量就是高的。
软件能够处理例外和异常的情况,具有足够的容错性和纠错能力,则这个软件质量就是高的。
因此,软件的质量实际上是 各种复杂属性的组合,定义一个软件的质量其实就是为这个软件定义一些列的质量属性。
质量属性可以理解为软件能不能。。。有没有。。。

人们通常用软件质量模型来 描述软件的质量属性
国家标准:
软件质量模型分为外部质量模型,内部质量模型,使用质量模型
外部质量模型:软件的功能型,可靠性,符合开发标准等( 从用户的观点看软件有没有符合某些东西
内部质量模型;软件的效率性等( 从专业的角度看软件的执行效率怎样等
使用质量模型:软件在规定的环境下进行规定的操纵是否能完成

3)软件的度量
软件生命周期大致可分为三个阶段(测试角度):定义软件质量的要求,实现软件质量的要求,测试软件是否达到了要求
外部度量:在使用和测试软件的过程中,通过观察软件的行为,执行等导出软件的度量,从而评价软件的质量
内部度量:在设计和编码的过程中,通过规格说明书等中间产品测量内部的质量特性

4)影响软件质量的主要因素
主要因素有三个:开发软件的组织,开发过程以及开发过程中使用的方法和技术



2.软件测试的概念

1)软件测试的定义:
(1)在规定条件下运行系统或构件的过程,观察并记录结果做出评价
(2)分析软件项目的过程,检测bug并评估软件项目的特性

2)软件测试的目的:
(1)测试的目的是证伪----发现程序中各种各样的错误
(2)测试就是建立一种信心,确信程序能够按预期的设想运行---在规定的环境中运行软件的所有功能
软件测试是为了保证软件质量
一个好的测试用例在于它能发现至今未发现的错误
一个成功的测试用例是发现了至今未发现的错误的测试

3)软件测试的原则:
(1)应当把  今早的和不断的进行软件测试 作为座右铭
(2)测试用例应由输入数据和对应的预期输出数据组成
(3)程序员应避免测试自己的程序
(4)在设计测试用例时,应包括合理的和不合理的输入条件
(5)充分注意测试中的集群现象
(6)严格执行测试计划,排除测试的随意性
(7)应当对每一个测试结果做全面的检查
(8)妥善保管相关文档




3.软件的缺陷和错误

1)软件的缺陷(bug)主要有几种
(1)没有实现规格说明书要求的内容
(2)实现了规格说明书没有要求的内容
(3)出现了规格说明书指明不应该出现的错误
(4)没有实现规格说明书中没有明确指出但是应该实现的目标
(5)软件难以理解,不易使用
以开发一个计算器为例子:
(1)说明书规定必须准确无误的实现加减乘除,而软件按下+号却反应或计算结果错误
(2)说明书中没有要求实现取余运算,而软件实现了
(3)说明书规定永远不会出现死机等情况,如果随意乱敲键盘软件无法接受输入的数字
(4)计算器不会随着电池的电量出现计算结果偏差,说明书中虽然没有明确说明,但是这是默认的,也是必须实现的功能
(5)布局位置不好或者难以看清等

2)软件缺陷的级别:
致命的
严重的
一般的
微小的

3)软件缺陷的状态:
活动状态:问题未解决
已修正状态:通过了单元测试等
非活动状态:确认了缺陷不复存在
保留状态:由第三方产品引起的缺陷
不一致状态:不需要解决或者在下一版本将会解决

4)软件缺陷的产生原因:
技术问题,团队工作,软件本身等

5)软件缺陷的构成:
功能缺陷
系统缺陷
加工缺陷
数据缺陷
代码缺陷





4.软件测试的心理学和经济学

1)心理学
软件测试更适合被看做一个视图发现程序中错误的破坏性的过程
测试人员应该有良好的测试心态和明确的测试目标

2)经济学
(1)黑盒测试
又称为数据驱动测试   输入/输出驱动测试
测试目标与程序的内部机制无关
测试数据完全来源于规格说明书
(2)白盒测试
又称逻辑驱动测试
检测程序内部的逻辑结构等

3)选择测试用例的时候要遵守的经济型准则
根据程序的重要性和发生故障产生的后果来确定测试等级
尽可能做到用少的测试用例来发现更多的错误




5.软件质量保证
质量保证是一个有组织,有计划的活动,他向人们提供证据说明程序正在按质量要求运行
软件质量保证是通过对软件有计划的进行  各种评审和审核  来  验证和确认  软件是否符合标准

软件的验证和确认:
验证是用数据证明人们是否在争取的制造产品
确认是用数据证明人们时候制造了正确的产品
相关文章
|
11天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
58 8
|
16天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
33 4
|
17天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
17天前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
43 4
|
17天前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
28 4
|
18天前
|
测试技术 持续交付 数据安全/隐私保护
软件测试的艺术与科学:探索自动化测试框架
在软件开发的世界中,测试是确保产品质量的关键环节。本文将深入探讨自动化测试框架的重要性和实现方法,旨在为读者揭示如何通过自动化测试提升软件测试效率和准确性。我们将从测试的基本概念出发,逐步引导读者了解自动化测试框架的设计和实施过程,以及如何选择合适的工具来支持测试活动。文章不仅提供理论知识,还将分享实用的代码示例,帮助读者将理论应用于实践。无论你是测试新手还是经验丰富的开发者,这篇文章都将为你打开一扇通往更高效、更可靠软件测试的大门。
19 1
|
3天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
27 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
|
2月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
74 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
3月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
262 7
Jmeter实现WebSocket协议的接口测试方法
下一篇
DataWorks