软件生命周期与软件性能测试
不论哪种软件生命周期模型,需求分析、设计、编码、测试和运行维护这几个阶段都是其中的基本要素,只是在不同的软件生命周期模型中可能迭代、合并、拆分或重组这几个阶段,在此不做过多的描述。与其他几个阶段相对应,测试从软件开发过程按阶段可以划分为:单元测试、集成测试、系统测试,在其他的书上可能还能见到诸如确认测试、验收测试等名词,但是前3种测试确实是基本的测试活动,而其他的测试活动只是在某些软件开发过程中会发生。
值得注意的是,通常在谈论单元测试、集成测试和系统测试时,其实仅仅谈论的是不同阶段的功能测试;而当讨论软件性能测试时,绝大多数的情况是,一个已经开发完毕或基本开发完毕的软件,测试人员用一种或几种软件性能测试工具,以尽量模拟真实用户行为的方式对该软件进行并发操作,收集并比较不同场景的结果,然后对软件的性能进行分析,这个活动通常发生在系统测试阶段,甚至较往后的阶段,如运行维护阶段。
性能效率测试的作用
软件性能效率测试的目的是为了验证软件系统是否能达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,起到优化系统的目的。
其作用主要体现在以下几个方面:
1、评估系统的能力:测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。
2、识别体系中的弱点:受控的负荷可以被增加到一个端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。
3、系统调优:重复运行测试,直至验证调整系统的活动得到预期的结果,从而改进性能。
4、检测软件中的问题:长时间的测试执行可能导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。
5、验证稳定性和可靠性:在一个生产负荷下执行一定时间的测试是评估系统稳定性和可靠性是否满足要求的方法。
性能测试是一个统称,它其实包含多种类型,主要有负载测试、压力测试、并发测试、配置测试等,每种测试类型都有其侧,下面对这几个主要的性能测试种类分别进行介绍。
1、负载测试
负载测试是指逐步增加系统负载,测试系统性能的变化,并终确定在满足系统性能指标的情况下,系统所能够承受的负载量。负载测试类似于举重运动,通过不断给运动员增加重量,确定运动员身体状况保持正常的情况下所能举起的重量。
对于负载测试来说,前提是满足性能指标要求。例如一个软件系统的响应时间要求不**过2s,则在这个前提下,不断增加用户访问量,当访问量**过1**时,系统的响应时间会变慢,**过2s,从而可以确定系统响应时间不**过2s的前提下负载量是1**。
2、压力测试
压力测试也叫强度测试,它是指逐步给系统增加压力,测试系统的性能变化,使系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的压力。
压力测试与负载测试是有区别的,负载测试是在保持性能指标要求的前提下测试系统能够承受的负载,而压力测试则是使系统性能达到限的状态。例如软件系统正常的响应时间为2s,负载测试确定访问量**过1万时响应时间变慢。压力测试则继续增加用户访问量观察系统的性能变化,当用户增加到2万时系统响应时间为3s,当用户增加到3万时响应时间为4s,当用户增加到4万时,系统崩溃无法响应。由此确定系统能承受的访问量为4万。
压力测试可以揭露那些只有在高负载条件下才会出现的Bug(缺陷),如同步问题、内存泄漏等。
3、并发测试
并发测试是指通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其他性能问题。并发测试一般没有标准,只是测试并发时会不会出现意外情况,几乎所有的性能测试都会涉及一些并发测试,例如多个用户同时访问某一条件数据,多个用户同时在较新数据,那么数据库可能会出现访问错误、写人错误等异常情况。
4、配置测试
配置测试是指调整软件系统的软硬件环境,测试各种环境对系统性能的影响,从而找到系统各项资源的分配原则。配置测试不改变代码,只改变软硬件配置,例如安装版本较高的数据库、配置性能较好的CPU和内存等,通过更改外部配置来提高软件的性能。
5、可靠性测试
可靠性测试是指给系统加载一定的业务压力,使其持续运行一段时间(如7×24h),测试系统在这种条件下是否能够稳定运行。由于加载有业务压力且运行时间较长,因此可靠性测试通常可以检测出系统是否有内存泄漏等问题。
6、容量测试
容量测试是指在一定的软硬件及网络环境下,测试系统所能支持的用户数、存储量等。容量测试通常与数据库、系统资源(如CPU、内存、磁盘等)有关,用于规划将来需求增长(如用户增长、业务量增加等)时,对数据库和系统资源的优化。
系统性能效率测试流程
(1)售前与委托单位测评项目进行前期沟通,签署《保密协议》,接收客户提交的资料,双方签署《软件技术测试服务合同》。客户提交资料如下:
软件测试委托表、软件产品测试功能列表;
①用户手册、操作、安装、说明、维护手册等;
②样品安装光盘;
③设计文档、数据库文档、相关测试要求或行业标准。
(2)测试组对委托方提供性能效率测试的软件系统相关资料和接受状态进行确认,并记录在测试流转表中;
(3)测试组检查被测物品的状态后,如发现相关问题,则将被测软件系统接受状态确认表反馈给委托方;
(4)委托方按照《用户需求说明书》的要求,搭建测试环境。
(5)测试组对测试环境进行确认,对计算机系统进行病毒检查,检查情况在测试流转表中进行记录;
(6)测试组按照《用户产品说明书》,编写测试计划;
(7)测试组按照测试依据编写测试用例,并实施软件测试。执行完毕后,测试人员根据测试用例的执行结果,在测试记录中进行记录;
(8)测试组根据测试员的测试记录出具测试问题报告;
(9)测试项目主管对问题报告进行审核,出现错误要求测试工程师进行重新或补充测试;
(10)测试组对测试出的问题做相应的分析,进一步对问题进行确认;
(11)测试组问题报告与委托方的技术人员进行面对面的沟通;
(12)委托方对问题报告的问题进行一一对应的修复;
(13)测试组对被测系统做回归测试;
(14)测试组根据测试结果出具测试报告,并由测试机构授权签字人批准;
(15)测试机构将性能效率测试报告的成果提交给委托方。
性能效率测试一般包括以下四个维度:
1、性能测试:在给定的基准环境下,目标系统响应客户服务的快速度或表现。
2、负载测试:在目标系统正常服务的前提下,目标系统所能承担的服务负荷数量(即并发数量),终可分析系统的性能瓶颈。
3、压力测试:是一种破坏性测试,故意让软件在比较少的资源环境下运行,如在低内存、小硬盘、慢速CPU上运行,考验程序直至程序无法运行,从而发现软件缺陷。
4、稳定性测试:在给定的负载(负荷)的情况下,有外界或内部非正常的干扰,系统所能够提供稳定服务的能力。
我们公司始终不渝的恪守“诚信经营”的创业信念和坚持不懈的奉行“团结奋斗、务实创新”的企业精神,公司的精神是“诚信、奉献 、自律、追赶”;我们的服务宗旨是“缘于我们,为您服务”。
一、公司简介: 广东正信技术服务有限公司(简称:正检信服)成立于2020年,致力于成为中国的数字项目建设质量检测机构,检测团队主要成员均具有8年以上软件系统开发或测试经验。已成功实施涵盖软件测试、电子政务工程验收评测、信息安全评测等上千个项目,拥有丰富的软件质量评估经验。目前公司主要为ZF部门、企事业单位提供贯穿数字信息系统工程全过程的技术咨询、工程监理、验收测评服务;提供从项目咨询、建设方案评估、信息系统工程监理、验收测评及项目符合性审查等全生命周期的质量评估服务;公司提供第三方测试服务所涉及的项目类型包括:智慧城市、电子政务系统、软件工程、计算机网络系统等。专注成就客户,服务产生效益。正检信服将严格按照认可相关规定,、科学、诚信的为各类客户提供数字化项目建设全生命周期质量评估服务,助力数字中国信息系统建设量发展。 二、业务范围:1)软件测试服务1.1)软件产品登记测试1.2)科技成果鉴定测试1.3)科技项目验收测试1.4)软件系统确认测试1.5)软件系统性能测试1.6)软件产品定制测试 2)网络安全测试服务2.1)Web应用安全检测2.2)主机安全漏洞扫描2.3)源代码审计渗透测试2.4)信息安全风险评估 3)电子政务工程测评服务3.1)电子政务系统验收测评3.2)数字信息化验收测评3.3)信息工程项目验收3.4)电子政务项目符合性审查三、服务范围:广东省:广州市、深圳市、珠海市、汕头市、佛山市、东莞市、中山市、惠州市、阳江市、江门市、茂名市、肇庆市、清远市、梅州市、湛江市、汕尾市、河源市、韶关市、潮州市、揭阳市、云浮市。其他省份:广西、福建、江西、湖南、贵州、云南、浙江、安徽、湖北、四川、陕西、河南、上海、江苏、山东、山西、宁夏、内蒙古、河北、北京、辽宁、吉林、黑龙江、青海、甘肃、西藏、新疆。