什么软件质量/如何评价软件的质量

  1. 1.       软件质量:

         软件质量是软件的生命,它直接影响着软件的使用和维护。通常软件的质量有下面几个方面来评价质量的优劣:

                  (1)   软件需求是衡量软件质量的基础,不符合需求的软件就不具备质量。设计的软件应在功能、性能等方面都符合要求,并能可靠地运行。

                  (2)   软件结构良好,易读、易于理解,并易于修改、维护。

                  (3)   软件系统具有友好的用户界面,便于用户使用。

                  (4)   软件生存周期中各阶段文档齐全、规范,便于配置、管理。

 

  1. 2.       如何评定软件质量(评价模型):

          一个软件,我们如何评定呢?最通用的一个规范标准就是使用ISO/IEC 9126-1991 标准规定的软件质量度量模特。这个标准在网上很容易down到,它不仅对软件质量做了定义,还涉及了整个软件测试的一些规范流程等等,设计测试计划的撰定,测试用例的设计。

 

     ISO/IEC 9126-1991标准规定的软件质量度量模型,它由3层组成,其中第1层称为质量特性,第2层称为质量子特性,第3层称为度量。

 

 

图1:ISO软件质量度量模型

 

 

  1. 3.       软件评价的过程(流程):

        软件质量评价的目的是为了直接支持开发并获得能满足用户要求的软件。最终目标是保证产品能提供所要求的质量,即满足用户明确的和隐含的要求。软件产品的一般评价过程是,确定评价需求,然后规定、设计和执行评价,如图所示。

 

 

图2:软件评价过程

 

 

  1. 4.       怎么去保证软件的质量(执行评价):

         为了在软件开发过程中保证软件的质量,软件的质量保证活动应贯穿整个软件生存周期的每一个阶段。软件的质量保证的措施主要有检查、评审和测试。如图所示,软件质量保证的工作从项目一开始就应介入。

   

      图3:质量保证活动

 

           个人理解:检查和评审一般是由客户,有经验的PM,产品经理,软件测试人员等等(广义的QA)参与进来的活动,如项目中demo例会,在demo的同时,大家及时发现问题并讨论分析,以这种方式发现软件的问题。而测试一般是由QA(狭义的QA)参与进来的活动,它是一种普遍的测试行为,QA根据需求分析,设计test plan和test case,然后根据项目的schedule去执行测试流程,当然对于测试,不一定就是专业的测试人员,PM,产品经理,customer也会参与进来。例如在软件Beta阶段,往往有客户参与进来。

 

  1. 5.        软件测试 (图3中的第四步)

 

          简单地说,软件测试就是为了发现错误而执行程序的过程。在IEEE提出的软件工程标准术语中,软件测试被定义为:“使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。” 软件测试是与软件质量密切联系在一起的,归根结底,软件测试是为了保证软件质量。

 

         软件测试是一个找错的过程。软件测试的过程亦是程序运行的过程。程序运行需要数据,为测试设计的数据称为测试用例。测试用例的设计原则是尽可能暴露程序中的错误。

 

         软件是由人来完成的,所有由人做的工作都不会是完美无缺的。软件开发是个很复杂的过程,期间很容易产生错误。无论是软件从业人员、专家和学者做了多大的努力,软件错误仍然存在。因而大家也得到了一种共识:软件中残存着错误,这是软件的一种属性,是无法改变的。所以通常说软件测试的目的就是为了发现尽可能多的缺陷,并期望通过改错来把缺陷统统消灭,以期提高软件的质量一个成功的测试用例在于发现了至今尚未发现的缺陷。

 

          软件测试的目的是以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。

 

具体软件测试的流程,方法,规范等等略。

posted @ 2021-02-23 15:14  lclc  阅读(1376)  评论(0编辑  收藏  举报