当前位置: 首页 > news >正文

单元级别性能测试


随着网络的发展,软件也越来越复杂,从独立的单机结构,到C/S结构、B/S结构、多层体系架构,面向服务的(SOA)结构等,集成的软件技术越来越多,支持的软件用户也越来越多。一个凸显在人们面前的问题是性能问题。很多软件系统在开发测试时没有任何问题,但是上线不久就崩溃了,原因就在于缺少了性能方面的验证。软件是否在上线之前进行性能测试就能解决问题呢?不一定,如果性能测试进行得太晚,会带来修改上的风险。很多软件系统在设计的时候并没有很好地考虑性能问题和优化方案,等到整个软件系统开发出来后,测试人员忙着集成测试,开发人员也疲于应付发现的功能上的Bug,当所有功能上的问题都得到解决后,才想到要进行性能测试。性能测试结果表明系统存在严重的问题,如响应时间迟缓、内存占用过多、不能支持大量的数据请求,在大量用户并发访问的情况下会造成系统崩溃。如果此时再去修改程序已经非常困难了,因为要彻底地解决性能问题,需要重新调整系统的架构设计,大量的代码需要重构,这时的程序员已经筋疲力尽,不想再进行代码的调整了,因为调整带来的是大量的编码工作,同时可能引发大量的功能上的不稳定性和再次出现大量的漏洞。这给测试人员一个启示:性能测试不应该只是一种后期的测试活动,更不应该是软件系统上线前才进行的“演练”,而应该是贯穿软件的生产全过对于性能的考虑应该在架构设计时就开始,对于架构原型要进行充分的评审和验证。由于架构设计是一个软件系统的基础平台,如果基础不好,也就是根基不牢,性能问题就会根深蒂固,后患无穷。性能测试应该在单元测试阶段就开始。从代码的每一行效率,到一个方法的执行效率,再到一个逻辑实现的算法效率;从代码的效率,到存储过程的效率,都应该进行优化。单元阶段的性能测试可以考虑从以下几个方面进行:

  • 代码效率评估。
  • 应用单元性能测试工具。
  • 数据库优化

应该注意每一行代码的效率,一些看似细小的问题可以经过多次的执行累积成一个大的问题,这是一个量变到质变的过程。例如,在用C#编写代码的时候,有些程序员喜欢在一个循环体中使用string字符串变量,如例10.2所示:例10.2C#中利用字符串连接操作来创建新字符串
static void Loop1()
string digits =string.Empty;
for(int i=0;i<100;i++)
{//累加字符串
digits+=i.ToString();
Console.WriteLine(digits);
这段代码其实是低效率的,因为string是不可变对象,字符串连接操作并不改变当前字符串,只是创建并返回新的字符串,因此速度很慢,尤其是在多次循环中。应该采用StringBuilder对象来改善性能。

http://www.dtcms.com/a/619210.html

相关文章:

  • FPGA外部存储器深度解析 (二)深入理解DDR3基础与FPGA控制器
  • 做网站考什么赚钱wordpress 伪静态配置
  • 建各企业网站多少钱新安人才网
  • 最先进的深圳网站建设徐州招标网
  • Bootstrap4 Jumbotron详解
  • 手机网站默认全屏服装行业网站建设
  • 珠海网站备案网络服务商的责任规范
  • wordpress建站简单吗网站制作需要多少钱品牌
  • 成都网站建设哪里有网站空间的分类
  • 网站做视频的软件有哪些工商局注册公司流程和费用
  • 广西建工集团冶金建设公司的网站济南营销网站建设价格
  • EMB电子机械制动系统制动器失效分析
  • jsp如何进行购物网站开发公众号文章怎么导入wordpress
  • 软件网站下载分类信息网站推广的意义
  • 做网站需要走哪些程序有实力的网站建设推广
  • 个人域名 做公司网站职业技能培训学校
  • 老外做中文网站杭州网站优化外包
  • 利津网站制作手机网站开发环境搭建
  • 个人外贸网站制作成都私人做网站建设的公司
  • 科协科普网站建设哪些网站可以免费做推广
  • 16.关于IO流分离的其他内容
  • 面向教育公平的生成式AI工具设计:缩小数字鸿沟还是加剧教育不平等?
  • 易网站票网站开发wordpress阅读次数
  • wordpress未收到数据库哪个杭州seo好
  • 子进程入口模板框架
  • wordpress分类目录文章排序优化
  • C++ Lambda 表达式实战入门与进阶
  • 网页设计和网站开发的区别怎么自己做游戏
  • Origin复现Nature级别的堆积柱状图
  • 【Unity基础】