《精通软件性能测试与LoadRunner最佳实战》—第1章1.3节软件测试的定义

简介: 随着计算机行业的不断发展,软件系统规模和复杂性不断扩大,先前由一两个人就可以完成的中小型项目已经不再适用于现在软件项目的开发模式和系统的规模。

本节书摘来自异步社区《精通软件性能测试与LoadRunner最佳实战》一书中的第1章1.3节软件测试的定义,作者于涌 , 王磊 , 曹向志 , 高楼 , 于跃,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 软件测试的定义
精通软件性能测试与LoadRunner最佳实战
随着计算机行业的不断发展,软件系统规模和复杂性不断扩大,先前由一两个人就可以完成的中小型项目已经不再适用于现在软件项目的开发模式和系统的规模。现行软件项目通常业务功能复杂,操作人数较多,软件厂商在激烈的市场竞争中不仅需要考虑产品的功能实用性、界面的美观性、易用性等,产品的健壮性,以及快速及时的响应、支持多用户的并发请求等性能测试方面的要求也越来越受到关注,软件的性能测试可以说是软件测试的重中之重。它是测试人员从用户角度出发对软件系统功能、性能等方面进行测试的行为,是一种非常重要的软件质量保证的手段。

软件测试就是在软件投入正式运行前期,对软件需求文档、设计文档、代码实现的最终产品以及用户操作手册等方面审查过程。软件测试通常主要描述了两项内容。

描述1:软件测试是为了发现软件中的错误而执行程序的过程。

描述2:软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计的多组测试用例(即输入数据及其预期的输出结果),并利用这些测试用例运行程序以发现错误的过程,即执行测试步骤。

这里又提到了两个概念:测试和测试用例。

测试包含硬件测试和软件测试,在这里如没有特殊说明,测试仅指软件测试。它是为了找出软件中的缺陷而执行多组软件测试用例的活动。

软件测试用例是针对需求规格说明书中相关功能描述和系统实现而设计的,用于测试输入、执行条件和预期输出,测试用例是执行软件测试的最小实体。

关于软件测试还有一个概念,就是测试环境。测试环境包括很多内容,具体如下。

(1)硬件环境(PC、笔记本电脑、服务器、小型机、大型机等)。

(2)软件环境(操作系统,如Windows 2000、Windows 9x、Windows XP、Windows NT、UNIX、Linux等;Web应用服务器,如Tomcat、Weblogic、IIS、WebSphere等;数据库,如Oracle、SQL Server、MySQL、DB2等;还有一些其他的软件,如办公软件,杀毒软件等)。软件环境的配置还需要考虑软件的具体版本和补丁的安装情况。

(3)网络环境(如局域网、城域网或因特网,局域网是10Mbit/s、100Mbit/s的,还是其他类型的)。

有时在进行软件测试的时候,同一个应用系统,因为测试环境的不同将直接导致软件运行结果的不同(如界面不同、运行结果不同等),为了保证不再出现类似“狮子王游戏”软件兼容性测试方面的问题发生,在进行测试环境搭建的时候,需要注意以下几点。

(1)尽量模拟用户的真实场景。

就是测试环境尽量模拟用户应用的网络应用、软件、硬件使用环境,全面仿真用户的真实场景的测试,与用户的各项配置均一致。有些情况下,完全模拟用户的场景是有困难的,这时可以通过与客户沟通,在特定的时间段(如节假日、下班以后等时间)应用客户的环境来达到测试的目的。

(2)干净的环境。

有时为了考查一款软件是否可以在新安装的操作系统下正常运行,就需要在干净的机器上考查这个软件相关的动态链接库(DLL文件),相应组件是否能够正常注册、复制到相应路径下;有些情况下由于程序的运行需要第三方组件或者动态链接库的支持,然而,在打包的时候忘记把这些内容打进去,而导致在干净的系统中会出现问题。在干净的系统下测试还可以有效避免由于安装了其他软件,产生冲突,影响问题定位方面的事情发生。

(3)没有病毒的影响。

有时,测试人员会发现系统在本机上出现文件无法写入、网络不通、驱动错误、IE浏览器和其他软件的设置频繁被改变等一系列莫名其妙的问题,而这些问题在别的计算机上没有,遇到这些问题,一般情况下可能是您的计算机感染上了病毒,需要杀毒以后再进行测试。在有病毒的计算机上进行测试是没有意义的事情,因为不知道这是系统的问题还是病毒原因而产生的问题。

(4)独立的测试环境。

做过测试的读者可能经常都会被研发和测试共用一套测试环境而困扰,因为测试和研发的数据互相影响。例如,一个进销存软件,测试人员做了进货处理,进了10口电饭锅,进货单价为100元/口,接下来进入库存统计时发现库存金额为800元,原来是因为开发人员销售了两口电饭锅,致使库存统计的结果数据不对。在共用一套环境情况下,研发、测试相互影响的事情比比皆是,不利于缺陷的定位,也不利于项目或者产品任务的进度控制。

本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。

相关文章
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
648 11
|
测试技术
软件测试的艺术:探索式测试的实践与思考
在软件开发的广阔海洋中,测试是确保航船稳健行驶的关键。本文将带你领略探索式测试的魅力,一种结合创造性思维和严格方法论的测试方式。我们将一起揭开探索式测试的神秘面纱,了解其核心概念、实施步骤和带来的效益。通过实际代码示例,你将学会如何将探索式测试融入日常的软件质量保证流程中,提升测试效率与质量。
|
数据采集 算法 数据管理
频标频稳比对测试系统重新定义测量边界
在上海张江实验室的超净间里,一束激光正以每秒 30 万公里的速度穿越真空腔,与原子跃迁频率进行着纳米级的较量。而在千里之外的西安高新区,一台黑色金属机箱内,SYN5609A 型频标比对测量系统正以同样的精度,为这场量子级的时间竞赛提供着基准坐标。这台看似普通的仪器,正在用双混频时差技术,将人类对时间的掌控精度推向新的维度。
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
365 1
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
监控 jenkins 测试技术
软件测试中的自动化测试策略与实践##
本文旨在探讨自动化测试在软件开发生命周期中的重要性,以及如何有效地实施自动化测试策略。通过分析自动化测试的优势和挑战,结合具体的实践案例,提出了一系列实用的自动化测试方法和技巧。本文不仅为读者提供了理论知识的深入解析,还强调了实际操作中的关键注意事项,旨在帮助读者更好地理解和应用自动化测试技术,提高软件质量。 ##
300 27
|
测试技术 UED 开发者
软件测试的艺术与科学:探索有效的测试策略
在软件开发的宇宙中,测试是一颗璀璨的星辰,它不仅保障着产品的质量,也指引着项目的方向。本文将带你穿梭于测试的银河系,从基础的单元测试到复杂的集成测试,再到全面的系统测试,我们将一探究竟。你会发现,每一个测试阶段都是一次对代码深度和广度的挑战,也是一次对开发者耐心和智慧的考验。准备好了吗?让我们开始这段探索之旅,看看如何通过精心设计的测试案例来确保我们的软件能够在现实世界中稳健运行。
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
敏捷开发 Java 测试技术
探索软件测试中的自动化测试框架
在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的不断进步和软件项目的日益复杂化,传统的手动测试方法已经无法满足高效、准确的测试需求。自动化测试作为一种提高测试效率和质量的有效手段,越来越受到开发者和测试者的青睐。本文将深入探讨自动化测试框架的重要性、常见的自动化测试工具以及如何选择合适的自动化测试框架。
364 10