软件质量的“保证书”

近年来,随着社会对信息化依赖程度的不断加深,对于软件质量更是提出了安全、可靠、稳定、易用、效率等全方位的要求。因此保证和加强软件质量成为制约社会信息化高速发展的重要因素。

  软件测试是控制软件质量的重要手段,目前我国还没有适应国情的、系列化协调配套的、工程化的信息系统生产过程管理、质量评测、控制技术的规范和法律规程指导,因此以第三方测试工程为基础,对信息系统的建设进行质量保证是非常必要的。

  第三方测试可以避免开发方内部测试由于思维定势而造成问题的漏测和误判,尤其体现在涉及业务流程、安全可靠性、易用性和可扩充性等方面;同时也可以避免用户自测的盲目性和非专业性。

  第三方测试的目的是尽可能多地发现系统目前存在以及潜在的问题,借助长期积累下来的丰富的行业测试经验,更客观地从用户角度和专业角度出发,投入足够的人力、物力,运用专业的测试工具更好地进行测试以保证软件质量。

  现在以某一集团公司的企业应用为例介绍第三方测试的实施案例。

  该企业应用是该集团业务规范化运营和一体化管理的信息支撑系统,建设目的在于整合新、旧业务系统,实现历史数据和实时数据的集中存储和统一管理,同时通过整合后的统一管理平台来提高公司管理水平,为领导决策的正确性提供可靠的理论依据。

  业务系统基于目前较为主流的J2EE三层架构,采用B/S运行模式,应用服务器使用Weblogic并且采用集群策略,数据库服务器使用Oracle并且采用集群策略,具体网络拓扑图如图1所示。

  本次测试根据相关国家标准和企业标准,针对企业应用的业务需求,对其在功能度、性能、安全可靠性、易用性、资源占用率、兼容性、可扩充性和用户文档八个方面进行了测试。

  功能度方面主要采用黑盒测试方法,包括因果图分析、等价类划分、边界值分析等,根据用户需求说明书和用户操作手册,分别对系统的全部功能点和主要业务流程进行测试。由于该系统多个模块涉及到工作流,公文和业务单据的流转是测试的重点,尤其是验证特殊流程分支中单据的走向和状态以及异常处理是否会导致单据的丢失等等。

  安全可靠性方面,结合功能考察软件的用户权限限制、用户和密码封闭性、留痕功能、屏蔽用户错误操作、错误提示的准确性、数据备份恢复手段等方面。

  易用性方面,考察软件的用户界面友好性、易学习性和易操作性等等。

  兼容性方面,考虑软件、硬件和数据的兼容性。

  可扩充性方面,考虑软件结构的功能可扩展性和异种数据库的结构等等。

  用户文档方面,考虑文档的完整性、一致性、易理解程度和操作实例等等。

  下面重点介绍一下性能测试的关注点。

  在性能测试方面,针对该企业关注的用户登录、单据查询、批量转账等关键业务点进行负载压力测试,同时监控应用服务器和数据库服务器的资源使用情况,包括CPU占用率、硬盘使用状况以及事务处理平均响应时间等相关参数,考察系统在各种情况下的性能表现。

  测试前期需求分析中确定该操作的最大并发用户数为50人,采用逐步加压的方式对系统进行压力测试,分析在不同负载情况下系统的承受能力。

  关注点1:

  交易吞吐量和交易响应时间是评估系统性能的重要概念。

  吞吐量:系统服务器每秒能够处理通过的交易数。

  交易响应时间:是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了用户执行一项操作大致需要多长时间。

  关注点2:

  随着负载增加,当吞吐量不再递增时,交易平均响应时间是否会递增。

  随着负载增加,当吞吐量不再递增时,交易平均响应时间一般会递增。

  当系统达到吞吐量极限时,客户端交易会在请求队列中排队等待,等待的时间会记录在响应时间中。

  关注点3:

  根据上述测试结果,服务器资源使用情况是否合理?

  应用服务器资源合理。由测试结果来看,不同负载下的两台应用服务器CPU占用情况相当,并且都低于70%。

  数据库服务器资源占用不合理。从测试结果可以明显看出,不同负载下的两台数据库服务器CPU占用情况始终差距较大,其中一台负载较大,而另一台比较空闲,由此可知,数据库集群策略并未生效,需要调整集群策略。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-03 02:43:01

软件质量的“保证书”的相关文章

软件质量挑战和实践建议

简介 软件开发和工程被视为非常年轻的职业:但是,它们得到了广泛应用,并且正以比以往更快的速度增长.在许多国家,软件行业目前通常被视为经济增长的主要支柱之一.软件公司常常面临着提供高质量软件的许多困难挑战,而他们也在竭尽所能地让客户满意. 软件质量不可或缺 随着软件变成日常生活中不可或缺的一部分,对软件的需求也明显增长.相应地,高软件质量目前被视为是 "必须具备的" 而不是 "应该具备的".让质量保证团队从一开始就参与到项目规划和执行中,这一点至关重要.然而,仍然有一

自动化错误报告:通往更高软件质量的大门

无知是福,但是在处理软件bug的时候,这句话并不适用. 软件质量专家会告诉我们,那些努力找出bug并且提高 软件质量的公司可以得到客户更多的信任,得到更高的利润,降低开发和维护的费用,简化交付的流程,同时还可以避免客 户的流失. 软件质量是个大工程 如果你觉得软件质量没有什么大不了的,那么就来看看Capers Jones在2011 年6月软件质量杂志上发表的文章(这份杂志由美国质量协会主办): 高质量软件的发布周期比低质量软件短15%. 高质量软件从第一个版本发布到之后五年的周期里花费的总费用比

软件质量稳定性之殇(一)

舞动的黑天鹅 纳西姆·尼古拉斯·塔勒布(Nassim Nicholas Taleb)写了两部超级畅销书<随机致富的傻瓜>和<黑天鹅>,并且被誉为[黑天鹅之父].何为黑天鹅? 在发现澳大利亚之前,17世纪之前的欧洲人认为天鹅都是白色的.但随着第一只黑天鹅的出现,这个不可动摇的信念崩溃了.黑天鹅的存在寓意着不可预测的重大稀有事件,它在意料之外并且后果非常严重. 一个黑天鹅事件,具有这三个特点:(1)稀缺.通常史无前例(rarity), (2)影响很极端(extreme impact),

软件质量有什么特性?

软件质量有什么特性? <软件工程-产品质量>(GB/T 16260-2006)中规定对软件的每个质量特性与子特性都有定义: 一.功能性:是指当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力. 适合性:是指软件产品与指定的任务和用户目标提供一组合适的功能的能力. 准确性:是指软件产品具有所需精确度的正确或相符的结果及效果的能力. 互操作性:是指软件产品与一个或多个规定系统进行交互的能力. 保密安全性:是指软件产品保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据

软件质量特性测试

针对软件质量特性进行测试,可以避免重大漏测,一般人我不告诉他. <软件工程-产品质量>(GB/T 16260-2006)中规定对软件的每个质量特性与子特性都有定义: 一.功能性:是指当软件在指定条件下使用,软件产品满足明确和隐含要求功能的能力. 适合性:是指软件产品与指定的任务和用户目标提供一组合适的功能的能力. 准确性:是指软件产品具有所需精确度的正确或相符的结果及效果的能力. 互操作性:是指软件产品与一个或多个规定系统进行交互的能力. 保密安全性:是指软件产品保护信息和数据的能力,以使未授

大话软件质量稳定性 | 右军

本文信息量略大,建议阅读时间:10分钟 张逸老师曾说,软件系统的稳定性,主要决定于整体的系统架构设计,然而也不可忽略编程的细节,正所谓"千里之堤,溃于蚁穴",一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃.本文将和大家聊一聊软件质量稳定性问题与求解. 1.舞动的黑天鹅 纳西姆·尼古拉斯·塔勒布(Nassim Nicholas Taleb)写了两部超级畅销书<随机致富的傻瓜>和<黑天鹅>,并且被誉为[黑天鹅之父].何为黑天鹅? 在发现澳大利亚之前

Bug敏感度与软件质量关系

Bug敏感度与软件质量关系 正如前面故事中提到,Bug敏感度高的测试人员,能在短时间内发现大量的Bug,从而在一定程度上提高软件的质量.从这个角度看,Bug敏感度与软件质量的关系是正相关的,如下图表示,即Bug敏感度越高,被揭露的Bug越多,对应模块或软件的质量相对越可靠. 同理,Bug敏感度不高,必然就会造成一些Bug遗漏,提高了软件质量的风险系数,我们可用Y=-kX来表达这个意思,见下图.Bug敏感越差,遗漏的Bug越多,软件质量的风险就越大. 但是软件质量的评价是一个复杂而多维度的,不仅仅

提高软件质量实践:Amazon篇

Amazon是一个很传奇的公司,它1995年的时候以一个网上书店起家,在短短的十几年里成为全球最大的在线购物公司.更为甚者,他在2005推出的AWS云计算服务更是被业界公认为云计算的鼻祖,也是现在全球最大最成功的云计算服务提供商. AD: 前几天回国转了一圈,做了两家企业质量管理培训,一次上海测试沙龙,和chinatest两次演讲.收获颇多,以后慢慢分享.回来后发现我的软件质量实践系列文章距离上一次发表已经有很长一段时间了.我想还是先把它写完,再写别的文章吧.那么今天我们看看互联网公司的另外一个

浅析软件质量的评价

摘要:本文针对软件质量的问题,通过可维护性.可靠性.可理解性和效率四个方面对软件进行质量评价,从而获得衡量软件质量好坏的标准. 关键词:软件质量: 1.引言 如何评价一个软件的质量,是最终获得高质量的软件的重要问题.以前,对小型程序,人们一般比较强调程序的正确性和效率,近年来随着软件规模的增大和复杂性的上升,对问题的看法已发生了变化.目前,软件质量的定义还是非常模糊的,人们对此尚未形成一致的看法,但一般说来倾向于从可维护性.可靠性.可理解性和效率等方面对软件作较全面的评价,下面分别讨论之. 2.