软件质量保证报告

软件质量保证报告

现在越来越多的公司都开始真正重视起软件质量问题,要做到高质量的软件应该满足软件需求定义的功能和性能。

文档符合事先确定的软件开发标准软件的特点和属性遵循软件工程的目标和原则,还应该考虑在预算和进度范围内交付,因此在项目进行过程中要对偏差进行控制质量控制和质量保证。

质量控制是为了保证每一件工作产品都满足对它的需求而应用于整个开发周期中的一系列审查、评审和测试,质量控制在创建工作产品的过程中包含一个反馈循环,通过对质量的反馈,使得我们能够在得到的工作产品不能满足其规约时调整开发过程。所有工作产品都应该具有定义好的和可度量的规约,这样就可以将每个过程的产品与这一规约进行比较。质量保证由管理层的审计和报告构成,目标是为管理层提供获知产品质量信息所需的数据,从而获得产品质量是否符合预定目标的认识和信心。

软件质量保证

软件质量保证是为了保证软件系统或软件产品满足用户要求的质量而进行的有计划、有组织的活动,其目的是生产高质量的软件。在软件质量方面必须强调三个要点: 软件必须满足用户规定的要求,与用户需求不一致的软件,就无质量可言。

软件应遵循软件标准所定义的一系列开发标准,不遵循这些标准的软件,其质量难以得到保证。

软件还应满足某些隐含的要求,例如希望有良好的可理解性、可维护性等,而这些隐含的要求可能未被写在用户规定的需求中,满足它的显性需求而不满足其隐含需求,那么该软件的质量是令人怀疑的。

我们评价一款软件可以从以下一些角度进行

正确性

正确性是指软件按照需求正确执行任务的能力。 正确性也涵盖了“精确性方面。无庸质疑,这是对一款软件最基本的要求,比如我们通过ATM自动取款机取款时,在输入1,000时,结果只输出了800或者输出了1,200,可想而知这会对银行和客户会产生多大的影响。一款软件满足不了正确性的要求,再谈其他任何方面都没意义。

可靠性

可靠性是指在一定的环境下,在给定的时间内,系统能够正常运行的概率。我曾在手机中遇到一个问题:在待机状态下,手机网络信号等一切显示正常,会出现一些无法通信的情况,电话无法拨打,短信不能收发,重新开机后方可恢复正常。想象下如果情人约会,或者紧急救助时遇到这种情况会产生什么样的后果。

健壮性

健壮性是指在异常或者不利情况下,软件能够正常运行的能力。我们可以用生活中的一个例来说明,当流感出现的时候,在同样环境下,有些人很容易就生病,而有些人却任你东南西北风,就是安然无恙。

美观性

美观性主要指软件UI设计的情况,美观性就是从大众化审美以及心理学角度对软件提出的一个要求,这个要综合考虑软件的使用人群特点等。美观性包括软件的颜色搭配,字体使用,排版布局等方面。

性能

性能也就是一个软件效率问题,也就是软件特定时间空间环境下系统的响应能力。我们平时在使用手机进行编写短信时,可能有的手机在输入一个字符后,手机显示的很缓慢!这就是软件性能比较差的一个表现。

易用性

顾名思义,易用性是软件能否满足客户容易操作使用程度。易用性也是衡量一款软件质量好坏的一个重要方面,我们经常会听到有些人说某些手机太复杂了,不好用,不会用,那我想这样的软件并不能真正能称为好软件。在开发过程中,如果软件开发人员一味关注技术而不从用户使用的角度来考虑那就大错特错了。

兼容性

兼容性指一款软件和其他不同软件通信(或交换信息)的能力。以前我在做一些蓝牙耳机测试的时候,就出现有蓝牙耳机和某些手机配对后通过耳机端无法对手机端进行控制的问题,这就造成了和某些手机无法搭配使用,问题比较严重。在做兼容性测试方面,首先要保证所做软件能和市场上一些知名品牌产品以及市场占有率比较高的产品的兼容。 安全性

安全性是指软件系统防止被非法入侵的能力。如我们会有听说某网络系统被黑客入侵导致瘫痪的情况就是一个例子。当然一个系统的安全性既和软件本身的抗入侵能力有关又和一些相关保护措施有关,如是否有加密、安装防火墙等。

可移植性

可移植性指的是软件不经修改或稍加修改就可运行于不同软硬件环境(CPU、OS和编译器)的能力,主要体现为代码的可移植性。

可扩展性

可扩展性反映软件适应“变化”的能力,如增加新功能等。可扩展性和可移植性一样,主要都是从开发的角度对软件提出的要求。从一些不同角度来评价一款软件,当然实际评测过程中还要根据嵌入式、B/S架构、C/S架构等不同特点软件来有所侧重,同时还要结合软件软件使用对象、生命周期等来综合评价。当然,以上各点满足了也不能就能说明就是一款好软件了,其他比如可维护性、可复用性、可测试性等也是我们要根据实际情况来考虑的因素。

软件质量的目标

软件公司生产软件的最根本目标是为了让产品赢得市场、赢得顾客,从而获取利润。如果企业连生存的能力都没有了,软件的质量做的再完美也无用。软件公司开发一款软件,并不是说质量越高越好。质量越高,成本相对会越高,这样企业就可能支持不力,无法生存;或者价格很高,客户无法接受。在此并不是说软件质量并重要,质量很重要!好和坏从来都是相对的。从用户的角度而言,在能够正常满足使用要求的软件就是好软件;对企业而言,在软件生命周期里,能够软件能够满足用户使用,能给自己带来更多利润的软件就是好软件。 不同场合对软件质量的要求是不一样的,比如我们国家发射神州五号而后神州六号宇宙飞船,这就要求其软件质量要百分百可靠,不能出哪怕一点点的差错,相信在不久的将来我们国家在发射载人登月宇宙飞船时,对飞船软件质量的的重视程度会有过之而无不及。 人员素质

软件是人做出来的,软件质量的好坏和开发、测试以及有关管理人员都息息相关。在软件开发方面,我们在此不谈,只从测试的角度来谈软件质量保证。说质量保证,先问下自己,从事质量保证的人员真的有能力去做好质量保证吗?质量保证的人员能力问题是个重要方

面,如果连软件中潜在问题都发现不了,想解决问题,做高质量的软件,谈何容易?

测试人员能力是一方面,其他如从事软件测试人员的职业素养也是个重要方面。如果一款软件未有充分去测,甚至对有些概率性的问题一笑而过,耐不住性子深入去测,或者在发行版本时只简单测试一下,这些都无法真正保证软件的质量。而这种情况下的出现,测试人员根据简单的测试,下了个软件没问题的结论,这样对顾客而言影响是很大的,最终对公司而言无论形象还是未来产品销售等方面的都是不利的。

公司规范

测试人员的能力再强,测出的问题再多,如果在些问题没有解决的情况下匆匆将软件release给客户,软件问题一大堆。这样的测试其实是没有多大的实际意义的。测试的目的是发现问题,解决问题,保证软件质量。

当然这个保证单凭测试人员、QA是不行的,在我们国内,其实很多企业测试人员和QA人员在软件发行问题上根本没有发言权,基本上都是公司领导说了算,如果公司领导说“这些问题没关系,我觉得软件可以发行”,那这时软件基本都会发行的。至于所谓的测试、QA以及项目经理等人员,你就一边吹风去吧。

所以,在软件问题评估,软件发行等问题上一定要给质量保证人员(通常是QA)足够的权力,QA测评通不过就是通不过!

可惜目前真正能做到这一步的公司并不多。企业为了生存,也很难把这方面真正做好,比如有些产品赶在某些节假日上市时有着良好的时常,而过了那一段时期,可能产品就很难卖了。当然,这些就不是测试人员考虑的范围了。

我们如何成为一名优秀的软件质量保证工程师

软件质量保证牵扯到软件开发的方方面面,包括从启动到需求,到设计,到开发,到测试,到发布,到后期维护的整个过程。在启动阶段,你要理解如何制定项目章程,如何书写项目范围说明书,如何制定项目计划;在需求阶段,你需要理解如何与用户确认需求,如何进行需求分析,如何与用户确认用户需求;在设计方面你要大体理解当前设计前沿技术,了解数据库知识,如何进行概要设计和详细设计;在构造阶段,您需要了解编码规范,编程技巧,集成技术;在测试阶段你需要理解如何进行单元测试,集成测试,系统测试;在验收阶段您需要理解如何进行验收测试,如何培训用户,如何替用户搭建环境;在维护阶段您需要理解如何理解代码,如何进行再工程技术。在这里你好像是一位多面手,但是了解得越多,对你从事质量保证工作越有好处。由于现代分工比较细致,往往一个质量小组需要各个方面的人才组合在一起,才能发挥更大的效能,才能达到1+1>2的结果。

对于从事软件质量保证工作,您需要一定的数学知识,尤其是概率统计知识。无论你是否采用6Sigma,你需要对你的软件质量进行度量活动,需要收集数据,分析数据从而解决问题。你要理解如何使用直方图,散点图,鱼刺图,饼图等工具。这样你才能展示问题的原因,寻找解决问题的原因。

对于从事软件质量保证工作,沟通能力非常重要。质量工作做得好坏,关键在于领导的支持和员工的参与。由于目前中国软件的实际工作,公司领导往往忽视软件质量的重要性和优先性,你就需要与领导讲清楚质量管理的优势,如何可以提高公司产品的质量,减少客户的投诉率从而节约公司的成本,提高劳动生产率。有了领导强有力的支持,你的工作就好像添加了一把利剑,可以运行得得心应手。但是仅仅有领导的支持时往往不够的,还需要员工的支持,你需要了解当前问题有什么,阻碍这些问题的要数是是什么,大家需要解决什么样的问题?这些都需要靠你的沟通技巧来解决。

 

第二篇:软件质量保证答案

2、B C c d d b c a b b

DC对BBBDCBDABBD

BADADDCBCDB

CBABD下列关于测试用例来源的叙述中,哪一项说法是错误的?( A )ADCCAAAC

    A.对于随机样本用例,编制测试用例文件所需的工作量大
B.对于综合测试用例,编制测试用例文件所需的工作量大
C.对于随机样本用例,进行软件测试所需的工作量大(低效率)
D.对于综合测试用例,进行软件测试所需的工作量小

CBBCDCBBACD

CCBBDCBCAD下列选项中,哪一项为单元测试中使用的辅助模块?(  C )错

    A.驱动模块和传入模块                   B.主模块和传出模块

       C.驱动模块和桩模块                    D.传入模块和传出模块

对错错对对错对对错错对对对下列关于小项目的说法错误的是哪一个?( D )

       A.适用于大项目的开发计划和质量计划规程并不自动地适用于小项目
B.一般少于15个人日的小型开发项目,可以不需要开发计划和质量计划
C.对于小型开发项目,开发计划和质量计划的编制是可以选择的
D.对于小型开发项目,编制开发计划和质量计划对开发者无重大好处

关于软件错误、故障与失效,下面的说法中不正确的是哪一个?( A )

       A.所有的软件故障都以软件失效告终
B.软件失效的根源在于软件错误
C.并非所有的软件错误都变成软件故障
D.只有在软件故障被激活时,它才变成软件失效        61.对

错对对 某软件系统的需求文档中包括规格:系统在高峰时间处于失效状态的概率低于0.5%,该需求属于哪个软件质量因素?( A )      ADA

    A. 可靠性           B. 安全性          C. 正确性           D. 灵活性

单元测试中用来模拟被测模块调用者的模块为下列选项中的哪一项?( C )   BADC

       A.父模块                   B.子模块                   C.驱动模块               D.桩模块

ACCCBCCDDBCA

ADDBDBABCAB单元测试人员通常是由哪一类人员来完成?( A )CABD

    A.开发人员         B.测试人员         C.需求分析人员     D.用户

下列关于质量保证活动的三个不同方面:验证、确认、鉴定的说法,错误的是哪一个?( D )

    A.验证是检验当前开发活动同早些阶段的产品的一致性
B.确认检验产品同最初需求的符合程度
C.确认审查有助于提供顾客对系统的满意度
D.鉴定集中在设计方面

对Web网站进行的测试中,属于功能测试的为下列选项中的哪一项?( B )

    A. 连接速度测试    B.链接测试         C.平台测试         D.安全性测试

关于评审组的规模,叙述正确的是哪一个?( C )

    A.评审组的规模可以忽略                 B.评审组的规模越大越好

C.评审组应当有规模限制,通常最好3~5名成员 D.评审组的规模越小越好

某个版本的软件在测试过程中发现了一些错误,程序员在修改已知错误的同时,又增加了一部分新功能,然后提交给测试人员重新测试,此次测试人员进行的测试属于哪一种测试?( A )

    A.回归测试         B.重复测试         C.恢复测试         D.确认测试

致命的:如程序崩溃、死机、数据丢失等 16、螺旋模型: 17、软件质量保证:

解释质量保证活动的验证、确认与鉴定的不同方面?   18、软件质量 19、原型建造模型 20、说出软件错误、软件故障和软件失效的区别?  1、软件错误  产品校正软件质量因素  21、产品转移软件质量因素        面向对象模型       验证   SQA  简述软件质量保证和软件质量控制的关系     简述软件错误的原因    1、11   2、性能  

3、管理失效     4、可移植性  5、软件失效  6、计划   确认  7、程序  8、文档质量  9、内部失效费用    五    软件项目开发过程标准    软件:    质量目标:  

  10、产品校正因素   目标清单    11、顾客需求   可靠性  12、用户故障记录   简述影响开发过程中质量保证活动强度的因素    1、项目因素:  2、项目组因素:  22、简述McCall经典因素模型的结构(类别与因素)。  23、进行合同评审会产生许多困难,简述使大型合同评审可行而应当采取的步骤。   人员短缺   开发风险:  测试风险识别技术有哪些?  24、风险的分析过程包括哪五步骤?  13、软件产品  14、系统测试

15、开发组  16、软件版本描述  17、软件配置管理计划  18、简述V测试过程模型? 

16、简述面向对象模型的优点。  25、描述决策表的建立步骤?  19、任务  20、顾客服务中心  21、5  22、项目技术  输入与输出  26、简述ß现场测试的主要优点。 17、简述ß现场测试的主要缺点?  24、自动测试的优点有哪些?  18、简述等价类划分法的原理。    答案就是下边的表格    25、答案有    26、答案为下表   

下列哪一项不是自动测试的缺点?( B )

       A.软件包采购和培训所需的高投入               B.软件包开发的投资费用低
C.测试准备的高人力需求                             D.留下未覆盖的可观测试区域

27、答:N = Na*Nb/Nab = 40 * 45 /36= 50 
    Pa = Nab/Nb = 36/45 = 0.8 
    Pb = Nab/Na = 36/40 = 0.9 
    P(a)(b) = (Na-Nab)*(Nb-Nab)/Na*Nb = 4*9/(40*45) = 0.02 

N(a)(b)=(Na-Nab)*(Nb-Nab)/Nab=(40-36)*(45-36)/36=1


27、简述黑盒测试的优点和缺点。  19、边界条件分析法包括哪些类。  简述白盒测试的优点和缺点。  静态白盒测试方法,应具备哪些基本要素?   28、开发设施:

29、白盒测试:    答: (1)控制流图如下:


   (2)公式1:环路复杂度V(G)=10-8+2,其中10是控制流图G中边的数量,
               8是控制流图中节点的数目。

       或

公式2:环路复杂度V(G)=3+1,其中3是控制流图G中判断节点的数目。

公式3:环路复杂度V(G)=4,其中4是控制流图G中区域的数目。

软件测试按测试阶段分为哪几类?  29、软件项目跟踪  30、中间版本  31、早期检测非常规事件  32、多米诺效应  33、风险分析  34、增加  35、可测试性 36、特性 37、密集重用      单元测试的策略有哪些?  30、集成测试策略的主要目标有哪些?    下边两题答案在下方    单元测试的内容有哪些。    31、软件质量保证过程包括哪几阶段?    

自动测试的主要类型有那些? 38、专业人力资源 39、故障报告 40、外部失效费用 41、供货商与顾客  42、维护服务失效    软件质量费用平衡   32、测试自动化的脚本技术包括哪几种?    简述规程解决的“5W”问题。    43、管理 44、模板 45、质量记录  46、软件配置项  47、文档批准需求    改正性维护服务 48、进度表观察  49-51、略   52、条目清单  53、略   线性模型  54-61、略  62、作者  63-68、略  评审: 规程:  合同评审过程分为哪几阶段。  产品转移软件质量因素:   模板:  适应性维护:   简述评审的直接目标。   解释规程和工作条例的不同。  软件配置项(填空)  质量记录:  软件质量管理标准:   软件开发生命周期(SDLC)模型:  简述软件质量计划的要素。  列举在维护机构的规程手册中涉及的活动。   模板对软件质量的贡献有哪些?  简述建议草案评审的目标。   33、简述建议草案评审的目标。  34、典型的SQA基础设施文档包括哪些?  35、预防费用  36、可靠性  37、质量控制 

38、检查表对软件质量的贡献有哪些?  39、简述开发计划和质量计划的目标。  40、描述能力成熟度模型(CMM)体现的原理。  41、确认:  42、可移植性:  43、控制费用:  44、审查:  45、简述合同草案评审的目标。  46、简述正式设计评审和同行评审之间的主要区别。  47、鉴定  48、互操作性  测试有效性的度量包括哪几种?

20、合同评审:  21、内部项目:  22、基线版本:  23、外部失效费用:   24、典型的受控文档中的项目前文档包括哪些(至少说出四项)?  25、常见的软件质量模型包括哪些。

相关推荐