产品python如何做性能测试试如何来做

【北京宝利明威软件技术有限公司性能测试面试】公司做自己的产品,跟...-看准网
北京宝利明威软件技术有限公司
公司地址 北京市海淀区地锦路7号院14号楼5层501公司介绍
北京宝利明威软件技术有限公司性能测试面试经验详情
公司做自己的产品,跟...
面试地点:北京宝利明威软件技术有限公司-北京
公司做自己的产品,跟银行保险性能测试角度并不一样
面试结果:感觉靠谱
面试难度:巨难
面试感受:很好
按职位查看北京宝利明威软件技术有限公司面试
更多性能测试面试经验
面试地点:用友网络科技股份有限公司-北京
内推进去的,因为我之前是开发,学校211,面试这个性能测试岗...面试官的问题:
问子查询到底好不好?
答分情况,子查询逻辑上比较清楚。
面试结果:面试通过
面试难度:一般
面试感受:很好
面试地点:易宝支付-北京
HR很客气,去了就给了瓶水,面试官有两位,都很和气,没有问什...
面试结果:面试未通过
面试难度:一般
面试感受:很好
面试地点:北京新奥特云视科技有限公司-北京
公司环境不错,面试官也挺好的,聊了很多,感觉还不错,期待面试...
面试结果:感觉靠谱
面试难度:困难
面试感受:很好
面试地点:人人时代-北京
一共两个人面试 一个是测试部主管 一个是技术部总监 测...
面试结果:面试通过
面试难度:很容易
面试感受:很好
面试地点:北京基调网络股份有限公司-北京
面试官主要问性能测试的流程、方法和瓶颈分析,需要基础非常扎实...
面试结果:感觉没戏
面试难度:有难度
面试感受:一般
在北京宝利明威软件技术有限公司工作过么?
给TA打个分吧!
来自web前端面试
来自web前端面试
来自市场策划面试
¥28000月平均工资
高于同行业
来自 2职业,2员工分享
平均¥22000
来自1员工分享
平均¥34000
来自1员工分享
向该公司老鸟提问
2回答 · 2关注
1回答 · 0关注
小贴士:问题描述的越清楚,越能吸引老鸟来回答哟~
请输入问题
北京宝利明威软件技术有限公司面经:想知道北京宝利明威软件技术有限公司怎么样?看准网(Kanzhun.com)免费提供北京宝利明威软件技术有限公司招聘、北京宝利明威软件技术有限公司工资、北京宝利明威软件技术有限公司面试、评价、工作环境招聘及员工等北京宝利明威软件技术有限公司的信息。
关注看准官方微信
下载看准官方APP
关注看准官方微信
下载看准官方APP
爆料数十万公司信息爆料
互助职场人在线互动
工资公司实际工资查看
改简历专人改简历提高工资
老鸟私聊求助能挣钱
输入手机号,下载看准APP
扫码下载看准APP或各大应用商店搜索:看准
订阅公司信息
订阅成功!
向老鸟咨询
把你关于北京宝利明威软件技术有限公司的问题大胆的提出来,这里的2位老鸟很乐意为你解答~
写下问题吧~
提交成功!请静静等待老鸟们回答~
扫描二维码分享到朋友圈,邀请微信好友帮忙解答
下载看准APP
立享畅读全站爆料股票/基金&
如何压力测试电子商务网站?
  第1页:背景与面临的挑战!  如今,与百姓日常生活密切的电子商城、网络订票和网上银行等系统都是电子商务网站的典型案例。这些系统涵盖了产品宣传展示、商品选购、交易结算、服务与客户反馈等诸多功能。当需要同时向一个庞大的群体提供这些服务,性能考量往往是系统成功运营的关键。  以国内某著名电子购物网站为例,该网站有3000万注册用户,日均访问量达8000万,日均订单处理超过30万单,日交易额过亿元。可以想象,系统性能对该网站拥有者的收益有着至关重要的影响。而且,网站的性能优化不仅可以提高用户的访问体验,还可以帮助商家节省网站的初始建站成本和维护费用。  电子商务网站的性能优化,离不开仿真真实环境的压力测试。而思博伦则是这方面的专家。近几年,思博伦基于Avalanche的电子商务网站测试解决方案已经为诸多客户完成了这方面的测试,如:某运营商院线通系统,某著名大型门户网站产品预约/抢购系统,某权威电视媒体世界杯直播节目“xx赢”手机版等。(相关测试服务需求可发送邮件至)  面临的挑战  (一)复杂的系统  下图是一个典型的电子商务网站的结构示意图。  其中,Web服务器、数据库服务器和应用服务器代表了网站的核心内容。具体说来,前端Web服务器负责接收并处理来自用户的HTTP请求,并生成Web页面反馈给用户;中间的应用服务器负责执行商务逻辑;后台数据库和文件服务器负责存储用户、产品信息及状态。有的系统在数据库服务器前还会部署数据缓存设备已提高访问性能。外围的防火墙/IPS是主要的网络安全组件。4~7层负载均衡器则充当了应用交换机的角色,负责在海量用户访问与多台服务器间进行负载分担。  对这个复杂的系统来说,成百上千的服务器和其他设备捏合在一起,面对海量用户的访问,用户的行为也不一致,有的在注册,有的在修改购物车,有的在结帐,等等。仍能保证绝大多数用户顺畅地访问是一个挑战。与之相对应,创建一个可信的测试模型非常重要且也是一个挑战。评估系统中某个单一组件的性能并不复杂,但是,如果没有仿真海量用户且模拟真实用户行为的测试工具,想预知这个复杂购物网站系统的性能、瓶颈或故障点位于何处,更像是一项不可能完成的任务。  (二)故障的代价  对电子商务网站来说,系统故障往往意味着高昂的代价。一个大型购物网站、机票/酒店预订系统出现难以接受的页面影响延迟或拒绝服务,在一个小时之内,就会损失数百万元的订单。它对品牌信誉度的负面影响可能直接导致客户粘合度的降低,这种无形的损失影响更为深远。  而且,系统出现故障的时机常常是商家最不愿意面对的。比如,某大型体育赛事网络购票系统刚刚上线;某购物网站五周年店庆限时抢;某网出台暑期优惠套餐等。这些时刻对网站商家来说都是名利双收的黄金档。  这些黄金档期的背后,往往意味着大量用户的突发访问,或者说并发用户多、单位时间用户上线快。  (三)升级的困惑  随着用户的增加、流量的增大,电子商务网站也要面对成长的烦恼。  一方面,网站希望推出更为丰富的特性来保持,同时保证越来越多的客户仍能得到顺畅的服务。另一方面,网站架构师不得不深思熟虑。因为,网站的升级不只是换个主频更高的CPU、增加几条内存那么简单。不能对症下药、盲目地尝试不仅会浪费投资,还浪费了宝贵的占领市场的时间。  架构师需要做出判断,哪些组件需要升级?或者说,系统目前的瓶颈是什么:是CPU处理能力滞后,导致复杂的动态网页不能及时被处理而延迟呈现给用户浏览器?是网络带宽或磁盘I/O不足,导致页面传输延迟明显增大?还是与数据库的连接承受不了目前的并发用户数规模?可以预见,若后台数据库急需优化,但此时只是忙于给前台Web服务器更换更快的CPU是无济于事的。  值得注意的是,面对用户、流量可预见地持续增加,系统升级就已经不是信手拈来。更何况面对那些突发的状况?比如:春运期间火车票预订系统异乎繁忙,购物网站店庆优惠及时抢,以及暑期度假潮商旅网站的业务量激增等。  而且,这些突发情况往往在短时间内结束,现实环境中很难复制。使得网站没有足够的时间在“实战”中找到瓶颈所在,并检验升级的效果。若等到下一个爆发周期再去验证,潜在的商业损失很大。  第2页:测试方法  测试方法  作为强有力的压力测试工具,思博伦Avalanche通过模拟真实的用户访问,可以帮助电子商务网站找到性能瓶颈及故障点。  (一)仿真真实用户  思博伦Avalanche仿真真实的用户行为。实现的过程如下:  1)抓取真实浏览器用户在电子商务网站上交易过程的URL,URL中包含注册、登陆、产品代码、账户等信息;  2)将抓取的URL导入到Avalanche模拟的客户段的Action List中,并根据需要进行修改,如:从Avalanche的数据库中顺序提取10000个不同的用户/密码用于登陆;  3)Avalanche模拟的客户端可仿真不同的浏览器及不同的版本。支持Cookie,并可与SSL结合用于加密访问;  4)Avalanche中的Action List被顺序执行,并支持条件判断等,用于网站返回值的验证。  以某购物网站为例,用户访问首页并进行注册,之后自动或手工登陆,然后进行选购。在将选购商品加入购物车后,通过网上交易平台完成结帐(在性能测试中,结账部分一般可以由研发人员在Avalanche执行某个动作后返回特定值来模拟,而不会走真正的付款流程)。如下图所示。  当然,除了以上主要业务流程外,网站还包含其他用户行为,如:用户浏览不同分类下的产品宣传、修改或取消订单、用户收到货物后对产品和服务进行评价等。  Avalanche对上述行为进行仿真,如:登陆、浏览、选购、评价等。并且可以按照一定的比例对用户的行为进行混杂,如:90%的在线用户从浏览首页开始,30%的用户点击“即时抢”,10%的用户在下订单,等等。  (二)测试拓扑  Avalanche可模拟数百万的并发客户,通过Internet访问电子商务网站。测试拓扑如下图所示。  在此拓扑中,可以将电子商务网站作为一个整体进行评估,即整个网站被看成一个“黑盒”。也可以在发现整体出现问题后,采用隔离法对网站中的某个或某几个组件进行单独排查测试。比如,测试系统中的缓存设备对某些页面是否有效;在面对海量、具有混杂行为的用户时,响应成功率的下降原因等。  第3页:测试案例(一)  测试案例  案例一:测试某电信运营商大型在线影院订座/购票系统  1.测试目的  1)通过对在线影院订座/购票平台的性能测试,为营销推广提供有力支撑和可行性评估,为系统扩容工程提供量化依据;  2)通过对平台各个子系统(接入、订购、支付)的处理能力进行测试,检测各子系统和端到端的网络服务质量。  2.测试范围及需求  本测试主要包括压力测试和过载测试。测试要求模拟真实的用户行为,并按照指定的行为比例进行混杂。测试涵盖查询、选座、订单提交和支付等业务流程,涉及接入子系统、订购子系统和支付平台。  当用户行为确定后,Avalanche通过调整用户规模,如并发用户数或交易速率来提高或降低对被测系统的压力。  运行过程中和测试结束后,Avalanche提供从网络流量、TCP到应用交易各个层面的状态统计和结果。如下图所示。  在实际测试中,用户对整个系统进行了测试,如下表所示。  除了端到端测试,还分别对各个子系统进行了评估,包含:接入子系统、订购子系统和支付子系统。例如,下表为接入子系统的结果统计。  3.测试的价值  在使用思博伦Avalanche进行测试后,来自用户的反馈如下:  1)Avalanche配置简单,软、硬件结合,无需采用多台PC/服务器同时部署某用户行为仿真软件的方式,某仿真软件配置需花一周左右的调试周期,而Avalanche配置调试过程只需要半天时间;  2)测试流程真实有效;通过对服务器端日志、用户数据库参数变更及返回结果值,反向验证了Avalanche测试仪发起请求的真实有效性;  3)压力测试反映了现网真实的结果。用PC/服务器+某仿真软件的方式模拟大量并发用户做性能测试,均无发现服务器性能瓶颈。但在去年的圣诞节期间,我系统多次因大量用户的登录和付费而瘫痪宕机,采用Avalanche则轻松复现这一系列问题。  4)测试结果丰富,帮助研发人员快速定位问题;通过对Error Code、客户端独立统计、TCP结果等综合分析,研发人员能快速在事件日志中找到问题原因。  第4页:测试案例(二)、(三)  案例二:某著名大型视频网站的产品预约/抢购系统压力测试  1.测试目的  在产品预约、抢购活动开始之前,对网站系统的性能进行测试;通过压力测试,找到系统瓶颈,进而帮助系统优化,确保预约/抢购活动的顺利进行。  2.测试范围及需求  本次测试为压力测试,设计到网站系统的登录模块、预约模块、抢购模块和支付模块。要对包括每个模块的性能和整个系统的性能进行测试,测出系统瓶颈和薄弱环节。  需要模拟大量真实用户同时操作,查看交易成功率和页面响应时间。同时确保系统在压力测试的情况下响应及时,不会产生未知错误影响网站用户体验。  3.测试的价值  在压力测试时,网站系统登录模块、抢购模块和支付模块后台均出现报错信息。经定位发现诸多问题,举例如下:  1)后台数据库系统存在瓶颈速度慢,影响了各模块的响应速度;  2)在某模块压力测试情况下,需要查找缓存的处理而转去查数据库;  3)登录模块存在瓶颈,大量用户上线时主从系统同步有问题,导致预约失败;  在压力测试时,会产生相关的总体结果,同时也会统计网络系统中产生的二层到七层的详细结果,对于系统问题分析和定位有很大帮助。如下图:  在思博伦Avalanche的帮助下,不仅帮助用户很快定位出系统瓶颈和问题,而且,在用户解决了问题后又再次进行了验证和调优,很好的保障了预约/抢购活动的进行,保证了系统最终上线时,用户的良好访问体验。  案例三:某权威电视媒体巴西世界杯直播节目“xx赢”手机版  1.测试目的  面对潜在的海量手机球迷用户,巴西世界杯“xx赢”节目上线前进行系统瓶颈查找及性能优化。  2.测试内容  使用思博伦Avalanche仿真大量手机用户访问“xx赢”网站。针对《xx赢》各个手机访问接口,如注册、验证、登陆、答题,模拟大量世界杯球迷注册、验证、登陆及答题行为,对系统进行了不同规模的压力测试。既仿真节目外的平缓海选时段,又仿真每晚《xx赢》与电视直播同步的答题节目开始后的突发时段;既模拟出不同的手机号段与验证码,又对网站的返回结果进行关键字搜索和判断。  3.测试的价值  网站的注册接口和答题接口,在指定的用户规模仿真下,研发人员本来认为可以顺畅访问的情形,均发现了明显的性能障碍。在思博伦Avalanche的反复测试配合下,研发人员解决了存在的代码问题和数据缓存服务的设计问题。为系统在世界杯直播期间的顺畅访问作出突出贡献。
(责任编辑:HN666)
11/03 02:3410/30 11:3210/30 00:2710/29 23:1010/29 10:1410/29 09:2010/28 15:03
科技精品推荐
每日要闻推荐
精彩焦点图鉴
  【免责声明】本文仅代表作者本人观点,与和讯网无关。和讯网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
产品性能测试报告
下载积分:1000
内容提示:产品性能测试报告
文档格式:XLS|
浏览次数:365|
上传日期: 21:42:41|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1000 积分
下载此文档
该用户还上传了这些文档
产品性能测试报告
关注微信公众号如何做Mac性能测试? - 简书
如何做Mac性能测试?
一个不错的Mac性能测试就是告诉你Mac的速度有多快,但实际上也告诉你Mac可以多快。下面,我们将很快向您展示各种性能测试,您可以将您的MacBook Pro,MacBook Air或您的iMac。
CleanMymac3
CleanMyMac Mac性能测试CleanMyMac实际上是最流行的Mac清洁程序之一。如果你想了解更多关于MacPaw的CleanMyMac,请阅读我们的CleanMyMac评论。除了清理和加速您的Mac,所有的扫描和点击过程,CleanMyMac的免费试用也是一个伟大的方式来执行您的Mac上的性能测试。CleanMyMac提供免费试用版,您可以在其中进行系统扫描,而无需支付任何费用。当你运行这样的扫描,结果会给你各种性能,如多种缓存文件,日志文件,语言文件,二进制文件和各种其他类型的系统垃圾可以从您的Mac删除,与其他各种潜在的优化方法,删除和优化,这将导致性能水平的明显上升。如果在运行扫描后发现需要进行大量的优化,这基本上意味着您的Mac的性能可以得到提升,有时甚至是非常显着的。根据扫描发现的错误数量,您可以通过下载完整的CleanMyMac程序来改善Mac的各种关键性能指标,如启动时间,多任务处理能力,更快的HDD读/写速度以及更快的浏览速度,以修复所有的错误。给你的Mac的终极性能测试 - 。使用您的Mac的活动监视器来测试性能每台Mac都有一个内置的性能监视程序,称为活动监视器。当你认为你的Mac的性能有疑问,或者比你想象的要慢时,可以通过Finder =& Applications =& Utilities =& Activity Monitor来快速打开Activity Monitor。一旦进入,您将能够看到一系列实时更新的指标。您应该特别监视CPU,系统内存和磁盘活动状态,以查看您的Mac正在执行的操作。理想情况下,无论您推Mac多少,都应该有足够的空闲或空闲的CPU和内存容量。例如,如果您打开5个浏览器窗口并运行一些软件程序,则您的Mac应该使用的内存少于60%。如果你看到内存和CPU变得越来越大,这实际上意味着你的Mac的性能能力正在努力满足你对Mac处理能力的期望。在某些情况下,这可能意味着您需要实际升级您的Mac。如果您正在采取硬件路线来升级您的Mac的性能,我们强烈建议Mac内存升级或Mac SSD升级,但这两者都不是一个便宜的选择。如果您无法进行硬件升级,则可能只需要缩小将Mac置入的活动。举个例子,如果你的2008年的MacBook Pro不能快速处理你正在使用的视频编辑程序,如苹果的流行的Final Cut Pro,这只是意味着你的MacBook Pro是不够好的工作,除非您的硬盘不合理地满了,您可以使用我们之前建议的CleanMyMac性能扫描进行确认。您还可以在活动监视器中看到“磁盘使用情况”选项卡,查看是否有完整的硬盘驱动器是Mac性能问题背后的罪魁祸首。理想情况下,如果您的Mac处理器在内存不足时想借用内存,则希望至少有40%的硬盘空间作为可用空间。如果您的硬盘空间利用率不错,但性能仍然很差,您别无选择,只能升级或耐心使用Mac的当前处理能力。使用在线测试和应用程序来衡量您的Mac的性能水平除了CleanMyMac之外,还有一些小型的个人性能测试程序,可以测量Mac的特定组件,如硬盘,显卡,CPU和内存。下面简要讨论它们。Xbench测试Xbench测试是一项测试,可以在一次测试中测试Mac的CPU,内存,显卡和磁盘访问速度。这个测试的真正好处在于,它可以让您将Mac性能的结果与其他人在Xbench站点上测试过的类似Mac机型进行比较。毕竟,如果您将2010年的MacBook Pro与全新的2014年MacBook Pro的性能结果进行比较,您会有什么用处?你想比较一下你2010年的模式与2010年推出的早期,夏季和后期型号的MacBook Pro,真正能够分辨出MacBook Pro是否仅仅是问题,或者只能期望从在那个或任何其他年份购买的MacBook Pro。Xbench下载次数超过288,000次,需要Mac OS X 10.3.9或更高版本才能测试您的Mac。该产品可以免费使用,虽然网站的所有者接受捐赠,如果你愿意帮助一个开发谁已经推出了一个伟大的性能测试产品。BlackMagic磁盘速度测试如果您在Mac上进行磁盘读写密集型任何操作(如音频或视频处理),则必须运行该性能测试。当你运行这个测试时,程序会通过写入大量的数据来测试你的Mac的HDD或SSD,然后显示输出的读和写分数。这可以是一个可以每月运行的性能测试,因为结果可以显示您的Mac的HDD或SSD随着时间的推移是否正在减速,因为它所积累的所有数据都是如此。有时候,在硬盘上磨损,也会影响读写速度,从而直接影响到Mac的性能。这个测试可以是一个很好的工具,让你知道什么时候你可能不得不改变你的Mac的存储磁盘,以提取更好的性能,从您的Mac。如果您只想测试Mac的图形卡,并进行全面的性能测试,请使用Geeks3D测试,这是一个使用OpenGL基准测试平台对GPU进行压力测试的跨平台测试。目前,Geeks3D显卡测试可以测试以下; FurMark,TessMark,GiMark,PixMark Piano,PixMark Volplosion,Plot 3D和三角形。通过上述任何性能测试,您可以判断您的Mac是否足够满足您的需要。如果不是,您可能需要对Mac进行故障排除以解决潜在的问题,或者直接进行硬件升级,或者购买更新,更快,功能更强大的Mac。
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
常言: 工欲善其事,必先利其器。作为一名iOS开发工程师,必须是全能的。你不会点UI设计、不会点后台语言、不会点安卓开发...你都不好意思说自己是程序员。Mac上有很多好用的软件,有的能提升我们的开发效率,有的能提升我们的工作效率。今天我就来介绍一些Mac上对我们开发有帮助...
Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意义的,您不是第一个为此困惑的人,当然,也不会是最后一个:)大多数的美国人读 ubuntu 时,将 u 作为元音发音,类似单词 who 或者 boo ,重音在第二...
北京时间 9 月 20 日凌晨,苹果正式推送 macOS
High Sierra,即 macOS 10.13 公开版本。虽然这篇文章来的稍晚一些,但干货满满。 为了节省时间,我画出了上述这幅思维导图,本文将为少导图上的方向,为你一一介绍 macOS High Sierra...
您是否需要Mac清理软件以及Mac维护软件?你是否需要一个程序,让你只需使用一两次点击,然后照顾Mac电脑上的完整维护,同时也让你的Mac免受垃圾,否则可能会减慢甚至使其崩溃。如果你是,你来对地方了! 下面,我们回顾了被广泛认为是最好的Mac维护软件以及最好的Mac清理软件...
十年,大学毕业时宿舍姐妹们约定的聚会,八月初的时候以为无法成行了,可是又意外的成行了。拖着一家老小七口从广东南下的熊,怀着七个多月身孕各种不稳定的齐,尚在产假中照顾宝宝的小新,还有能够享受暑假的二艳和只休周末的我,在大家的共同努力下,这场十年的约定就这样在唐山聚齐了。 其实...
周末的时光,我总会留出一部分时间交给电影。随便点开一部,就算没有从电影的故事情节中得到预想的东西,学学人家电影画面的构图也是极好的。幸运的时候,挑选的那部可能完完全全就中了你想要的。比如,看到公众号的推荐去看了这部Me Before You. 在众多类型的片子里,目前最能打...
新年第一天,中午进了香港关,电影里常出现的画面,都在眼前出现。 去了黄大仙庙,求平安。去了象征性的紫荆广场,看了海。然后一路蜿蜒而上,远观一下富人住的地方,好希望可以见到华仔的家门。然后是浅海湾,然后去香港海洋乐园,晚上游船看维多利亚港。回到酒店,都十点了,真的好累,没空从...
关于准备的谚语,有很多,比如说,不打无准备之仗,机会都是留给有准备的人,你准备的越多,你成功的几率就会越大等等。 从上面的谚语来看,准备这个词语在生活中占的比例很大,很多事情你准备了,你就成功了一半,很多时候,你不准备,当机会降临时候,你就失败了一半,所以说看一个人成功与否...对于做产品的你而言,这些产品测试的知识是你要了解的
我的图书馆
对于做产品的你而言,这些产品测试的知识是你要了解的
文章主要涉及产品经理工作上经常接触到的基础的测试知识,包括测试的定义、测试何时进行、产品经理应该懂的测试概念、产品经理如何测试验收产品。作者:铅笔小葵为什么产品需要懂测试产品每个阶段都有验收标准,比如需求评审阶段验收、开发阶段验收,所以每个阶段都需要测试。产品经理尽管不是专业的测试人员,但产品经理作为最熟悉产品的人,理应对产品每个阶段都进行相应的测试验收产品,比如功能测试、可用性测试、用户体验测试,确保符合需求文档的要求,所以产品经理应该懂得相应的测试知识。产品经理懂测试,在相应的测试方式中验收产品的时候,能更清楚的系统地记录产品的每个问题,然后用产品思维去思考如何解决这些问题。可以用极简主义去思考如何把选择复杂的问题简单化减少用户的选择,比如刻意显示引导用户选择的功能按钮或隐藏用户很少用到的功能,比如微信用户很少用到的朋友圈停用的功能,使用路径刻意加深隐藏。可以用可用性原则的思维去思考如何去引导用户更好的完成产品使用,比如页面说明该页面所处的位置状态,比如微信的朋友圈页面顶部显示朋友圈的位置说明。可以用情感化设计的思维去思考如何超出用户的期望,比如微信聊天窗口发送我想你了会落下满天星星的效果超出用户的期望。可以用可行性的思维去思考如何用现有的资源解决产品的问题,比如前端工程师人数少的情况下可以直接借助前端开源框架快速开发MVP,比如借助bootstrap。还可以去和开发人员沟通如何解决app使用卡顿启动难加载缓慢等产品本身的性能问题,比如使用网易新闻app滑动时卡顿,开发人员会告诉你其中的一个原因是因为每个页面上承受的控件过多,app一个页面看起来的效果是一个平面,但app中一个页面的组成由webview或者文本框等多个控件布局叠加的,控件过多会占用内存,导致使用卡顿,这时你可以思考如何去平衡控件数量和卡顿体验问题。所以懂得测试,产品经理能更好地沟通,能更好地测试验收产品确保符合产品需求文档,能更好地解决和优化产品。产品经理不应该只为一个产品设计而不为一个产品测试。补充说明:网易新闻app使用卡顿的原因之控件以android为例,首先打开显示布局边界,在开发者选项里可以找到显示布局边界,打开。然后再打开网易新闻,你会看到界面布满各种边界;每个边界都是一个控件,控件可以包括控件,所以你会看到大边界包括小边界。如下图所示:当然有些为了使用流畅度,会采用webview控件,就相当于调用一个网页显示内容的控件;但是也影响使用用户体验,内容加载慢,目前利用cache缓存技术提供离线功能,预加载。新闻详情的大边界就是一个webview,如下图所示:一些建议:原生UI应用场景:流畅度体验要求高的UI样式相对固定交互复杂webview的HTML5页面应用场景:活动运营的页面需求,可重复调用交互简单测试的定义测试,顾名思义就是测试程序保证其可正确运行。而早期的测试定义就是如此,即对程序能够按预期运行建立起一种信心。随着技术的发展,目前测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。即运行程序发现错误。目前普遍使用行业标准IEEE/ANSI的测试定义:使用人工或自动的手段来运行或测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。目的是为了检验软件系统是否满足需求。从以上我们可以看出,不管怎么定义,测试既需要程序能符合需求文档的要求运行,也不能产生错误,测试可以归为两点:程序做了它应该做的事情;程序没有做它不该做的事情。注意:软件测试不等于程序测试,测试的对象包括文档、数据、程序。测试何时进行我们看看一张发现缺陷的时间和缺陷修复成本的关系图,下图中,横轴表示项目开发周期时间阶段,纵轴表示缺陷占比。如下图所示:从图中,我们可以看出越后期修复缺陷的成本就越高,且指数增长,而缺陷主要是开发前期引入的,且前期缺陷修复成本很低,所以我们应该知道,测试越早越好。前面说过,测试的对象包括文档、数据、程序,即测试贯穿软件开发开发周期,从需求开始到编码到验收测试结束,包括但不限于对需求、概要设计、详细设计、源码、可运行程序、运行环境的测试。所以,产品经理应该从需求开始阶段就进行测试产品。当然,专门的测试人员也应该从需求开始阶段就参与测试,产品的相关人员越早参与进来,对产品的需求理解就越透彻,还可以对需求二次分析补充。当然这里我们主要讲产品程序可运行后的相关测试,毕竟编码前的需求评审、原型、UE、UI的测试,这是每个产品经理必须具备的技能,编码期间的单元测试集成测试主要是开发人员实施,所以我们主要是讨论产品程序可运行后的相关测试。产品程序可运行后开发人员交付build给产品经理和测试人员的测试流程一般为用例测试(是否符合需求文档)、探索测试(是否存在隐患bug)、其他测试(兼容性、安全性……)。补充说明:编码前的需求评审、原型、UE、UI的测试重点:需求评审:定位、用户画像、说明规则是否明确;原型:页面是否完整,信息架构是否清晰;UE:业务流程是否舒适;UI:视觉设计是否干净,风格是否一致;这些编码前的测试一定要验收,因为会直接影响到产品开发的后续,比如UI测试的视觉设计,直接影响到目标产品的整个生命周期的视觉效果。应该懂的测试概念产品经理和测试人员沟通需求或者反馈产品的bug时,经常听到测试人员说的脚本录制及自动化测试的一些(测试概念上)名词,经常会说什么这个功能模块采用黑盒测试的流程分析法就知道bug的位置了,这个时候产品经理就懵逼,感觉沟通不下去了,产品做不下去了。产品经理懂得岗位的相关上下游知识,可以更好的处理好工作,比如和测试人员沟通需求时,测试人员会说文档测试通过了吗,或者说这个等到集成测试后再系统测试验证这个问题吧,这些测试上的名词,如果你懂的话,那么沟通起来就会很顺利,你就不会去问什么是文档测试,什么是集成测试,既节约时间,更主要可以让产品的相关人员都能清楚地理解需求。所以,这里我们讲讲产品经理一般接触到的测试概念。测试一般是随着项目开发周期进行,根据开发模型对应相应的测试模式,比如瀑布开发模型的测试模式。测试分类有多个维度分类,比如根据测试阶段、测试手段、测试模块的维度分类,每个测试分类都有相应的测试办法,比如系统测试、白盒测试、黑盒测试、自动化测试。目前,我们最常用的开发模型是V模型,如下图所示:所以我们主要是根据V模型讲讲解测试知识。▍测试分类V模型是按测试阶段来分类测试,分为单元测试、集成测试、系统测试、验收测试,这也是根据开发进度进行的测试分类。单元测试又称模块测试,是针对软件设计的最小单位 ─ 程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。由开发人员实施,用以检验所开发的代码功能符合设计要求。单元测试是其他测试的基础,单元测试用例代码和函数一对一,便于维护和实现条件覆盖与路径覆盖,可以尽早发现缺陷和利于重构,但一行代码需要3-5行测试代码才能完成单元测试,支出较大,典型的空间换取利益,所以需要权衡。单元测试有相应的测试框架,比如Xunit、Junit、PHPunit。我们平时接触的敏捷开发比较强调TDD(测试驱动开发),即在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。这样能保证功能代码的正确性,也能保证对需求的二次确认和理解,对需求设计有个清晰的认识。集成测试也称联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。集成测试的主要实施方案:一次性集成方法(big bang),即一次性把所有模块组装起来测试;增殖式集成方式,即一个个模块持续集成测试,最后把所有模块组装起来。系统测试通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统(软件)的需求定义作比较, 发现软件与系统(软件)的定义不符合或与之矛盾的地方。即把可运行的软件安装在真实环境下操作使用,测试软件的功能和性能,比如某功能能否正常运行,软件在该平台下能否正常运行。系统测试主要是从业务角度验证产品是否符合需求文档,所以,产品经理测试产品是否符合需求文档和设计的要求,一般都是在系统测试阶段。当然,测试人员主要针对的也是系统测试阶段。验收测试也称交付测试,以用户为主的测试,由用户参加设计测试用例,使用生产中的实际数据进行测试,确定软件是否满足验收标准,是否接受系统软件。验收测试驱动开发,是TDD的延伸,也就是定义好用户故事,验收标准,再去开发功能,功能通过验收标准,功能满足用户故事。▍有关功能测试从上面的定义,我们知道产品经理测试验收产品一般是在系统测试阶段,系统测试主要包括功能测试、界面测试、可靠性测试、易用性测试、兼容性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。其中功能测试是最主要的一种测试类型,一般说测试就是功能测试。功能测试对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。测试人员会借助一些功能测试工具,比如QTP winrunner,主要是测试业务流程。界面测试也称UI测试,测试用户界面的功能模块的布局是否合理、整体风格是否一致、各个控件的放置位置是否符合客户使用习惯,此外还要测试界面操作便捷性、导航简单易懂性,页面元素的可用性,界面中文字是否正确,命名是否统一,页面是否美观,文字、图片组合是否完美等。可靠性测试对软件或者硬件的一种质量测试,用来检测产品是否存在不可靠因素,比如硬件老化。易用性测试指用户使用软件时是否感觉方便,主要特点为易理解性、易学性、易操作性、吸引性、易用的依从性,比如是否最多点击鼠标三次就可以达到用户的目的。易用性和可用性存在一定的区别,可用性是指是否可以使用,强调软件可运行性,而易用性是指是否方便使用,强调用户体验,是交互的适应性、功能性和有效性的集中体现。兼容性测试主要测试软件是否能在不同的操作系统平台上兼容,是否能在不同的设备上兼容;软件本身能否向前或向后兼容;软件能否与其他相关的软件兼容;数据是否兼容,主要是指数据能否共享等。性能测试通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。性能测试主要分为:应用在客户端性能的测试:主要并发性能测试,利用自动化工具通过模拟成百上千用户重复执行和运行应用进行黑盒测试,比如loadrunner。一般测试人员进行性能测试就是应用在客户端性能的测试。应用在网络上性能的测试:主要网络应用性能监控、网络应用性能分析和网络预测的测试,目的是准确展示网络带宽、延迟、负载和TCP端口的变化是如何影响用户的响应时间的,性能的问题根源位置,会借助一些工具,比如Application Expert。应用在服务器性能的测试:目的是实现服务器设备、服务器操作系统、数据库系统、应用在服务器上性能的全面监控。性能测试目的是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。补充说明:两个插件YSlow、page speed,静态评估网页性能的插件,可以评估网页性能并获得有关如何改进性能的建议,有兴趣的产品经理可以了解,后期优化产品时可以有底气地和开发人员沟通。当然也有APM(应用性能管理)对企业系统即时监控以实现对应用程序性能管理和故障管理的系统化的解决方案,比如听云官网。软件经过上述主要的测试后提交bug修改bug后,需要再次测试检验软件是否能正常运行,也就是所谓的回归测试。回归测试修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试,且尽量实现自动化,作为自动化测试的优先级。测试重心在关键模块和重点功能模块上。产品经理测试验收产品时,主要是采用手工测试以用户视角来测试产品,根据用户需求,采用事件驱动,输入和输出,测试软件系统的界面和功能,主要测试方向为功能、可用性、用户体验,所以主要是进行系统测试的功能测试、界面测试、可靠性测试、易用性测试、兼容性测试。而性能测试、安全测试等自动化测试由专门的测试人员实施。另外,应该知道测试原则的几个主要特点:软件测试不能保证百分百没有缺陷,缺陷具有群集特性(即缺陷主要出现在有缺陷的模块,重点关注),测试的二八原则(80%时间用在20%的重点模块上,提升效率和资源使用率),测试活动依赖测试背景(依赖软件的应用背景,比如银行金融软件,侧重安全,所以更偏向于安全性测试)。补充说明目前互联网公司大多强调敏捷开发,所以我们讲讲敏捷开发及敏捷测试的知识。▍敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。也就是需求一直在变更,我们需要拥抱变更。主张的价值观:沟通、简单、反馈、勇气、谦逊。敏捷宣言:个体和交互 胜过 过程和工具;可以工作的软件 胜过 面面俱到的文档;客户合作 胜过 合同谈判;响应变化 胜过 遵循计划。每项对比中,虽然后者也有价值,但我们认为前者更有价值。敏捷测试是遵循敏捷宣言的一种测试实践:强调从客户的角度,即从使用系统的用户角度,来测试系统。重点关注持续迭代地测试新开发的功能,而不再强调传统测试过程中严格的测试阶段。建议尽早开始测试,一旦系统某个层面可测,比如提供了模块功能,就要开始模块层面的单元测试,同时随着测试深入,持续进行回归测试保证之前测试过内容的正确性。强调持续反馈,预防缺陷胜过发现缺陷。敏捷开发的好处:开发和测试人员是紧密合作,大家都有责任对软件负责,所以产品更能符合需求文档的要求。核心系统集成和高频集成是敏捷开发的比较常用的测试方法。如何测试验收产品讲完测试概念,就应该到实践了,即如何测试验收产品。产品经理测试一个产品,不能用产品思维去测试一个产品,因为产品经理是最熟悉产品的人,产品每一功能每一个步都知道操作流程,所以往往只能发现一些不符合产品需求功能上的bug,而会忽略真实用户去使用的问题,比如某个功能点的使用路径过深,导致用户找不到,用户产生挫败感。所以产品经理测试验收产品,除了验收是否符合产品需求外,还需要发现产品的可用性、可行性、情感化设计的用户体验问题。因此,测试产品过程中,产品经理需要跳出产品思维,转为用户思维,甚至转为测试人员的思维,更广度和深度的测试验收。那么如何转为测试人员的思维呢?首先需要了解测试人员的职责及工作,这样才能更好地了解到测试人员使用到的测试思维,才能更好地转为测试人员的思维。下面来看看拉勾的腾讯的测试工程师的招聘的职位要求,如下图所示:抛开技术层面,只从测试思维考虑,从职位要求可以看出,所以测试工程师的核心能力在于有耐心地提出挑战性的相关问题,从不同的角度,验证产品的可行性,善于找出错误让程序不能正常运行的问题。因为带着问题,才能发现问题,比如他们会问,产品的目的,产品主要在什么平台上使用,如果不符合的数据输入会不会发生程序崩溃,会从各种实用场景中发现问题。从各种场景发现问题,也就是要求我们要多使用,多问“如果…会怎么样“”为什么”的问题,毕竟找到关键问题的最好办法就是提问。因为多问为什么,发散思维,也使得测试人员会从不同的用户角度(交叉测试)去思考问题,包括毫无经验的用户、很有经验的用户、爱好者、黑客、竞争对手等等,产品的受众越多,不同类型的用户就越多,就需要从更多的用户去思考问题,当然,用户越多,其操作行为和工作流程就越多,比如随意输入、随意点击。随意输入、随意点击,不断和系统交互,带着问题测试,也就是所谓的探索性测试,探索产品未被发现的bug的存在隐患。探索性测试,完全抛开测试脚本的测试,是一种测试风格、思维而不是一种测试技术,分为局部性测试和全局性测试,局部性测试主要是对某个模块进行输入输出的测试,全局性测试主要是像游客一样使用软件系统。探索性测试,自由灵活会增加发现新的bug的可能性,执行与设计(思考)并行,减少在简单、繁复上用例的无谓编写时间,不断和系统交互,带着问题测试,但更依赖系统完成可用的情况下才能交互使用探索,且难协调和控制,所以一般都是测试工程师采用monkey自动化测试进行探索性测试。从上面的职责和测试人员的测试工作,我们不难看出,测试的主要思维,就是带着问题以不同用户的不同操作流程去使用产品达到发现bug。了解了测试思维,那么还需要了解测试的流程是怎样的,毕竟流程是规范性的要求,保证测试能有序有目的的进行。测试的流程主要为测试计划-测试用例-测试执行-测试报告。测试用例主要是测试人员根据PRD、流程图、原型图、UI、收集的资料来编写,通过需求文档了解需求背景,用户画像、使用场景、用户故事,通过流程图、原型图了解功能需求,站在用户角度和项目实情去思考,尽可能地覆盖全面使用路径。测试用例编写之前,产品经理都是最熟悉产品,知道产品的目的,即用户故事同理心,知道产品主要是在什么系统、平台运行,知道数据是什么类型,知道调用哪些外部的接口,知道哪些是关键模块,知道产品的规划,可以更快速地测试是否符合产品需求文档的要求。所以产品经理应该和测试人员详细地宣讲产品,也就是所谓的必须进行的产品宣讲,这样测试人员能好地理解编写测试用例,产品经理也能借助测试人员的经验更好地进行测试验收产品。编写好测试用例时,根据需求文档的需求优先级和风险级别定义测试优先级别,重点测试核心模块,比如电商网站的搜索浏览商品和下单的完整流程是优先级别的测试模块。开始测试产品过程中,详细写好步骤和具体问题,问题很多类型,所以记好问题类型,当然很多问题是可以被预先确定和测试的,所以注意操作步骤及操作环境,比如是否按照正常流程操作,用户是否打开数据网络。产品经理一般是根据测试用例来测试验收产品,符合验收标准即可。测试用例可以从测试人员那里要,或者自己根据谁、怎么做、结果的用户操作流程编写一个符合规则的测试用例去测试,最后去思考问题的原因和解决方案,以及把测试的问题反馈给测试人员跟进和开发人员解决。测试模块尽量独立,覆盖全面,减少耦合。这里我们以微信手机号登录功能模块的功能测试为测试案例,讲讲测试步骤和测试用例。当然,不同公司的测试步骤和测试用例会有些不一样,不过相差不大。测试前需要准备一些测试的硬性需求,比如测试的相关数据(比如是否后台创建测试账号)、测试设备(比如iphone5、6、7)、测试需要的软件(比如操作系统,浏览器)。这里微信登录功能测试的需求:数据(一个已注册的用户账号密码,一个未注册的手机号码),设备(一部手机),需要的软件(android/ios)。根据带着问题以不同用户的不同操作流程去使用产品达到发现bug的测试思维,编写测试用例。首先用脑图列出模块的不同用户的不同操作流程,这样可以覆盖功能全面路径。这里只列举主要使用场景,如下图所示:根据PRD的用户故事或者原型图的规则说明列出每个功能点的验收标准,列出每个操作流程的验收标准,即预期结果(预期结果以微信实操的结果模拟,吐槽一下微信手机号码输入框没限制号码长度的等一系列的低级体验问题)。在操作流程的脑图基础上补上每个故事点的验收标准,如下图所示:最后根据上述的脑图,我们可以写出大概的测试用例列表,当然,测试列表需要补充说明一些相关信息。如下图所示:编写完测试用例后,我们就可以根据测试用例逐项测试产品,并根据测试结果填写测试用例列表中的测试结果,并根据预期结果和测试结果的差异,填写是否存在缺陷,并反馈给测试人员和开发人员进行跟进和修改缺陷。至此,一个模块功能测试就完整了,当然,修改缺陷后跟进还需要回归测试。补充说明:上述的基础测试知识只是产品经理经常涉及到的测试知识,测试还有很多概念,比如冒烟测试、AB测试、自动化测试,测试的未来会自动化,对技术要求越来越高,所以测试是一门大学问,如果有兴趣学习的产品经理,可以找套教程学学。&作者:铅笔小葵(微信号:gaokaikui &知乎专栏:铅笔小葵),待业中,2年多工作经验,现产品经理,全权负责从0到1的产品开发,曾任Java工程师,参与后台开发。欢迎大家互相交流关注。
TA的最新馆藏
喜欢该文的人也喜欢

我要回帖

更多关于 app如何做性能测试 的文章

 

随机推荐