
请问数据库应用软件系统的性能测试人员,需要具备什么样的
1个回答
展开全部
我们有必要把握这些东西,完善且充分的监控,才能让我们对过程以及结果能有充分的认识和判断 4:这是体现一个性能测试人员素质的时候了,就是对过程以及结果的监控数值的判断,一个具备良好素质的性能测试工程师,应该能充分的设计相关的场景,以使这些场景暴露出性能的问题,而这些场景只能直接暴露出你监控到的过程和数据。
4.1所以数据库的监控数据如何分析?如何看?这个首先得了解数据库的设计和结构了,对表的关系要明白,而在这之后,你就想象一下你的业务到底在操作哪些表,执行了几次查询,数据库有几次IO等等。哪些SQL执行得最频繁,哪些IO最多,哪些阻塞最严重等等,而这些SQL都是在哪些场景中执行?可以追溯到哪个业务操作?这个过程,需要业务很熟悉,数据库设计很了解,更关键一点,是怎么把这两者结合起来一同分析。同时知道这些还不够,因为你的数据库如果是ORACLE问题一般会在哪,如果是DB2问题又会在哪?这个过程很麻烦,假如只会使用LR,你永远就知道A业务和B业务一起跑起来很慢,然后你告诉开发人员,A和B一起跑很慢,一般他都会先问你:“为什么呢?”因为假如他知道会慢你就不会测出来了,就是因为他不知道会慢,因为他不知道会慢所以他一般也不会知道为什么会导致慢。然后一大驮的程序代码,开发员翻了半天也翻不出什么问题来,因为他要是翻得出来就不会让你发现了。因此性能测试人员这时候再傻一点的,就应该会纠出几个IO很频繁的,阻塞最严重的SQL出来,你看看这些是不是有问题。噢也,对,就是这里IO查询执行了N遍,或则是,哇,这地方阻塞等待的时间也太久了。那么问题就简单明了些了,开发人员翻翻那代码趟在的地方,对了就这了,看了半天,对,就是这里有问题了,时间节省很多了吧?再高手的人,一看到那些数据,然后转头和开发员说,你这瓜娃子,都和你说过了,数据库IO很影响性能了,这地方你看是不是把表锁死了,你想想看那条SQL语句是不是写出问题来了。然后给出了这些建议,开发员一看,89不离10的话,那么这就是高手了。还有更高手的,那就是跑都不用跑,直接拿ER图来看看,然后再把数据库的表关系给瞧瞧,或则整整程序中敏感的地方,那问题就出来了,那叫经验,这时候,转身就可以说,你个呆瓜,有你这样写的么?就知道你会这么写,下次再这么写我把你头给拧下来。呵呵,以上的某些语言纯属玩笑。。。但问题确实如此,假如做为性能测试人员,连影响性能的因素都把握不准,那么很难寻找问题,并发现问题的本质。特别是在数据库应用的软件系统中,你不了解数据库,你就不了解你在做什么。
4.2程序应用逻辑的性能这方面,一般测试人员都不会去关注,但问题来了,有些方法执行起来很吃力,那么这些方法是什么呢?当然我们需要一个很好的监控工具,用来跟踪代码的执行状况,对于JAVA来说,这就是监控JVM了。同时还有如应用容器啊或中间件啊的一些效率问题,这和数据库的监控叉不多,同样,发现问题,定位问题,到预知问题和避免问题,这都是一个层次。要学习,要积累,这是一个很漫长的过程。操作系统的机制原理要了解,服务器网络也要明白,数据库我们又要去熟悉,代码至少还要看得懂,最后还得做测试,性能测试不简单啊。我个人认为,在当今的时代,分工协作是很关键的,但分工不代表不属于你的领域你不需要去了解和掌握。问题通常都是关联起来的,我们必须尝试一个个去了解后关联起来。不是每次做性能测试,你身旁都有需求调研员,系统分析员,架构师,系统工程师,DBA,开发员跟住你的,你得掌握这些东西,然后尽可能的去做,这取决于你是否想要提升自己对事物的认知能力了。
慢慢来,学习是一个积累的过程,经验也是一点点来的,关键是善于观察思考学习分析总结,总会越做越好,我相信我自己总在不断的获取和成长中,我相信大家也都和我一样,不断的在努力和成长,我们发展自己,不仅仅是为了自己想,还为团队想,为业界想。我个人认为一个好的性能测试工程师,真的需要掌握太多的东西,但最关键的还是学习思考。我希望大家能多交流一下各自的经验,同时可以就这个主题讨论一下,因为我知道我的观点有对也有错,我个人的经验也很有限,而且有很多人赞成或则否决我的观点,我希望大家能讨论起来,兴许还能吵起来,但这都是好的。谢谢。
4.1所以数据库的监控数据如何分析?如何看?这个首先得了解数据库的设计和结构了,对表的关系要明白,而在这之后,你就想象一下你的业务到底在操作哪些表,执行了几次查询,数据库有几次IO等等。哪些SQL执行得最频繁,哪些IO最多,哪些阻塞最严重等等,而这些SQL都是在哪些场景中执行?可以追溯到哪个业务操作?这个过程,需要业务很熟悉,数据库设计很了解,更关键一点,是怎么把这两者结合起来一同分析。同时知道这些还不够,因为你的数据库如果是ORACLE问题一般会在哪,如果是DB2问题又会在哪?这个过程很麻烦,假如只会使用LR,你永远就知道A业务和B业务一起跑起来很慢,然后你告诉开发人员,A和B一起跑很慢,一般他都会先问你:“为什么呢?”因为假如他知道会慢你就不会测出来了,就是因为他不知道会慢,因为他不知道会慢所以他一般也不会知道为什么会导致慢。然后一大驮的程序代码,开发员翻了半天也翻不出什么问题来,因为他要是翻得出来就不会让你发现了。因此性能测试人员这时候再傻一点的,就应该会纠出几个IO很频繁的,阻塞最严重的SQL出来,你看看这些是不是有问题。噢也,对,就是这里IO查询执行了N遍,或则是,哇,这地方阻塞等待的时间也太久了。那么问题就简单明了些了,开发人员翻翻那代码趟在的地方,对了就这了,看了半天,对,就是这里有问题了,时间节省很多了吧?再高手的人,一看到那些数据,然后转头和开发员说,你这瓜娃子,都和你说过了,数据库IO很影响性能了,这地方你看是不是把表锁死了,你想想看那条SQL语句是不是写出问题来了。然后给出了这些建议,开发员一看,89不离10的话,那么这就是高手了。还有更高手的,那就是跑都不用跑,直接拿ER图来看看,然后再把数据库的表关系给瞧瞧,或则整整程序中敏感的地方,那问题就出来了,那叫经验,这时候,转身就可以说,你个呆瓜,有你这样写的么?就知道你会这么写,下次再这么写我把你头给拧下来。呵呵,以上的某些语言纯属玩笑。。。但问题确实如此,假如做为性能测试人员,连影响性能的因素都把握不准,那么很难寻找问题,并发现问题的本质。特别是在数据库应用的软件系统中,你不了解数据库,你就不了解你在做什么。
4.2程序应用逻辑的性能这方面,一般测试人员都不会去关注,但问题来了,有些方法执行起来很吃力,那么这些方法是什么呢?当然我们需要一个很好的监控工具,用来跟踪代码的执行状况,对于JAVA来说,这就是监控JVM了。同时还有如应用容器啊或中间件啊的一些效率问题,这和数据库的监控叉不多,同样,发现问题,定位问题,到预知问题和避免问题,这都是一个层次。要学习,要积累,这是一个很漫长的过程。操作系统的机制原理要了解,服务器网络也要明白,数据库我们又要去熟悉,代码至少还要看得懂,最后还得做测试,性能测试不简单啊。我个人认为,在当今的时代,分工协作是很关键的,但分工不代表不属于你的领域你不需要去了解和掌握。问题通常都是关联起来的,我们必须尝试一个个去了解后关联起来。不是每次做性能测试,你身旁都有需求调研员,系统分析员,架构师,系统工程师,DBA,开发员跟住你的,你得掌握这些东西,然后尽可能的去做,这取决于你是否想要提升自己对事物的认知能力了。
慢慢来,学习是一个积累的过程,经验也是一点点来的,关键是善于观察思考学习分析总结,总会越做越好,我相信我自己总在不断的获取和成长中,我相信大家也都和我一样,不断的在努力和成长,我们发展自己,不仅仅是为了自己想,还为团队想,为业界想。我个人认为一个好的性能测试工程师,真的需要掌握太多的东西,但最关键的还是学习思考。我希望大家能多交流一下各自的经验,同时可以就这个主题讨论一下,因为我知道我的观点有对也有错,我个人的经验也很有限,而且有很多人赞成或则否决我的观点,我希望大家能讨论起来,兴许还能吵起来,但这都是好的。谢谢。

2025-03-04 广告
PDM数据管理系统是山东山大华天软件有限公司的重要产品,它以产品为中心,集成企业生产过程中所有与产品相关的信息和过程,实现数据的有序规范、设计过程的优化和资源的共享。该系统支持多种文件的浏览、批注,并提供版本管理、变更管理等功能。此外,PD...
点击进入详情页
本回答由华天软件提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |