关于2022年国内软件质量调查问卷的一些感悟与收获
【摘要】 CSDN《2022年国内软件质量调查》正式开启,我们诚邀各位博主,特别是测试领域的各位技术er参与调查,并围绕主题,撰写《我填写“2022年国内软件质量调查问卷”的感想》,或者《我亲身经历的2022年软件质量工作》 相关内容博文,参与投稿即可获得【话题达人】勋章+【质量卫士】定制勋章,更有机会获得CSDN周边大奖!
🎯如何定义软件
- 软件(英文:software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。
- 与计算机系统操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
- 简单来说:软件=程序+数据+文档
问卷中关于软件的问题(节选)
🎯关于软件质量
📝我的感受
- 关于软件质量这个词,我还是比较陌生的,除了在软件工程的课上偶尔听到或是在一些IT文章看到过,其余时间就没有真正的去了解它了。但是通过2022年国内软件质量调查问卷的填写好,我对软件质量有了新的看法和理解。其中问卷中提及的质量除了软件质量这个大范围,还包括了需求质量、设计质量、开源组件的质量、代码质量和测试质量等等。虽然我不是测试岗位的程序员,而且我还只是一个大学生,对于软件开发的完整流程没有非常直观的感受,因此问卷中我还要一些不同的技术和词语,这让我受益匪浅。通过问卷,我的直观感受有一点就是软件质量的重要性和软件质量与软件测试密不可分的关系。
- 因为本人极其有幸的是在校期间参与过校级的软件测试的比赛,所以借此问卷,我对软件质量有了新的思考和看法,深刻了解到软件测试的重要性。因此接下来让我们一起了解学习下软件质量和软件测试。
问卷中关于软件质量的问题(节选)
❓什么是软件质量
- 软件质量就是“软件与明确地和隐含地定义的需求相一致的程度”。更具体地说,软件质量是软件与明确地叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。
- 1️⃣软件需求是度量软件质量的基础,与需求不一致就是质量不高。
2️⃣指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导致质量不高。
3️⃣通常,有一组没有显式描述的隐含需求(如期望软件是容易维护的)。如果软件满足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。
🧩软件质量的保证
- 软件质量保证是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。
🧩软件质量评价
- 软件在企业中的应用越来越关键,我们常说“硬件是基础,软件是灵魂”,可见软件在整个架构中起到至关重要的作用。对于企业来说,软件开发单位按照企业的需求,开发一个应用软件系统。按期完成并移交使用,系统正确执行用户规定的功能,仅仅满足这些是远远不够的。定制的软件可能难于理解和修改。在维护期间,企业的维护费用大幅度增加;企业对外购的软件质量存在怀疑,企业评价软件质量没有恰当的指标,对软件的可靠性和功能性指标了解不足;因为没有切实的生产率指标没有过去关于软件开发过程的数据,企业无法精确评价开发商的工作质量。
- 美国的 B.W.Boehm 和 R.Brown 先后提出了三个层次的软件评价度量模型:软件质量要素、准则和度量。随后 G.Mruine 提出了自己的软件质量度量 SQM 技术,波音公司在软件开发过程中采用了 SQM 技术,NEC公司也提出了自己的SQM工具即SQMAT,并且在成本控制和进度安排方面取得了良好的效果。
详情见:
🎯简单了解软件测试
❓什么是软件测试
- 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
🧩软件测试的目标
- 软件测试的目标是尽可能早地发现软件中潜在的各种错误和缺陷,并确保其得以修复,最终将高质量的软件系统交给用户。软件测试就是在软件投人使用前,对软件的需求分析、设计规格说明和系统编码的最终复审。
- 测试不仅仅针对最终产品,而是开始于项目早期对构架的评估,并一直延续到将产品交付给客户。测试的目的是评估质量,并及时地提供反馈,以便及时又经济地解决质量问题。
🧩软件测试的方法和步骤
1️⃣方法
- 静态测试:静态测试是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程和接口等来检查程序的正确性的测试方法。
- 动态测试:软件的动态测试,就是通过运行软件来检验软件的动态行为和运行结果的正确性。
- 黑盒测试:黑盒测试法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功能要求。因此,黑盒测试又称为功能测试或数据驱动测试。
- 白盒测试:白盒测试相对于黑盒测试而言具有一定透明性,原理为根据软件内部应用、源代码等对产品内部工作过程进行调试。
2️⃣策略
- 单元测试:单元测试即为将整个软件分解为各个单元,随后对单元进行测试。
- 集成测试:集成测试与单元测试相反,原理为将部分需测试部分作为整体进行集成,随后针对此类集成部分进行测试。
- 确认测试:确认测试检查软件的功能与性能是否与需求规格说明书中确定的指标相符合。
- 系统测试:系统测试是将集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、外设、支持软件和数据等其他系统元素结合在一起,在实际运行(使用)环境下所进行的一系列测试活动。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)