BUG也精彩http://advdbg.org/forums/41/ShowForum.aspx永远不存在没有BUG的软件,任何对这一公理的轻视或者无知都会难逃事实的惩罚。zh-CNCommunityServer 1.1 (Build: 2.0.2.21480)MARK的RootkitRevealer崩溃http://advdbg.org/forums/7078/ShowPost.aspxSat, 02 Sep 2017 08:19:01 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7078ntos0<div><div>偶然的机会试了一下大神的rootkit扫描工具,启动时竟然直接崩溃,break进了windbg:</div><div><br></div><div><div>(36cc.328): Access violation - code c0000005 (!!! second chance !!!)</div><div>*** ERROR: Module load completed but symbols could not be loaded for C:\Users\ge\Downloads\RootkitRevealer.exe</div><div>eax=ffffffff ebx=004aa634 ecx=c0100000 edx=0019f1fc esi=00000000 edi=02fc0048</div><div>eip=004040cd esp=0019f1ec ebp=0019f1f0 iopl=0 &nbsp; &nbsp; &nbsp; &nbsp; nv up ei ng nz na pe nc</div><div>cs=0023 &nbsp;ss=002b &nbsp;ds=002b &nbsp;es=002b &nbsp;fs=0053 &nbsp;gs=002b &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; efl=00010286</div><div>RootkitRevealer+0x40cd:</div><div>004040cd cd2e &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int &nbsp; &nbsp; 2Eh</div></div><div><br></div><div>仔细一看,原来是使用int 2e强调内核服务:</div><div><br></div><div>0:000&gt; ub</div><div>RootkitRevealer+0x40bd:</div><div>004040bd 90 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nop</div><div>004040be 90 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nop</div><div>004040bf 90 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nop</div><div>004040c0 55 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;push &nbsp; &nbsp;ebp</div><div>004040c1 8bec &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov &nbsp; &nbsp; ebp,esp</div><div>004040c3 51 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;push &nbsp; &nbsp;ecx</div><div>004040c4 8b4508 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov &nbsp; &nbsp; eax,dword ptr [ebp+8]</div><div>004040c7 8d950c000000 &nbsp; &nbsp;lea &nbsp; &nbsp; edx,[ebp+0Ch]</div><div>0:000&gt; u</div><div>RootkitRevealer+0x40cd:</div><div>004040cd cd2e &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;int &nbsp; &nbsp; 2Eh</div><div>004040cf 8945fc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov &nbsp; &nbsp; dword ptr [ebp-4],eax</div><div>004040d2 8b45fc &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov &nbsp; &nbsp; eax,dword ptr [ebp-4]</div><div>004040d5 8be5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mov &nbsp; &nbsp; esp,ebp</div><div>004040d7 5d &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pop &nbsp; &nbsp; ebp</div><div>004040d8 c3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ret</div><div>004040d9 90 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nop</div><div>004040da 90 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;nop</div></div><div><br></div><div>最主要是上述代码是32位的,而内核是64位的</div><div><br></div><div>检查了一下版本,这个工具十年没有更新了,似乎没有64位的</div><div><h1 id="rootkitrevealer-v171">RootkitRevealer v1.71</h1><div class="metadata">2006-11-1&nbsp;<span class="reading-time">10 分钟阅读时长</span>&nbsp;<span class="contributors-text">作者</span>&nbsp;<ul class="contributors"><li><a href="https://github.com/markruss" title="markruss"><img src="https://github.com/markruss.png?size=16" alt="markruss"></a></li>&nbsp;<li><a href="https://github.com/v-kents" title="Kent Sharkey"><img src="https://github.com/v-kents.png?size=16" alt="Kent Sharkey"></a></li></ul></div><div><div class="content"><p><span>By Mark Russinovich</span></p><p>Published: November 1, 2006</p><p><a href="https://download.sysinternals.com/files/RootkitRevealer.zip"><img src="https://docs.microsoft.com/en-us/media/landing/sysinternals/download_sm.png" alt="Download"></a>&nbsp;<a href="https://download.sysinternals.com/files/RootkitRevealer.zip"><span>Download RootkitRevealer</span></a>&nbsp;<span>(231 KB)</span><br><span>Run now</span>&nbsp;from&nbsp;<a href="https://live.sysinternals.com/">Sysinternals Live</a>.</p><p><br></p></div></div></div>移动APP安全测试中最容易被遗忘的问题http://advdbg.org/forums/7055/ShowPost.aspxMon, 27 Feb 2017 07:58:58 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7055削个椰子皮0 96 Normal 0 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;} <p class="MsoNormal"><br></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>软件权限</span><span>&nbsp; <o:p></o:p></span></p> <p class="MsoNormal"><span>1</span><span>)扣费风险:包括发送短信、拨打电话、连接网络等</span><span>&nbsp; <o:p></o:p></span></p> <p class="MsoNormal"><span>2</span><span>)隐私泄露风险:包括访问手机信息、访问联系人信息等</span><span>&nbsp; <o:p></o:p></span></p> <p class="MsoNormal"><span>3</span><span>)对</span><span>App</span><span>的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>4</span><span>)限制</span><span>/</span><span>允许使用手机功能接人互联网</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>5</span><span>)限制</span><span>/</span><span>允许使用手机发送接受信息功能</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>6</span><span>)限制</span><span>/</span><span>允许应用程序来注册自动启动应用程序</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>7</span><span>)限制或使用本地连接</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>8</span><span>)限制</span><span>/</span><span>允许使用手机拍照或录音</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>9</span><span>)限制</span><span>/</span><span>允许使用手机读取用户数据</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>10) </span><span>限制</span><span>/</span><span>允许使用手机写人用户数据</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>11) </span><span>检测</span><span>App</span><span>的用户授权级别、数据泄漏、非法授权访问等</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>2.</span><span>安装与卸载安全性</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>1</span><span>)应用程序应能正确安装到设备驱动程序上</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>2</span><span>)能够在安装设备驱动程序上找到应用程序的相应图标</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>3</span><span>)是否包含数字签名信息</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>4</span><span>)</span><span>JAD</span><span>文件和</span><span>JAR</span><span>包中包含的所有托管属性及其值必需是正确的</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>5</span><span>)</span><span>JAD</span><span>文件显示的资料内容与应用程序显示的资料内容应一致</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>6</span><span>)安装路径应能指定</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>7</span><span>)没有用户的允许</span><span>, </span><span>应用程序不能预先设定自动启动</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>8</span><span>)卸载是否安全</span><span>, </span><span>其安装进去的文件是否全部卸载</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>9</span><span>)卸载用户使用过程中产生的文件是否有提示</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>10</span><span>)其修改的配置信息是否复原</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>11</span><span>)卸载是否影响其他软件的功能</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>12</span><span>)卸载应该移除所有的文件</span><span>&nbsp; <o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>3.</span><span>数据安全性</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>1</span><span>)当将密码或其他的敏感数据输人到应用程序时</span><span>, </span><span>其不会被储存在设备中</span><span>, </span><span>同时密码也不会被解码</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>2</span><span>)输人的密码将不以明文形式进行显示</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>3</span><span>)密码</span><span>, </span><span>信用卡明细</span><span>, </span><span>或其他的敏感数据将不被储存在它们预输人的位置上</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>4</span><span>)不同的应用程序的个人身份证或密码长度必需至少在</span><span>4</span><span>一</span><span>8 </span><span>个数字长度之间</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>5</span><span>)当应用程序处理信用卡明细</span><span>, </span><span>或其他的敏感数据时</span><span>, </span><span>不以明文形式将数据写到其它单独的文件或者临时文件中。以</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>6</span><span>)防止应用程序异常终止而又没有侧除它的临时文件</span><span>, </span><span>文件可能遭受人侵者的袭击</span><span>, </span><span>然后读取这些数据信息。</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>7</span><span>)当将敏感数据输人到应用程序时</span><span>, </span><span>其不会被储存在设备中</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>8</span><span>)备份应该加密</span><span>, </span><span>恢复数据应考虑恢复过程的异常通讯中断等</span><span>, </span><span>数据恢复后再使用前应该经过校验</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>9</span><span>)应用程序应考虑系统或者虚拟机器产生的用户提示信息或安全替告</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>10</span><span>)应用程序不能忽略系统或者虚拟机器产生的用户提示信息或安全警告</span><span>, </span><span>更不能在安全警告显示前</span><span>,</span><span>,利用显示误导信息欺骗用户,应用程序不应该模拟进行安全警告误导用户</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>11</span><span>)在数据删除之前,应用程序应当通知用户或者应用程序提供一个“取消”命令的操作</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>12</span><span>)“</span> <span>取消”</span> <span>命令操作能够按照设计要求实现其功能</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>13</span><span>)应用程序应当能够处理当不允许应用软件连接到个人信息管理的情况</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>14</span><span>)当进行读或写用户信息操作时</span><span>, </span><span>应用程序将会向用户发送一个操作错误的提示信息</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>15</span><span>)在没有用户明确许可的前提下不损坏侧除个人信息管理应用程序中的任何内容Μ</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>16</span><span>)应用程序读和写数据正确。</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>17</span><span>)应用程序应当有异常保护。</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>18</span><span>)如果数据库中重要的数据正要被重写</span><span>, </span><span>应及时告知用户</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>19</span><span>)能合理地处理出现的错误</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>20</span><span>)意外情况下应提示用户</span><span>&nbsp; <o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>4.</span><span>通讯安全性</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>1</span><span>)在运行其软件过程中</span><span>, </span><span>如果有来电、</span><span>SMS</span><span>、</span><span>EMS</span><span>、</span><span>MMS</span><span>、蓝牙、红外等通讯或充电时</span><span>, </span><span>是否能暂停程序,优先处理通信</span><span>, </span><span>并在处理完毕后能正常恢复软件</span><span>, </span><span>继续其原来的功能</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>2</span><span>)当创立连接时</span><span>, </span><span>应用程序能够处理因为网络连接中断</span><span>, </span><span>进而告诉用户连接中断的情况</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>3</span><span>)应能处理通讯延时或中断</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>4</span><span>)应用程序将保持工作到通讯超时</span><span>, </span><span>进而发送给用户一个错误信息指示有连接错误</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>5</span><span>)应能处理网络异常和及时将异常情况通报用户</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>6</span><span>)应用程序关闭或网络连接不再使用时应及时关闭</span><span>) </span><span>断开</span><span> 7) HTTP</span><span>、</span><span>HTTPS</span><span>覆盖测试</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>--App</span><span>和后台服务一般都是通过</span><span>HTTP</span><span>来交互的,验证</span><span>HTTP</span><span>环境下是否正常;</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>--</span><span>公共免费网络环境中(如:麦当劳、星巴克等)都要输入用户名和密码,通过</span><span>SSL</span><span>认证来访问网络,需要对使用</span><span>HTTP Client</span><span>的</span><span>library</span><span>异常作捕获处理。</span> <span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>在互联网时代,安全性是移动</span><span><a href="https://www.testbird.com/">App<span>测试</span></a></span><span>中极为重要的一项,每一个点都应该重视,用户的信息的安全性是一款</span><span>APP</span><span>成败的关键。</span><span><o:p></o:p></span></p> App开发者:一个你从未体验过的自动化测试平台http://advdbg.org/forums/7050/ShowPost.aspxTue, 14 Feb 2017 07:19:10 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7050削个椰子皮0 v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} 96 Normal 0 false 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;} <p class="MsoNormal"><br></p> <p class="MsoNormal"><span>“测试”在移动互联网界应该是耳熟能详的词汇了,目前几乎所有开发者在进行研发的过程中都要进行应用的测试,常用的使用模式大致有三类:</span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>完全黑盒、基于脚本、基于录制回放</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>但使用过的朋友应该知道这三类模式都存在很难解决的缺陷,那么同作为开发的笔者,也是尝试、更换了无数的测试平台与工具,最终对自己的工作效率或者效果提升都不明显,而接下来,笔者将向大家推荐一款最近正在试用的一个自动化测试平台,目前来说效果还不错,经过笔者的研究和梳理总结,整理出了这个平台的构架与理念,希望各位做开发、测试的朋友能够有机会来尝试一番。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>逻辑架构</span><span><o:p></o:p></span></p> <p class="MsoNormal"><br></p><p class="MsoNormal"><img src="http://p3.pstatp.com/large/cfd00037561d0a5ed2a"></p><p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>应用服务:</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>远程调试:提供手机的远程租用功能,实现远程调试</span><span>App</span><span>,提升解决</span><span>bug</span><span>的效率。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>2.</span><span>用例管理:提供了“管理用例”、“录制脚本”、“导入用例”的功能,此处用例作为回归测试的输入。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>3.</span><span>功能测试:提供远程的</span> <span><a href="https://www.testbird.com/quick-functional-testing/">App<span>功能测试</span></a></span><span>,并记录操作过程,一旦测出</span><span>bug</span><span>,可以快速的找到复现步骤。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>4.</span><span>回归测试:选择用例进行回归,自动记录回归过程(包括截图和性能数据),并自动判断回归结果。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>5.</span><span>手机资源管理:提供手机物理状态和业务状态的各种管理功能,确保业务的正常进行。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>6.</span><span>消息队列:不同层次之间的服务通过消息队列进行通讯。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>服务器:</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.rDesktop</span><span>:实现了从</span><span>web</span><span>端远程控制手机的功能,并实时显示手机屏幕的内容。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>2.Recorder</span><span>:在</span><span>rDesktop</span><span>操作手机屏幕的同时,通过分析用户操作,将之转化为自动化脚本。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>3.Playback Engine</span><span>:用于解释</span><span>Recorder</span><span>录制的脚本,并在特定终端进行回放。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>终端:</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>1.rDeskAgent</span><span>:提供控制手机和抓取终端屏幕视频流的功能。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.Connector</span><span>:提供管理手机的基础功能(与</span><span>O&amp;M</span><span>平台配合)。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3.TestServer</span><span>:用于回放测试脚本。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><img src="http://p3.pstatp.com/large/ca2000826804144fd3b"></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>手动操作数据流:用户操作</span><span> =&gt; rDesktop =&gt; </span><span>手机</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>图片视频数据流:手机</span><span> =&gt; rDesktop =&gt; </span><span>用户界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>自动化控制命令流:用户操作</span><span> =&gt; Playback Engine =&gt; </span><span>手机</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>信息收集数据流:手机</span><span> =&gt; </span><span>应用服务</span><span> =&gt; </span><span>用户界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>脚本录制数据流:用户操作</span><span> =&gt; rDesktop =&gt; </span><span>应用服务</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>用例概念</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>用例采用直观易懂的“线性”模式,同时加入了“数据驱动”,使用例具备了可扩展性,方便</span><span>Tester</span><span>灵活处理脚本。这样的巧妙设计取得了复杂度与灵活性的平衡。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>要实现这种灵活性,我们将每一条</span><span>TestStep</span><span>分为三大部分:屏幕构成、操作、结果:</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>屏幕构成:由截屏图片和</span><span>Layout</span><span>组成,通过图片和</span><span>Layout</span><span>相结合确定屏幕的构成,提升测试结果的准确性。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>操作:由“手势”和“输入参数组成”,输入参数可以是写死的,也可以进行灵活配置。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>结果:结果依赖于检查点,“录制”和“回放”时的屏幕构成决定这</span><span>TestStep</span><span>的执行结果。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><img src="http://p3.pstatp.com/large/ca30003064ce3fb70c9"></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>总结</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>通过以上的讲解,相信大家对</span><span>Quail</span><span>平台有个大体上的认识,在后续的文章中,将会通过对平台使用的图片流程来更深入了解</span><span>Quail</span><span>在</span><span><a href="https://www.testbird.com/">APP<span>测试</span></a></span><span>上更多的作用。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>本文系</span><span>TestBird</span><span>原创,转载请注明</span><span><o:p></o:p></span></p> Android测试之手游测试要点分享http://advdbg.org/forums/7049/ShowPost.aspxMon, 13 Feb 2017 07:47:58 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7049削个椰子皮0 96 Normal 0 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;} <p class="MsoNormal"><br></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>最近做了一款手游的测试,有些心得拿出来分享一下:</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>广告位</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>上线产品是否需要加上广告,广告是否加上</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>广告位是否遮挡重要信息</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>评分界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>评分界面是否加上</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>评分界面文字是否出现错误,是否符合平台规定</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3.</span><span>按钮是否歧义</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>4.</span><span>评分界面是否与游戏界面风格统一</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>计费部分</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1. </span><span>计费要求是否达到</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>购买道具:用户购买道具时,需要明确提示用户道具的名称、费用、并提供“确认”和“取消”功能选择。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>付费成功后,需弹出付费成功的提示页面,并提供“确认”选择,确认界面。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>4. </span><span>购买成功后,用户账户是否扣费正常</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>5. </span><span>游戏付费提示语中不允许出现“终生免费”或“永久免费”等较绝对性的用语,避免发生意外情况时造成与事实不符。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>游戏主界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>功能按钮及功能测试</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>游戏逻辑测试</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3.</span><span>图片测试,像素残余、像素残缺、图像出屏。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>4.</span><span>每个连接是否都能正常打开。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>5.</span><span>音效测试,音效流畅、可以正确的打开及关闭音效。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>6.</span><span>文字测试,文字出屏、错别字、敏感字、脏话。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>7. LOGO SCREEN</span><span>必须要有,作为一个公司的品牌,这个是必须的。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>8.</span><span>开始游戏之后,游戏主页面应该包含开始游戏</span><span>(start)</span><span>、继续游戏</span><span>(continue)</span><span>、设置</span><span>(option)/</span><span>音乐</span><span>(music)</span><span>、帮助</span><span>(help)</span><span>、关于</span><span>(about)</span><span>、退出游戏</span><span>(exit)</span><span>,这些缺一不可。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>9.</span><span>开始游戏,点击后开始新游戏。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>10.</span><span>继续游戏,从上次存档点开始继续游戏。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>11.</span><span>设置或者音乐项,主要是此项的功能就是为了开启和关闭游戏音乐,有可能会附带其他功能,大多数游戏会只有一个开始关闭音乐功能,所以可能会直接写成音乐,或者打开</span><span>/</span><span>关闭音乐</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>12.</span><span>帮助,主要内容就是游戏世界观介绍,游戏按键说明。其中游戏按键说明必须与游戏中的按键完全相同。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>13.</span><span>关于主要内容是关于此游戏制作公司等相关信息。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>14.</span><span>退出游戏,点击后游戏关闭。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>关卡选择</span><span>/</span><span>世界选择界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1</span><span>.功能按钮测试</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2</span><span>.滑动选框体感测试</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3</span><span>.关卡刷新测试,过关后关卡刷新是否及时</span><span>4. </span><span>过关后关卡界面中显示其他信息是否正确</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>游戏界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>操作是否合理</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>数值显示是否正确</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3.</span><span>游戏逻辑是否正常</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>4.</span><span>游戏功能是否正常</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>胜利失败界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>得分显示位置是否正常</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>得分数值是否压框或者超框</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>退出界面</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>界面是否正常显示</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>文字是否歧义或者错误</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3.</span><span>按钮是否歧义</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>4.</span><span>界面风格是否统一</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>内存</span><span>/</span><span>分辨率</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>1.</span><span>游戏是否满足上线需求最低内存(现阶段中兴机是否内存溢出)</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2.</span><span>不同分辨率的手机界面是否异常,接缝、数值超框、乱码</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>游戏排行榜</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1. </span><span>游戏的分数是否能够正常进入排行榜</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>是否按照分数的高低或等级的高低进行排行</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>排行榜中是否表明清楚每个类别的名称,例如:昵称、等级、分数。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>外部事件测试</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1. </span><span>游戏中接到电话,是否可以正常接听。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>游戏中收到短消息是否能正常进入消息提示界面。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>游戏中进行充电,是否出现正常的提示充电的信息。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>4. </span><span>外部时间后返回游戏是否可以正常继续运行。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>5. </span><span>电量不足时提醒后是否能够正常返回游戏。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>游戏帮助</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1. </span><span>在帮助信息中不能出现错别字,繁体版本中不能出现未繁体化的汉字,英文版本不能出现单词拼写错误,语法错误。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>帮助信息中的描述内容应与游戏中的提示内容是否保持统一。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>查看帮助信息的内容是否通俗易懂。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>购买道具和使用道具</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1.</span><span>点击购买的道具,进入游戏中数量是否与之前购买时一致。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>当金币不够时,点击超额的道具,是否有余额不足的提示。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>使用完所有的道具以后,该道具的图标是否会消失或者显示为</span><span>0<o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>每日礼包</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1. </span><span>每天登陆时是否能够领取相应天数的礼包</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>是否出现一天可以领取多次的情况。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>礼包的道具或者金币领取后是否能够正常使用。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>数据保存</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>1. </span><span>分数是否显示正确。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>退出后重新登录,分数是否保存了。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>3. </span><span>设置后的内容退出后是否保存成功。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>Home</span><span>键</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>  </span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>1. </span><span>按一次</span><span>home</span><span>键,程序能够挂起,进入到后台运行,恢复也能够正常;</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>2. </span><span>长按</span><span>home</span><span>键,调出任务管理器,能够挂起或者恢复;</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>今天就展示想到这些</span><span><a href="https://www.testbird.com/"><span>手游测试</span></a></span><span>的要点,相对于</span><span><a href="https://www.testbird.com/">App<span>测试</span></a></span><span>就要简单多了,网上也有很多关于</span><span>app</span><span>的要点,我就不一一谢了。</span><span><o:p></o:p></span></p> 直播App测试重点问题 - 服务器压力http://advdbg.org/forums/7047/ShowPost.aspxMon, 06 Feb 2017 06:55:27 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7047削个椰子皮0 96 Normal 0 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;} <p class="MsoNormal"><br></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>直播的火爆带来了海量的用户,也带来了海量的服务器并发。全国在线直播平台数量接近</span><span>200</span><span>家,网络直播平台用户数量已经达到</span><span>2</span><span>亿,大型直播平台每日高峰时段同时在线人数接近</span><span>400</span><span>万,这一数据还在以极快的速度向上攀升。直播火没火,看用户就知道,但是直播有没有前景,就要看科技巨头们对它的态度了。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>如此大的用户体量下,直播类的应用对于服务器的要求要高过一般的应用,我们来看看直播类的应用对服务器有哪些更多的挑战?</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>更大的数据量</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>视频数据和文本数据完全是两个量级的概念,假设一个直播房间有</span><span>5000</span><span>人,视频</span><span>1s</span><span>的数据</span><span>60K</span><span>,那么就需要</span><span>5000*60=300000KB=292.97MB</span><span>,基本已经达到了</span><span>2-3</span><span>三个手游的大小了,而这只是一个房间产生的流量。当前某著名网络直播</span><span>APP</span><span>日活跃用户超过了</span><span>800W</span><span>,服务器将承受</span><span>458Gbps</span><span>的带宽压力。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>更高的并发量</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>不同于普通应用和游戏,直播类应用的使用时间段非常的集中,一般来说,社交类的直播</span><span>app</span><span>时间集中在晚饭后时间至睡前</span><span>20</span><span>点</span><span>~23</span><span>点,游戏类</span><span>App</span><span>活跃时间集中在下班后</span><span>18~20</span><span>点间,秀场类</span><span>App</span><span>集中在</span><span>13</span><span>点和</span><span>18(</span><span>午休及下班时间</span><span>)</span><span>,因此在这短短几小时之间,会涌入大量的用户,一次大</span><span>V</span><span>的直播通常就会造成百万级的用户登录,</span><span>APP</span><span>需要有详尽的限流、分流和负载均衡策略,保证服务器不会被冲垮。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>更真实的用户登录场景</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>直播应用与普通应用相比,交互的功能异常多,除了直播视频流的服务器压力之外,还要包括用户消息推送、聊天、礼物、支付以及统计系统带来的数据交互压力,服务器进行需要识别不同的业务字段,才能精确判定用户的行为是否成功完成,从交互频率的角度上来说,直播类的应用,与其说更像应用,不如说更像游戏。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>更低的延迟</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>直播需要一个很强的即时性,如果主播的行为和用户的评论无法同步的时候,会给用户非常不好的体验,如果一个用户发现其他用户在欢呼鼓掌,但是屏幕中的主播什么动静都没有的时候,这个直播应用基本可以不要再用了,因此直播类应用不仅需要面对更大的数据量和更高的并发,还要保证更低的延迟。通常可以要保证服务器的处理数据速度要快,要有足够强大的带宽;另外则是通过</span><span>P2P</span><span>算法保证数据分享的合理性,保证服务器的数据和</span><span>P2P</span><span>的数据可以达到平衡。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>不同于一般</span><span><a href="https://www.testbird.com/">app<span>测试</span></a></span><span>,更倾向兼容性或功能测试,对于直播应用来说,服务器的测试需求就越来越大。而服务器最难处理的环节就是视频流量和用户交互等高频率高带宽的场景,用户的行为是难以预测的,经常会出现突发性的暴涨,一般在进行活动的时候,流量可能是平时的几十倍。多场景的压测,要完全模拟真实用户行为,测试结果才能更接近现实。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span><a href="https://www.testbird.com/">TestBird<o:p></o:p></a></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>&nbsp;</span></p> 社交APP市场泥沙俱下,怎能脱颖而出http://advdbg.org/forums/7033/ShowPost.aspxFri, 13 Jan 2017 06:59:39 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7033削个椰子皮1 96 Normal 0 10 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:普通表格; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-font-kerning:1.0pt;} <p class="MsoNormal"><br></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>今天,市场上充斥着海里的社交类</span><span>APP</span><span>,但试用过大部分社交</span><span>APP</span><span>,笔者发现打“约”牌和放出各种暧昧诱惑的宣传词已经变成了社交</span><span>APP</span><span>的刺激、吸引用户的主要手段,当这种现象成为“烂大街”的存在时,业界唱衰社交之声已久。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>而一件非常奇怪的事情便是,这个行业发展非常充分,各类社交</span><span>APP</span><span>层出不穷,理论上多少都能满足一大部分的用户需求,就好像在团购、</span><span>O2O</span><span>飞速发展后,人们在本地生活服务方面的体验有了翻天覆地的变化。可是在这个行业中,人们的社交需求始终得不到满足,如此多的社交</span><span>APP</span><span>,人们换来换去,却依然处不好一个人。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>说到底,虽然社交</span><span>APP</span><span>的量大,但是产出的都属于无效社交,大多数</span><span>APP</span><span>仅仅是提供了一个平台,把所有的用户撮合在一起,后面的一切都让用户自己去进行,而其实这类</span><span>APP</span><span>能够提供给用户的信息非常匮乏,用户往往只能通过照片和图文消息来进行“第一印象”的配对,但最终大部分用户会感觉,找不到有聊的人,也不能展示互相的价值,不能相互分享一些内容,也得不到有效的反馈,最终无法满足社交这一行为的本质需求,从而形成无效社交,</span><span>APP</span><span>也必然活不长久。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>那么,对于这样的问题,难道社交</span><span>APP</span><span>的创业者们不知道吗?当然不是,事实上如今很多网站上都有人写到这些问题,并且分析都殊途同归。但尽管如此,市面上大多数的社交产品依然走的那条路,并没有解决无效社交的问题。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>而这样简单粗暴地产出社交</span><span>APP</span><span>,无效社交大肆横行于行业中,有效的高品质社交极度稀缺,笔者大体归为以下几个原因:</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>换汤不换药,无效假创新</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>大部分的社交类</span><span>APP</span><span>属于换壳产品,模仿与跟风大行其道,那么势必不能够解决之前已有社交类</span><span>APP</span><span>提供无效社交这样的关键问题,而所谓的创新,往往只是在界面,操作等“壳”处进行,并没有深入到内容和功能,进而做出改革,或者说发生改变的只是为你提供了更多不同约的方式而已,不从根本解决问题,那么这一大部分的社交</span><span>APP</span><span>就只是“一款”而已,用户在“这款</span><span>APP</span><span>”中得不到需求满足,自然不会再使用。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>唯技术最首,忽略人性根本</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>中国的很多社交创业者太过于注重技术,进而无法从人性的角度考虑问题。技术的要求就是直接、确定、迅速连接,但人的交流沟通是含蓄、模糊、感性的,大部分开发者把这种交流沟通等同于代码,就让用户按着程序步骤进行操作,笔者也在其他文章中看到过“一距离二匹配三媒介四啪啪啪”这样形象的形容,毫无疑问,目前大多社交类</span><span>APP</span><span>就在进行着这样“一二三四”的代码编写,完全不去思考社交产品的有效性与效率性从来都是基于人性的,技术只是辅助手段,主次颠倒或者说完全不考虑人性问题,你认为的最有效就是最无效,高效率就是低效率。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>用户混杂,社交变味,“进而远之”作罢</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>现在很多的社交</span><span>APP</span><span>没有对用户有一个明确的分类与约束管理,往往造成应用用户良莠不齐,分类不明确,你打开产品第一眼你可能就不会相信这里是人与人的社交平台,而更多的感觉是一群富二代与外围女的交易平台,同时还有一大部分推销、广告肆虐其中,你能找到一个真正聊天的人就变得更难了。而这种杂乱的情况,最终可能就会让一款产品变成一个市井,里面充斥着各种非纯社交的活动,欲望、利益甚至涉及到犯罪,那么稍微正经点的用户都会“进而远之”,这样所谓的有效社交又从何而来。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>产品质量没保证,用户体验打折扣,社交无始</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>用户可能刚找到一个心仪的聊天对象,正准备好好沟通一番,结果刚打出一句“你好吗”,就发生闪退,连不上,卡顿甚至完全无响应,连开始都不能好好进行,谁又愿意去继续呢?</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span><a href="https://www.testbird.com/">APP<span>测试</span></a></span><span>做得不到位,你打开应用,发现界面拉伸看着别扭,操作卡顿,更严重的是完全不匹配造成不能运行,对于这样的情况,笔者倒是认为一般用户就会直接走人,谈何社交。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>这些问题每天都会在无数用户身上发生,这种情况的存在,让交流都不能顺利发生,谈何有效?这往往是由于开发者急功近利,常常忽视产品的质量,急于上线盈利,这种情况大多数时候,会导致</span><span>APP</span><span>出现各种各样的问题,用户的体验会因此大打折扣。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>将用户的特征信息亮点化,个人认为每个人都是一本书,那么不同种类的书籍就应给予其不同的书柜陈列,方便筛选,同时一个漂亮的序言又无疑增加了让真正合拍的人阅读你的机会,这也是社交资产的证明,怎么将用户的真实信息全面却又简介易懂地体现在分类明确的个人主页中,是一款社交类</span><span>APP</span><span>需要首要去考虑和设计的问题。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>真正融入作为一个需要交流的人的视角去,不能老是站在开发者的角度去生产应用,我们要做的是去提供一个机会,让用户在你的产品中能够得到自我身份个性与价值认同感,去赋予其人格化,增加优质原创的内容让用户有互动的依凭。同时开发者应不断地去探索不同年龄层用户的交流方式,将应用能够提供的交流平台进行细分与优化,争取创造一个能够让用户在其中产生共鸣的圈子,这样有效社交的发生便容易了许多。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>用户注册信息审核要更为严格化,用户管理合理化,尽量减少不良信息在应用内的流通,尽量减少带有不良目的性的用户注册,不能光是为了导量而放任不管,最终你打造的并不是一个社交软件,而是一幢“青楼”。</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> <p class="MsoNormal"><span>开发者势必要注重应用的质量,相对于</span><span><a href="https://www.testbird.com/"><span>手游测试</span></a></span><span>,社交类</span><span>APP</span><span>相对简单,但在上线前也要进行严格的测试,但很多企业可能此刻会抱怨自己做测试,不仅费时,成本也很高,最关键的是并不能保证最终得到的产品质量,但笔者想告诉你,这个环节是让用户开始在你产品中社交的一个基础步骤,就如上文所说,刚刚开始使用就发现问题一大堆,完全影响了用户体验,谁又会自虐般地继续下去呢?</span><span><o:p></o:p></span></p> <p class="MsoNormal"><span>&nbsp;</span></p> APP测试内容总结http://advdbg.org/forums/7012/ShowPost.aspxWed, 30 Nov 2016 09:29:10 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7012削个椰子皮0 <p align="left"><b><u><span>移动</span></u></b><span>互联网<span>App</span>测试点包括:<span><br> 1.</span>权限<b><u>测试</u></b><span><br> 1)</span>软件权限<span> -</span>扣费风险:包括发送<b><u>短信</u></b>、拨打<b><u>电话</u></b>、连接网络等<span> -</span>隐私泄露风险:包括访问<b><u>手机</u></b>信息、访问联系人信息等<span> -</span>新增风险项 </span></p> <p align="left"><span>2)</span><span>开发者官方权限列表信息比对分析<span> <br> <br> 2.</span>安装、运行、卸载测试<span><br> </span>验证<span>App</span>是否能正确安装、运行、卸载,以及操作过程和操作前后对系统资源的使用情况,主要包括:</span></p> <p align="left"><span>1)</span><span>检测软件是否能正确安装、运行、卸载;<span> <br> 2)</span>安装、卸载、更新错误报告;<span> <br> 3)</span>其他辅助信息:<span> -</span>位置和文件夹是否合理;<span> -</span>组件是否正确注册或删除;<span> -</span>评估操作前后,<span>CPU</span>、<span>Memory</span>(内存占用)、<span>Storage</span>(磁盘占用)等系统资源的使用情况。<span> <br> <br> 3.UI</span>测试 </span></p> <p align="left"><span>测试用户界面<span>(</span>如菜单、对话框、窗口和其它可视控件<span>)</span>布局、风格是否满足客户要求,文字是否正确,页面是否美观,文字,图片组合是否完美,操作是否友好等。<span> UI</span>测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。确保用户界面符合公司或行业的标准。包括用户友好性、人性化、易操作性测试。</span></p> <p align="left"><span><font face="宋体"><br></font> 4.</span><span>功能测试 </span></p> <p align="left"><span>根据软件说明或用户需求验证<span>App</span>的各个功能实现,采用如下方法实现并评估<b><u>功能测试</u></b>过程:<span> <br> 1)</span>采用时间、地点、对象、行为和背景五元素或业务分析等方法分析、提炼<span>App</span>的用户使用场景,对比说明或需求,整理出内在、外在及非功能直接相关的需求,构建测试点,并明确测试标准(若用户需求中无明确标准遵循,则需要参考行业或相关国际标准或规则)。<span> <br> 2)</span>根据被测功能点的特性列举出相应类型的<b><u>测试用例</u></b>对其进行覆盖,如:涉及输入的地方需要考虑等价、边界、负面、异常或非法、场景回滚、关联测试等测试类型对其进行覆盖。<span> <br> 3)</span>在测试实现的各个阶段跟踪测试实现与需求输入的覆盖情况,及时修正业务或需求理解错误。</span></p> <p align="left"><span><font face="宋体"><br></font> 5.</span><span>性能测试 </span></p> <p align="left"><span>评估<span>App</span>的时间和空间特性 </span></p> <p align="left"><span>1)</span><span>极限测试:在各种边界压力情况下(如电池、存储、网速等),验证<span>App</span>是否能正确响应。<span> <br> 2)</span>响应能力测试:测试<span>App</span>中的各类操作是否满足用户响应时间要求<span> <br> 3)</span><b><u>压力测试</u></b>:反复<span>/</span>长期操作下,系统资源是否占用异常;<span> <br> 4)</span>性能评估:评估典型用户应用场景下,系统资源的使用情况。<span><br> 5)Benchmark</span>测试(基线测试):与竞争产品的<span>Benchmarking, </span>产品演变对比测试等。<span> <br> <br> 6.</span>中断测试 </span></p> <p align="left"><span>针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法,如:<span>App</span>在前<span>/</span>后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。<span> <br> 7.</span>兼容测试 </span></p> <p align="left"><span>主要测试内部和外部兼容性,包括: 与本地及主流<span>App</span>是否兼容; 检验在各种网络连接下<span>(WiFi</span>、<span>GSM</span>、<span>GPRS</span>、<span>EDGE</span>、<span>WCDMA</span>、<span>CDMA1x</span>、<span>CDMA2000</span>、<span>HSPDA</span>等<span>)</span>,<span>App</span>的数据和运用是否正确; 与各种设备是否兼容(若有跨系统支持则需要检验是否在各系统下,各种行为是否一致)。</span></p> <p align="left"><span>8.</span><span>安全测试 </span></p> <p align="left"><span>安全测试显得尤为重要,粗心、不谨慎的数据存储或传输方式使得非法、恶意目的有可乘之机。 智能终端安全涉及各信息交互、存储接点,借鉴于网络传输和相关<b><u>安全测试</u></b>经验,<span> App</span>安全测试大概划分为以下几类:<span><br> 1)</span>从数据的本地存储到数据的传输、处理以及远程访问等各个环节,基于相应的安全标准<span>/</span>行业标准评估<span>App</span>的安全特性;<span> <br> 2)</span>借鉴在<span>Web App</span>和网络安全测试的一些成功经验在智能终<span>**p</span>测试中进行裁减或适配;<span> <br> 3)</span>检测<span>App</span>的用户授权级别,数据泄漏,非法授权访问等;<span> <br> 4)</span>对<span>App</span>的输入有效性校验、认证、授权、敏感数据存储、数据加密等方面进行检测<span>,</span>以期发现潜在的安全问题;<span> <br> 5)</span>基于各种通信协议或相应的行业安全标准检视<span>App</span>是否满足相应的要求。<span> <br> <br> 9.</span>回归测试 </span></p> <p align="left"><b><u><span>Bug</span></u></b><span>修复后的回归测试,在交付前、要进行全量用例的回归测试。<span> <br> <br> 10.</span>升级、更新测试 </span></p> <p align="left"><span>新版版发布后,配合不同网络环境的自动更新提示,及下载、安装、更新、启动、运行的验证测试。 </span></p> <p align="left"><span><font face="宋体"><br></font> <br> </span></p> <p align="left"><span>11. </span><span>用户体验测试 以主观的普通消费者的角度去感知产品或服务的舒适、有用、易用、友好亲切程度。 通过不同个体、独立空间和非经验的统计复用方式去有效评价产品的体验特性,提出修改意见提升产品的潜在客户满意度。</span></p> <p><span><font face="Calibri" size="3">&nbsp;</font></span></p> <p align="left"><span>想要高效的完成</span><span><a href="https://www.testbird.com/quick-functional-testing/" target="_blank"><span><font face="Calibri"><u>app</u></font></span><span><span><u>功能</u></span></span><b><span><span><u>测试</u></span></span></b></a></span><span>,就需要选择一款合适的功能测试工具。尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业。短期来看,这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代。<span><br> <br> </span></span><span><a href="https://www.testbird.com/" target="_blank"><span><u><font face="Calibri">TestBird</font></u></span></a> </span><span><span>&nbsp;</span>- </span><span>手游和<span>App</span>自动化测试平台</span></p>在做自动化测试之前你需要知道的http://advdbg.org/forums/7001/ShowPost.aspxMon, 17 Oct 2016 02:17:44 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:7001削个椰子皮0<p class="MsoNormal"><b><span>什么项目适合做自动化测试?<span><o:p></o:p></span></span></b></p> <p class="MsoNormal"><span>假如你已经决定要学习自动化测试了,如何学习是要面临的下一个问题?这个问题以被测试产品为出发点进行分析,假如你所学的技术不能得到应用(验证),将会使你的学习过程寸步难行。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>首先考考虑产品是否适合做自动化测试。这方法比较普遍的共识是从三个方面进行权衡。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><b><span>软件需求变动不频繁<span><o:p></o:p></span></span></b></p> <p class="MsoNormal"><span>测试脚本的稳定性决定了自动化测试的维护成本。如果软件需求变动过于频繁,测试人员需要根据变动的需求来更新测试用例以及相关的测试脚本,而脚本的维护本身就是一个代码开发的过程,需要修改、调试,必要的时候还要修改自动化测试的框架,如果所花费的成本不低于利用其节省的测试成本,那么自动化测试便是失败的。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>项目中的某些模块相对稳定,而某些模块需求变动性很大。我们便可对相对稳定的模块进行自动化测试,而变动较大的仍是用手工测试。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><b><span>项目周期较长<span><o:p></o:p></span></span></b></p> <p class="MsoNormal"><span>由于自动化测试需求的确定、自动化测试框架的设计、测试脚本的编写与调试均需要相当长的时间来完成。这样的过程本身就是一个测试软件的开发过程,需要较长的时间来完成。如果项目的周期比较短,没有足够的时间去支持这样一个过程,那么自动化测试便成为笑谈。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><b><span>自动化测试脚本可重复使用<span><o:p></o:p></span></span></b></p> <p class="MsoNormal"><span>自动化测试脚本的重复使用要从三个方面来考量,一方面所测试的项目之间是否很大的差异性(如<span>C/S&nbsp;</span>系统和<span>&nbsp;B/S&nbsp;</span>系统的差异<span>&nbsp;</span>);所选择的测试工具是否适应这种差异;最后,测试人员是否有能力开发出适应这种差异的自动化测试框架。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><b><span>选择什么工具进行自动化测试?<span><o:p></o:p></span></span></b></p> <p class="MsoNormal"><span>假如你已经确认了<span>XX</span>项目适合做<span><a href="https://www.testbird.com/"><span><span>自动化测试</span></span></a></span>,那么接下来你要做的就是选测试工具了。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>首先要先确认你所测试的产品是桌面程序(<span>C/S</span>)还是<span>web</span>应用(<span>B/S</span>)。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>桌面程序的工具有:<span>QTP</span>、<span>AutoRunner<o:p></o:p></span></span></p> <p class="MsoNormal"><span>web</span><span>应用的工具有:<span>QTP</span>、<span>AutoRunner</span>、<span>Robot&nbsp;Framework</span>、<span>watir</span>、<span>selenium<o:p></o:p></span></span></p> <p class="MsoNormal"><span>由于<span>B/S</span>架构的诸多优势,早几年前大量<span>C/S</span>架构的应用转为<span>B/S</span>结构。从而也推动了<span>web</span>开发与测试技术的发展。假如,被测试有产品是<span>C/S</span>架构的,那么推荐<span>QTP</span>,<span>QTP</span>在<span>UI</span>自动化测试领域占到了一半的试用率。所以,足以说明<span>QTP</span>在自动化领域强大,易用性等。学习主流的工具也可以使你获得更多的机会。市面上关于<span>QTP</span>的书籍也非常丰富。当然,要想学好<span>QTP</span>,你必须要掌握<span>VBS</span>脚本语言。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>如果,被测产品是<span>B/S</span>结构,那么推荐<span>selenium</span>,为什么不是<span>QTP</span>或其它工具?因为<span>selenium</span>对<span>B/S</span>应用支持很好,更重要的一点,它支持多语言的开发,真正的试用<span>selenium</span>,你所要掌握的不仅仅是一个工具而已,你还需要学习一门语言。我为什么要选择<span>selenium</span>?还要学一门语言,这无疑增加了我的学习成本。增加成本的同时,也增加的你的竞争力,而且,在这个过程中你不单单只是学会了一个自动化工具而已,你完全可以使用所学的语言去做更多的事情。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>好吧!假如你决定试用<span>selenium</span>了之后,你又面临了一个新的问题,选择一门语言。<span>selenium</span>是支持<span>java</span>、<span>python</span>、<span>ruby</span>、<span>php</span>、<span>C#</span>、<span>JavaScript</span>。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>从语言易学性来讲,首选<span>ruby</span>,<span>python<o:p></o:p></span></span></p> <p class="MsoNormal"><span>从语言应用广度来讲,首选<span>java</span>、<span>C#</span>、<span>php</span>、<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>从语言相关测试技术成度(及资料)来讲:<span>ruby,python,java<o:p></o:p></span></span></p> <p class="MsoNormal"><span>或者你可以考虑整个技术团队主流用什么语言,然后选择相应的语言。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>。。。。。。。。。。。。。。。。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>经过一段时间的学习,你可以游刃有余的模拟手工测试来操作页面上的各种元素了。接着你需要做的就是把这些“用例”组织起来,统一来跑。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>那么你需要做的就是学习并使用单元测试框架,单元测试框架本身就解决了用例的组织与运行。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>当你写了一些“测试用例”之后,你会发现用例中有大量重复的操作,能不能写到一个单独的文件中,需要的时候调用这些操作?当然可以,运用你的编程能力来实现这一点将非常简单。然后,你又发现每个用例中都有一些数据,这些数据也是一样的,但如果变化了修改起来非常麻烦,你也可以把他写到一个单独的文件中进行读取。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>接着你又遇到了新的疑问,我写的脚本(用例)都是流水式的,我怎么知道用例运行失败还是成功。那么就需要在脚本中加一些验证与断言。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>接着你又有了更多的想法,单元测试框架的<span>log</span>太简陋了,能不能生成一张漂亮的测试报告出来。我能不能定时的来跑这个脚本。能不能把每一次跑脚本的测试结果直接发到我的邮箱。能不能<span>&nbsp;......<o:p></o:p></span></span></p> <p class="MsoNormal"><span>为解决这些问题,你不得不学习更多的编程技术,然后你的“测试结构”会功能越来越强大,越来越灵活。产生了一定的通用性和移植性。一个有模有样的自动化测试框架诞生了。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>&nbsp;</span><span>假如,有一天你不再做<span>UI</span>的自动化测试了,你会发现你去做单元测试或接口测试基本没什么难度。开发个测试工具之类的也不在话下!<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>另外:自动化测试平台<span>TestBird</span>,最初从手游测试开始起步,在手游圈积累起很高的知名度,目前也已向<span><a href="https://www.testbird.com/">APP<span><span>测试</span></span></a></span>领域进军,同时<span>TestBird</span>也加入了智能硬件的测试领域。不仅如此,<span>TestBird</span>还建立了云手机、云测试和云分析三大测试平台,通过自助<span>App</span>功能测试、远程真机调试、真机兼容性测试、真人体验测试、 真人压力测试和崩溃分析等产品,为移动应用提供从研发到上线再到运营的一站式质量管理服务,帮助移动应用企业建立完善的质量管理体系,全面提高移动应用的<span>DAU</span>、留存率以及付费情况。<span><o:p></o:p></span></span></p> <p class="MsoNormal"><span>&nbsp;</span></p>不同技能的测试工程师是如何正确的进行自动化测试http://advdbg.org/forums/6996/ShowPost.aspxMon, 26 Sep 2016 07:12:26 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:6996削个椰子皮0<p align="left"><font>很多人理解的自动化就是把手工测试case用脚本和工具转变成<a href="https://www.testbird.com/" target="_blank">自动化测试</a>。也就是说把手工测试的每一个步骤用脚本来模拟,从而执行testcase。那么自动化的所有问题就归结于,如何用工具和脚本来转化手工操作步骤了。还有很多非常senior的,但是不会coding的手工测试工程师强调case的design能力是如何如何重要,自动化相对来说不是那么重要。<br><br>我这里可以肯定的说,没有好的编程功底,你也不可能设计出非常好的testcase,自动化的开发也不应该是仅仅把手工操作用脚本来模拟,而是应该大幅度的改变testcase,使得能够用最好的方式来进行自动化。那些手工测试人员所谓的设计case的重要性,和他们设计case的高水平,实际上只是在他们的知识范围之内产生的观点。下边我用一个小例子来说明,编程能力在自动化过程中起的作用到底有多大。基本上来讲,有多强的开发水平,就有多强的自动化设计,实现水平。自动化开发和产品的开发实际上都是一样的,都是有需求,你来实现。当然,不同水平的人,实现起来的效果是千差万别的。这也就是为什么开发有高手,有低手,自动化测试的开发也同样有低手,有高手。自动化测试水平没有上限,你要学会发挥自己的无穷潜力。<br><br>不多说了,现在说一下我们要自动化什么问题。我们有两个计算机帐号,A和B。我们需要用B帐号进行系统的设置,也就是测试的准备工作,然后用A帐号来进行测试。下边来说一下不同水平的人是如何进行自动化的。</font></p><p align="left">  1. 手工测试人员</p><p align="left"></p><p align="left"> Log on B</p><p align="left"> Configure</p><p align="left"> Log out</p><p align="left"> Log on A</p><p align="left"> Test</p><p align="left"></p><p align="left">  2. 初级自动化人员(直接把手工case转成自动化)</p><p align="left"><br><br>Set autologon B</p><p align="left">  Set autorun</p><p align="left">  Record test status: 0</p><p align="left">  Logout</p><p align="left">  Check status</p><p align="left">  if(status==0)</p><p align="left">  {</p><p align="left">  Configure</p><p align="left">  Set autologon A</p><p align="left">  Record test status:1</p><p align="left">  Logout</p><p align="left">  }</p><p align="left">  if(status==1)</p><p align="left">  {</p><p align="left">  Test</p><p align="left">  }</p><p align="left">  这个级别的人,需要懂得脚本编程,需要懂得系统设置,autologon andautorun。</p><p align="left">  3. 有一定经验的自动化人员(改变手工测试case以利于自动化的更简单,可靠的实现)</p><p align="left"><font>  不需要log out and log on</font></p><p align="left">  利用Windows命令Runas</p><p align="left"><font>  用高级语言调用Runas</font></p><p align="left">  利用重定向来输入Password</p><p align="left">  这个级别的人,需要懂得高级语言,重定向,Windows系统命令Runas</p><p align="left">  4. 中级自动化人员(具有更丰富的开发经验,可以用程序代替UI和系统命令)</p><p align="left">  不需要Runas命令</p><p align="left">  利用.NET的Process对象</p><p align="left">  用B的身份生成一个Process来进行配置工作</p><p align="left">  这个级别的人,要比较熟悉高级语言,比较熟悉高级语言的类库,懂得操作系统的内核基本概念</p><p align="left">  5. 高级自动化人员(精通高级语言,精通操作系统内核)</p><p align="left">  不需要多生成一个进程</p><p align="left">  用本线程impersonate用户B</p><p align="left">  利用.NET WindowsIdentity 对象</p><p align="left">  必须要调用Windows API,LogonUser</p><p align="left">  这个级别的人,要精通C/C++和Java,C#等高级语言,精通Windows内核的知识和Windows API</p><p align="left"><font>  从以上的例子可以看到,针对同一个testcase,不同的测试人员,从手工到高级自动化,由于自己知识面的原因,会设计出非常不同的case出来。越高级的自动化越灵活,稳定,可靠,也更需要掌握更多的开发和内核的知识。因此,我们看到很多人在强烈的否定自动化,你先看看他到底在哪个层次中。越下边层次的自动化人员,由于技术的原因,碰到的问题会越多,能解决的问题却越少,因此对自动化的抱怨也就越大了。这些都是可以理解的,不过以此来否定自动化,我觉得还是不太应该。由于自己技术还不过关所以我一直在用Testbird做APP测试,TestBird是一个专业的手游和<a href="https://www.testbird.com/" target="_blank">app测试</a>平台,全球手游及移动应用测试专家,它的功能包括真机兼容性测试 ,真人体验测试,真人压力测试,云手机远程调试。非常好用,推荐给大家。</font></p>Breakpoint won't be hit http://advdbg.org/forums/4507/ShowPost.aspxWed, 02 Mar 2011 01:56:56 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:4507wrong0来发个帖子吧,不知道算不算bug. <br /> <br />http://blog.csdn.net/Viper/archive/2011/02/16/6188045.aspx <br /> <br />或者 <br /> <br />http://user.qzone.qq.com/31731705/blog/1297414323 <br />微软下载服务器频频出错http://advdbg.org/forums/173/ShowPost.aspxThu, 13 Jul 2006 13:18:11 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:173土豆泥1<P>不知是否是受到了黑客的攻击,微软的下载服务器最近几天频频出错:</P> <P><IMG src="\img\inset\msdwn.jpg"></P>MSMSGS触发的C运行库错误http://advdbg.org/forums/165/ShowPost.aspxFri, 30 Jun 2006 15:01:19 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:165admin0<IMG src="\img\inset\msmsgs.jpg">Virtual PC 2004的黑屏错误http://advdbg.org/forums/164/ShowPost.aspxWed, 28 Jun 2006 13:40:47 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:164admin0<IMG src="\img\inset\virpc.jpg">博课堂的宕站画面http://advdbg.org/forums/149/ShowPost.aspxSun, 14 May 2006 14:38:47 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:149土豆泥0<P>没有不宕的网站,何况ASP.NET堆砌的XX?</P> <P><IMG src="\img\inset\joycode.jpg"></P>精彩的蓝屏(BSOD)照片(之五)http://advdbg.org/forums/70/ShowPost.aspxWed, 12 Apr 2006 14:46:59 GMTe4f42b2c-e28e-435b-8fbe-636f8fa9f0b8:70土豆泥0<IMG src="/img/inset/bsod-5.jpg">