软件测试的“道”与“术” - 软件测试新观察(转载崔启亮的文章)
软件质量是指软件的功能和性能满足用户需求和期望的程度。随着IT技术在各个行业的广泛深入地应用,软件质量成为普遍重视的因素。如何有效地提高软件质量,增强软件产品的竞争力,是软件企业管理和技术人员共同面对的问题。
软件质量重于泰山
软件质量重于泰山,软件质量是核心竞争力之一。现在和未来软件企业的竞争力不仅体现在产品类型的多样性,产品功能的先进性,更多的体现在产品质量的稳定性和可靠性。软件应用的领域不断深入,设计的复杂程度逐步扩大,开发的周期不断缩短,质量的要求水涨船高,软件企业面临着巨大挑战。
用户对软件产品质量的要求不断提高,促使软件企业把提高软件质量作为增强竞争力的策略。提高软件质量要素在哪里?可以通过采用软件设计技术,加强软件过程管理,实施软件测试等方法。从提高软件质量的显著程度、投资回报率和可实施性等方面比较,实施有效的软件测试,提高软件测试的效率,是保证软件质量的最显著方法。
软件测试是通过技术、流程、工具、人员以及管理手段,检测软件文档、软件中间产品和最终产品,查找和报告软件缺陷、错误以及隐患的专业技术。通过跟踪缺陷、错误及隐患的修正过程,确保软件产品、中间产品和文档符合软件工程过程需求和用户的最终需求。
软件测试创新之道
软件测试在国内仍处于起步阶段,各种软件测试的方法、技术和标准都还在探索阶段。国内软件行业普遍规模偏小,缺乏大型软件产品经验,开发过程不够规范,这决定了国内软件质量和测试行业,必须根据国内行业现状,确定软件质量目标和测试策略方法,而不是照搬照抄国外成熟软件企业的测试方法。
1.观念创新
提高软件质量的决定因素不是软件测试技术,而是对软件质量和测试的思想观念。只有把提高软件质量上升到企业战略发展的高度,才能从根本上解决问题。长期以来,国内软件行业对软件质量重视程度不足,对于软件测试的作用认识不够,造成项目因质量问题造成进度推迟甚至失败。
为了彻底改变这种被动现象,企业高层管理人员必须从管理思想、资源支持等方面为软件质量和测试部门提供全力支持。软件项目经理必须坚持软件开发和软件测试并行处理并且互相协调。软件开发人员重视和配合软件测试人员。
观念创新不要仅停留在口头上,而要落实在具体行动上,通过软件质量和测试的有效流程进行推动,通过过程改进进行提高。通过有效组织管理,形成以重视软件质量为荣,以轻视软件质量为耻的工作氛围。
2.流程创新
测试流程决定软件质量。软件测试如同软件开发一样,需要经过收集测试需求、确定测试策略、设计测试、执行测试、分析测试等流程。软件测试不是软件开发的最后阶段,而是贯穿于软件项目的整个生命周期。决定软件测试成败的关键是软件测试需求是否完整、准确,测试策略是否有效和实用,测试设计是否覆盖了测试需求。
软件测试流程既不是僵化的生搬硬套,也不是随机的增添取舍。软件企业的质量管理部门和项目开发团队需要根据公司技术、资源现状,针对项目的特点和客户需求,从保证软件质量、项目进度和测试成本等方面,进行优化设计并且不断改进流程管理。对于项目周期长、应用领域广、对质量要求高的软件,必须制定和遵守严格的测试流程。
测试流程创新的目标是在公司内部制定和执行完善的项目质量管理体系。优化项目生产方式,跟踪和度量生产过程和产品,使得生产过程和各阶段产品处于可控制和可度量状态,保证产品符合客户的功能和进度需求。
3.技术创新
软件测试是一项软件工程领域的专业技术,而不是简单的把软件测试认为随便找个人运行几次软件,就可以发现全部的软件问题。前文已经提到,软件测试需求和测试设计是决定软件测试效果的关键因素,因此,加强测试技术创新的重点是在测试需求和设计设计的创新。
在软件测试技术创新方面,要避免陷入过渡追求自动化测试技术的误区。自动化测试确实可以在某些方面显著提高测试效率和准确性,但是自动化测试只适合测试软件的某些方面的质量(例如性能测试,回归测试等),80%左右的软件缺陷是靠测试人员手工测试发现的。
对于某些特别需要自动化测试的软件特性,需要加强开发软件测试工具,而不是全部依赖市场上的现有测试工具。这是因为商业工具功能繁多,价格昂贵,培训和学习周期很长,选择不当就会造成巨大浪费。
4.管理创新
软件测试管理的目标是实现软件质量、进度、成本之间的最佳平衡。有效的测试管理需要企业管理层、软件开发团队、质量保证与测试团队通力合作,采用计划、组织、领导、控制等手段,组建高效团队,制定完善的测试流程,做好测试设计,有效执行测试,加强过程跟踪,从而顺利完成质量保证和测试任务。
测试管理创新的核心是软件质量和测试的团队建设,软件质量和测试是技术密集型活动,团队的知识结构、创造力和凝聚力是保证测试流程、测试技术充分实施的基础。质量和测试团队建设的重点是设置和培养各类技术和管理人才,进行有效交流,形成良好的评估和促进机制。
测试管理创新的另一个重点是测试管理平台建设。包括构建测试项目管理的集成系统,实现公司产品和项目数据信息的有效管理和顺序控制,使项目数据透明化,技术知识有效传承,项目质量和进度数据化、图形化。可以根据公司的现状,购买软件测试管理的商业工具,也可以内部开发软件测试管理工具。
软件测试技术路线图
如果把软件测试之道称为测试战略,要发挥测试战略的现实意义,需要把测试战略转化为测试战术。测试的“道”与“术”的无缝集成,才能显著地、持续地、逐步地提高软件产品质量。实施软件测试的战术是一系列过程的组合,涉及测试团队建设、流程设计、测试平台、测试管理等多个方面。
1.测试团队建设
测试团队可以是测试部,也可以是测试组。公司规模决定了测试团队的大小和组织形式。测试团队建设需要执行两个原则:第一,测试团队必须独立于开发团队,而不是附属于开发团队,实现测试的独立性和公正性;第二,测试团队必须具有明确的工作目标,即发现和报告软件缺陷,推动和确认缺陷修正,协助软件开发的过程改进,提高软件整体质量。
软件测试团队根据规模可以设置多个职位,每个职位具有明确的岗位职责,例如,测试部门经理、测试项目经理、测试组长、测试架构师、高级测试工程师、测试工程师等。对于刚刚成立的测试团队,可以一个人兼任多个职位,完成多项测试任务。测试人员的总数应该与开发人员相适应,最好在1:1到1:2之间。
2.流程设计
测试流程设计必须与软件设计流程相对应,基本测试流程包括测试需求分析,测试计划设计、测试用例设计、测试执行、测试评价、测试总结等。
根据软件需求和软件设计规格说明进行测试需求分析,测试需求分析的目的是明确需要测试的对象、特征、范围和方法,从而制定测试计划,确定测试策略。
测试计划设计是为了有效配置测试过程、人员和工具,充分利用现有的资源,按照项目计划进度,组织有效的测试。测试计划设计的输出结果是测试计划文档,它是指导软件测试活动的纲领性文档。
测试用例设计是指导具体测试内容和方法的关键内容,如果需要执行自动化测试,还需要依靠测试用例设计生成对应的测试脚本。测试用例设计的输出结果是不同类型的测试用例,这些测试用例必须以标准的、一致的形式设计、评审、存储、更新。
测试执行是发新和报告软件缺陷的阶段,根据软件计划的进度,分配测试内容,构建测试环境,依靠测试用例运行测试程序和程序文档。测试执行的输出结果是缺陷报告,测试进度报告等。
测试评价是度量软件测试执行效率和有效性的过程。测试评价的输入是测试用例的执行情况,软件缺陷的报告数据。测试评价的输出包括测试用例的有效性分析,软件缺陷的类型和有效性分析等,测试进度和有效性分析等。
测试总结包括测试过程每天或者每周的过程总结,也包括测试项目结束后的测试项目总结。测试总结的输出是测试总结报告,总体评价软件质量,指出测试存在的问题,提出改进的方法和进程,总计测试的有效经验。
3.测试平台设计
测试平台设计包括测试技术平台设计和测试管理平台设计。测试技术平台包括设计测试环境,设计或设置测试工具等。测试管理平台设计包括测试文档系统设计、测试版本配置管理、缺陷数据库设计、测试进度和质量分析系统设计。
测试技术平台设计需要根据测试计划的测试内容和测试环境要求,组织软件、硬件、数据库和网络等,这经常是一项较为耗时的工作,同时它影响着测试的正确性,必须尽快在测试开始阶段完成,最好采用有效的方法把搭建的测试环境进行备份保存,以便今后可以快速恢复,重复利用。
测试管理平台设计,影响测试管理的复杂度,好的测试管理平台可以使测试管理人员,方便的跟踪、查询、分析测试进度,评估测试人员的工作绩效,评价测试的总体质量。对于测试技术人员而言,可以方便的寻找测试对象和测试文档,报告和输出测试结果,共享测试数据,提高测试效率。
4.测试管理
测试管理关注人员、过程、产品三要素的互动与变化,测试管理包含项目计划和组织结构管理,测试阶段管理,时间、资源和质量管理,文档管理和团队管理等。测试部门经理、测试项目经理和测试组长是测试管理的主要执行者,需要与测试团队成员、开发人员、公司管理人员密切配合。
为了加强测试管理,需要确保测试数据信息流通畅,使测试团队、开发团队、质量保证团队之间有效交流。测试管理的其他内容包括团队成员参与各种培训,客观积极的绩效评估,识别项目测试风险,实现人尽其才,信息共享,进度可控,规避风险,降低成本,提高质量。
结论
提高软件质量是提高产品竞争力的重要因素,加强软件测试创新是显著改善软件质量的实用方法。软件测试创新是循序渐进的过程,从建立完整的质量管理体系入手,通过团队建设、优化流程、技术创新,加强管理,实现人员、流程和技术的和谐统一,提高软件质量的可预测试性和可控制性。
长按识别二维码加关注
更多游戏视频、福利等着你哦
软件测试的“道”与“术” - 软件测试新观察(转载崔启亮的文章)相关推荐
- 《Google软件测试之道》- Google软件测试介绍
<Google软件测试之道>- Google软件测试介绍 2015-05-21 目录 1 质量与测试 2 角色 3 组织结构 4 爬.走.跑 5 测试类型 相关链接 与 ...
- 35道最新【软件测试】面试题,常见面试题及答案汇总
前言 除了掌握扎实的专业技能之外,你还需要一份<软件测试面试宝典2022版>才能在万千面试者中杀出重围,成功拿下offer. 小编特意整理了35道测试必问必过面试题,送给大家,希望大家都能 ...
- 软件测试220道试题及答案
请点击↑关注.收藏,本博客免费为你获取精彩知识分享!有惊喜哟!! I 卷 一.单项选择题: 1. (B )可以作为软件测试结束的标志. A.使用了特定的测试用例 B.错误强度曲线下降到预定的水平 C. ...
- 软件测试常见概念(软件生命周期、软件开发模型、软件质量模型、软件缺陷管理、软件测试概述、软件测试分类、软件测试与软件开发、软件测试原则、黑盒测试方法、白盒测试方法、性能测试)
文章目录 1. 软件概述 1.1 软件生命周期 1.2 软件开发模型 1.2.1 瀑布模型 1.2.2 快速原型模型 1.2.3 迭代模型(增量模型或演化模型) 1.2.4 螺旋模型 1.2.5 敏捷 ...
- 【软件测试】快速入行软件测试
快速入行软件测试 1.初识软件测试 软件测试的前景与现状 软件测试越来越被企业重视,人才稀缺,市场需求扩大. 软件测试人员的职业生涯规划 技术型路线.自动化测试工程师.性能测试工程师.安全测试工程师等 ...
- 想自学软件测试?这本《软件测试》,入门必看
软件测试的经典书籍,这本书可以作为软件测试行业的入门科普书籍,内容通俗易懂. 介绍 本书涵盖了软件测试的方方面面:软件测试如何适应软件开发过程,基本的和高级的软件测试技术,在常见的测试任务中运用测试技 ...
- 《以道御术》荣耀上市,专家书评
千呼万唤始出来,<以道御术-CMMI 2.0实践指南>已经上架发行了,本书系统的解读了CMMI 2.0模型中的实践,首先介绍了CMMI 2.0相对于CMMI 1.3的变化,阐明了CMMI ...
- 《以道御术》荣耀上市,高管书评
<以道御术>荣耀上市,高管书评! 千呼万唤始出来,<以道御术--CMMI 2.0实践指南>荣耀上市.本书聚焦企业工程实践.落地实施CMMI 2.0的行动指南,CMMI主任评估师 ...
- 传统行业与供应链数据分析的“势”、“道”、“术”
所谓数据分析的势.道.术,就是指数据分析的方向.方法和工具,也是提出问题.分析问题.解决问题的思维逻辑.供应链上的数据是从制造型企业,到物流企业,再到零售业的过程.而这三者均是传统型企业,而如今更多的 ...
最新文章
- 操作系统导论中文版 pdf_一分钟带你认识微软操作系统 Windows 10
- 女生学编程有哪些好处呢?
- 北斗导航 | 利用模拟卫星星座估计GNSS接收机位置
- 让你不再害怕指针的应用-全程仿真+注解(第二部分数组)
- windows:(1)xmind常用快捷键
- Threading.Timer用法
- 机器学习中常见的距离公式
- 表生成器@TableGenerator
- LeetCode Repeated DNA Sequences
- Mac下 CMake 安装及环境配置
- 服务器虚拟机装nas,nas虚拟主机(nas为什么要装虚拟机)
- 如何去掉网页一直点击出现蓝色背景的效果
- 时差怎么理解_时差是怎么形成的?
- 全球与中国滴眼液和润滑剂市场深度研究分析报告
- 微信食堂就餐人数统计小程序开发,微信饭堂报餐人数,怎样统计公司每日就餐人数,就餐人数不固定如何统计,制作报餐微信小程序
- 互联网晚报 | 8月14日 | ​爱马仕回应16.5万自行车已抢光;​曝苹果新一代不再支持3.5mm耳机插孔;​元宇宙招聘潮开启...
- 华颖平板电脑开机后显示android,平板M5停用系统应用的方法,让你平板快到飞起...
- Matlab R2012b 重复激活,License 失效问题解决
- 逆向某视频app(一)
- java实现、项目开发团队分配管理软件
热门文章
- download file with c++
- 如何编写快速高效的SQL查询(一)——MySQL8.0优化器查询优化处理与样例
- 对于“条件竞争”的利用
- 计算机主机拆转视频,新旧电脑数据转移(如何将旧电脑数据转移到新电脑)
- 将正确的ADC与应用程序匹配
- Matplotlib、PIL Image如何将多张图片整合保存为一张图片
- 【日常】从批量合并 PDF 到 PyPDF2 的使用
- Excel 函数Min求最小值值为空时为零的情况如何处理,或者排除0怎么做
- ZZULIOJ:1134: 字符串转换
- Linux I2C设备regmap机制简析