﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客-51Testing软件测试网-文章分类-软件测试职业发展</title><link>http://www.cnitblog.com/shbwf/category/6170.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 01 Aug 2018 14:55:19 GMT</lastBuildDate><pubDate>Wed, 01 Aug 2018 14:55:19 GMT</pubDate><ttl>60</ttl><item><title>菜鸟变大神，测试人才的逆袭之路就靠它了！</title><link>http://www.cnitblog.com/shbwf/articles/91084.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Thu, 26 Jul 2018 08:48:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/91084.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/91084.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/91084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/91084.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/91084.html</trackback:ping><description><![CDATA[<p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">时光荏苒，从毕业到现在已经&nbsp;10年，10年来一直从事着软件测试的工作。从一个什么都不会，到测试开发工程师，期间有迷茫，有痛苦，有弯路，有捷径。今天对自己过去的10年测试经历做一个总结，一是给自己重新出发增加动力，二是给刚入道的、迷茫中的测试朋友一点点建议，希望你们少走弯路。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;">&nbsp;<img src="http://www.cnitblog.com/images/cnitblog_com/shbwf/timg.jpg" border="0" alt="" /></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">1首先，谈谈测试职业规划，即做什么的问题。</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">所谓方向比努力重要，这绝对是一句真理。如果能在刚走上测试工作岗位的时候明白这个道理，那么不出&nbsp;5年，你一定能成为某一测试领域的专家，那时不管是薪水、自信心都是顺其自然的事情。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">但是遗憾的是，我们获取的太多信息是，测试人员是一个通才，什么都要学，什么都要懂。结果这样的一个方向，导致了三脚猫功夫的测试人员一大把。那么什么都懂一点的测试人员难道就没有用武之地了吗？也不是，&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">随着互联网市场竞争越发激烈，软件研发效率要求越来越高，自动化测试成为测试团队提高效率的首选，在企业招聘软件测试中高级岗位时，熟悉自动化测试、接口测试、掌握热门工具使用、开发测试框架等已成为硬性指标。&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">针对&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">有点测试基础，希望深入进阶，&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">可以朝着测试开发岗位发展。说到这里，引出了测试职业规划的全能路线：测试开发&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">！&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">提升</span><span style="font-family: 微软雅黑; font-size: 14px;">自身&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">测试能力，&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">成为&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">全能型人才，成为测试团队核心支撑。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;">&nbsp;</p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">2其次，&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">来&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">谈谈&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">测试工程师的现状</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">很多测试小伙伴在工作中有时会比较迷茫，不知该怎样突破瓶颈，更好的发展。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">那么测试人员究竟该如何打破瓶颈继续向上提升呢？如果你苦于不知所措，又满怀斗志向上的话，不妨一起聊聊。测试职业发展有典型的三种方向：</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">管理方向</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">技术型方向</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">转行</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">在此重点说下技术型方向的发展。曾几何时，提的&nbsp;bug被否认而倍感无力；曾几何时，遇到一个偶发复现的bug，到上线了都不知道该怎么复现；曾几何时，面对没有前端页面的测试任务，不知该从哪下手测试；曾几何时，面对每天重复繁琐的测试工作，恨不得有个机器人来帮忙。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">依稀记得，有天发现一个&nbsp;bug，于是远程debug，一行代码一行代码的走，终于定位到是数组下标越界了，提出bug并附上断点定位的代码截图，开发看后瞬间改了，自此赢得开发不一样的认可。&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">那么懂代码就算是测试开发工程师吗，答案是否定的，那究竟怎样才能做一名测试开发工程师，有哪些优势，和开发的区别又是什么呢？</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;">&nbsp;</p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">3那么问题来了，&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">测试开发工程师&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">究竟&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">有什么&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">作用&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">呢？</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">对测试开发工程师来说，看懂代码，熟练使用测试工具，能做&nbsp;ui、接口、性能的测试，具备测试经验和测试思想逻辑是基本要求；既要会业务功能测试，又要能做代码层接口及单元测试，更重要的是通过能力和经验的积累，能搭建适用于技术研发团队的工具平台，以更好的降低公司成本和提高工作效率。在这样的理念下我们部门按照软件的生命周期，自主研发了整套的测试平台：</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">源代码监控分析平台&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">，配置化平台实现对源代码进行系统化、规则化的全面覆盖测试，通过智能规则模型的有效过滤，及早发现问题，提高项目质量。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">接口自动化平台&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">，不用写一行代码就可完成对接层的测试，&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">完美支持&nbsp;http和jsf接口，并生成美观可视化的报告&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">；</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">UI自动化平台&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">，让不懂代码的小白测试人员便捷快速的上手&nbsp;ui自动化测试工作，&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">以往需要自己写代码，现在直接在页面维护一些元素即可&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">；</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">测试工具平台&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">，现已涵盖十几个大的业务系统，几十个便捷的功能，可快速、便捷的产生和查询测试数据，减少测试人员的联调时间和营造复杂场景数据的时间。&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">上线时间虽不长，使用频次近&nbsp;3万，大大方便了开发、测试和产品人员。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">BUG监控分析平台&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">，通过对&nbsp;bug大数据进行分析、归类、汇总的智能处理，采用图表方式更加简洁明了的查看项目质量和进度；</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;">&nbsp;</p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">4&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">测试开发工程师的必修课程</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">如何才能成为一名真正的测试开发工程师，需要具备哪些硬技能呢？</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">一、具备一定测试经验。&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">只有设身处地的经历过测试人员的痛点和难点，才能切实解决他们的问题。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">二、会使用常用重要的测试工具。&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">比如性能测试常用的&nbsp;Loadrunner、jmeter；ui自动化常用的selenium；单元测试常用的testng、junit等等。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">三、具备测试&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; font-size: 14px;">框架开发&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; font-size: 14px;">能力。&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">下面介绍一些主流的技术栈：</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">自动化测试框架&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; font-size: 14px;">：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">线性，结构化，模块化，数据驱动，关键字驱动自动化测试</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">数据库：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">Mysql或Orcale 的数据库安装，库表创建，字段设计，常用的sql语句</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">系统：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">能熟练在&nbsp;windows或linux系统上搭建项目，日志查看等操作</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">服务容器：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">tomcat服务部署，nginx负载配置，docker使用</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">持续集成：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">git，jenkins</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">开发工具：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">idea和eclipse</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; font-size: 14px;">代码调试：&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">testng或junit的单元调试及debug和远程debug使用</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;">&nbsp;</p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">5那么，如何从一个有点测试基础的菜鸟变成测试开发工程师呢&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">?</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">工欲善其事，必先利其器。既然我们选择了&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">测试开发&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">这&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">项&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">神兵利器，那么如何才能快速的学好&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">测试开发&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">呢？</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">作为走了十年测试之路的我，只有一个&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">回答&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">：&nbsp;</span><span style="font-family: 微软雅黑; font-size: 14px;">老师是最好的领路人，好的老师让你的学习效率事半功倍。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">只有真正掌握专业知识，不用担心犹豫，无论走到哪都是有饭吃。不用担心自己能否胜任新的工作。人心叵测，世事多变，只有真正掌握了技术能力的人才会在工作中游刃有余，一定是自己身上有别人不可多得的能力，有与众不同的技术，有社会需要的知识，这样去哪都是有饭吃的。</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;">&nbsp;</p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">最后&nbsp;</span></strong><strong><span style="font-family: 微软雅黑; color: #ff0000; font-size: 14px;">小编有话说：</span></strong></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">测试开发这个工作真的不是吃青春饭的，如果你肯努力，肯学习，你就是常青树！</span></p><p style="margin-bottom: 18px; padding-top: 0px; padding-bottom: 0px; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: -apple-system, &quot;SF UI Text&quot;, Arial, &quot;PingFang SC&quot;, &quot;Hiragino Sans GB&quot;, &quot;Microsoft YaHei&quot;, &quot;WenQuanYi Micro Hei&quot;, sans-serif; list-style-type: none; -webkit-padding-start: 0px; -webkit-margin-before: 0px; -webkit-margin-after: 0px; line-height: 28px; font-size: 16px; color: #666666;"><span style="font-family: 微软雅黑; font-size: 14px;">你怕学不会，或者你&nbsp;想要咨询各种问题，可以添加小编&nbsp;</span><strong><span style="font-family: 微软雅黑; font-size: 14px; text-decoration: underline; color: #c00000;">qq &nbsp;3394781259&nbsp;</span></strong><span style="font-family: 微软雅黑; font-size: 14px;">&nbsp;不仅有大神为你答疑解惑，还有更多软件测试资源哦！</span></p><img src ="http://www.cnitblog.com/shbwf/aggbug/91084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-07-26 16:48 <a href="http://www.cnitblog.com/shbwf/articles/91084.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>开发与测试的相爱相杀</title><link>http://www.cnitblog.com/shbwf/articles/91008.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Fri, 04 May 2018 03:44:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/91008.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/91008.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/91008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/91008.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/91008.html</trackback:ping><description><![CDATA[<div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　IT从业者向来都是水深火热中，最怕产品说新增需求或需求变更。工作中，更是经常遇到这样的情况。眼看<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;">测试</a>代码质量不理想，上线时间恐要延期。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　经理问：什么时候能上线?</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　开发说：不知道，看测试什么时候能测完。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试说：不知道，看开发什么时候能改完。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　于是一组人恍惚中，我推你，你推我。到底什么时候能上线，天知道。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　你以为经理会接受这样的回答吗，才怪咧，总体计划是干嘛用的，加班加到肾虚也得按时上线。于是开发和测试又屁颠屁颠的吃完外卖开始搬砖了。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　平心而论，开发和测试的工作相辅相成，他们的宗旨只有一个：保证软件质量。无论版本上线推迟是什么原因导致，但总归是团队的锅。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　无论开发和测试怎么相爱相杀，整个软件项目都是要完成的。这个过程中开发和测试都难免要吐槽对方，吐着吐着，感情就发生了变化。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">　【1】 从相爱到相杀</strong></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　刚进入IT行业的从业者想必都听过程序员的传说，至于是什么样的传说，但肯定会了解到开发和测试的关系。每一个开发和测试员工刚开始都是友好的，随着项目的推进，因开发时间和测试时间的紧迫又或是<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;">bug</a>的修复等问题导致开发和测试慢慢走向对立。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　CSDN网站有篇博文就描述过开发和测试的关系，其中就列出好几个情景：</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">开发说</strong>，测试净找麻烦，客户根本不可能像他们那样使用软件</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试说，问题总是会在看似极端的条件下产生，用户总是会不经意触碰到看似极端的不可能出现的条件</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">开发说</strong>，测试花在异常情况下的精力比测试主流程还多，不知道轻重缓急</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试说，开发从来不考虑测试的感受，连测都不测就扔给我们</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">开发说</strong>，我都测了，还要测试人员干什么</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试说，这么明显的问题你们都不测一下，把我们测试当垃圾桶啊</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#8230;&#8230;</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　其实工作中有很多类似的问题，那么到底是谁的错，谁都有道理，只不过是开发和测试站在的角度不一样。工作中因为某个问题进行争论不可避免，但如果真的任由这些争吵的现象发展且对事又对人，开发和测试的关系就会慢慢对立。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　甚至有领导乐见其成看开发和测试吵架，并主动推进开发团队和测试团队的对立关系。我上家服务的公司就是如此。起初开发团队和测试团队是日常吐槽但较友好的基友，直到新领导降临。新官上任的第一把火就是飘向开发和测试：测试和开发的关系怎么这么融洽?</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　领导希望开发和测试吵起来，并且是争吵越厉害越好，这样提高测试效率提高bug修复率。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　此后开发和测试争吵越来越多，由Bug修不修复到开发讽刺测试不懂<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;">技术</a>，由开发进度慢以至压缩测试时间到测试延期吐槽开发质量不行，有的时候甚至上升到人身攻击。于是开发和测试进入到冷战期，日常工作零交流并且日常挑刺以求战胜对方。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　不知道这样的工作模式是否真的提高了软件质量，但办公环境和工作心情是压抑的。无论是自发的开发和测试相互挑刺，还是领导促成的对立关系都是不健康的工作环境。竞争确实存在，但还有合作关系。开发和测试应该认真对待工作，但不能对待人太较真。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　有因为开发和测试的工作关系导致对立，也有因为开发和测试的互相吐槽成为couple。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">【2】 从相杀到相爱</strong></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　好友大攀是一名不折不扣的IT直男，日常就是写代码+吐槽。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　虽然我是一名测试，但他经常在我面前吐槽测试事多。是的，作为好朋友，就直接在我面前吐槽同行，可见是一名多么直的钢铁直男&#8230;&#8230;</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他吐槽的点我承认部分存在，但有些不敢苟同：</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试总是测一些实际正式环境中根本不可能存在的情况，甚至是误操作</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试部署环境的时候老叫我，自己不认真看部署文档，那为什么老要求开发写部署文档</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试老是不弄清楚就提到禅道去，有些不是根本Bug，明明就是这么设计的</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　测试老是把需求的问题提给我们开发</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;">测试技术</a>太差，定位都定不准</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我以为像大攀这样吐槽，肯定是非常讨厌测试了。可事实是最后和测试谈恋爱了。而且就是那位他经常吐槽的测试小敏。问起原由，才知小敏也经常怼他，怼着怼着就怼出了感情。那小敏是怎么怼他的：</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　开发总是不根据需求文档开发，总是自由发挥</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　开发写的文档不清不楚，除了他自己没人看得懂</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　共性问题非要一个个提出来，开发才会都改，否则只改提出来的一个</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　开发总是只关注正常流程，异常流程操作根本不在考虑范围内</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　虽然不如开发技术牛，但测试也好歹知道有些bug是很好解决的，为什么开发就是不解决</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　大攀说，有一次互相吐槽的时候说到技术问题，不知怎么提到了python，刚好大攀解决了小敏做<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;">自动化测试</a>遇到的问题。从此小敏看大攀就星星眼了，而大攀看小敏的星星眼也害羞了，两个人就这样害羞的在一起了。于是大攀和小敏变成爱的吐槽，在办公室无声无息的撒着狗粮。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　这个开发和测试的组合有点梦幻，总归没脱离女生崇拜男生，男生帮助女生的戏路。但工作中感情的变化都是在不影响工作的基础下发展，即便相爱也依然在开发过程和测试过程中认真无私的对待bug。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　无论开发或测试，都只是一份工作，要认真工作但不要私人感情。若是不下心产生了仇恨心理，请公私分明，在心里扎小人吧;若是产生了不可描述的感情，请低调点，毕竟IT工作已经很辛苦，不能再虐狗了。</div><div style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">如果有任何疑问，欢迎添加qq群测试入门大神 755431660 共同学习~&#8203;<br style="word-wrap: break-word;" />&#8203;<img src="http://blog.chinaunix.net/attachment/201805/4/29734443_1525404832JyhE.png" data-ke-src="/attachment/201805/4/29734443_1525404832JyhE.png" width="402" height="381" alt="" style="word-wrap: break-word; border: 0px;" /></div><img src ="http://www.cnitblog.com/shbwf/aggbug/91008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-05-04 11:44 <a href="http://www.cnitblog.com/shbwf/articles/91008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试员，你有没有从“中兴事件”中挖到了危机感？</title><link>http://www.cnitblog.com/shbwf/articles/91003.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Sat, 28 Apr 2018 05:34:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/91003.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/91003.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/91003.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/91003.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/91003.html</trackback:ping><description><![CDATA[<div><div style="display: inline-block;"></div></div> <p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;"><strong style="word-wrap: break-word;">&nbsp;<img src="http://blog.chinaunix.net/attachment/201804/28/29734443_1524886793s43s.jpg" data-ke-src="/attachment/201804/28/29734443_1524886793s43s.jpg" width="700" height="466.375" alt="" style="word-wrap: break-word; border: 0px;" /></strong></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">最近，</span>&#8220;中兴事件&#8221;可谓是在通信和<span style="word-wrap: break-word;">IT</span><span style="word-wrap: break-word;">界刮起了一阵龙卷风，</span>引得业内大佬们纷纷跳出来发表自己的一腔爱国之情。小编也是一个热血沸腾的爱国青年啊，但是在激昂愤慨之后，我突然嗅到了一丝危机，是什么呢？且听我来说说。</p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;">咋们先回顾下这起事件的来龙去脉吧，好让吃瓜的小伙伴了解下危机起源的背景。</p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;">&#8212;&#8212;&#8220;<span style="word-wrap: break-word;">2018</span><span style="word-wrap: break-word;">年</span><span style="word-wrap: break-word;">4</span><span style="word-wrap: break-word;">月</span><span style="word-wrap: break-word;">16</span><span style="word-wrap: break-word;">日晚，美国商务部发布公告称，美国政府在未来</span><span style="word-wrap: break-word;">7</span><span style="word-wrap: break-word;">年内禁止中兴通讯向美国企业购买敏感产品。&#8221;</span></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">这条新闻居然在短短几天内就已经变成了百度百科了！什么是</span>&#8220;敏感产品&#8221;<span style="word-wrap: break-word;">?</span><span style="word-wrap: break-word;">说的那叫一个含蓄啊</span>&#8230;&#8230;&nbsp;<span style="word-wrap: break-word;">无非就是那块</span>&#8220;芯片&#8221;！中兴通信的主营业务有基站，光通信及手机。其中，基站中部分射频器件如腔体滤波器、光模块、手机内的结构件模组等均可基本满足自给需求。唯有芯片，在三大应用领域均一定程度的自给率不足。</p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">小伙伴们又有疑问了，为啥不卖给我们芯片呢？芯片不管在手机、智能设备还是在计算机中，就是大脑，负责指挥和计算功能。而计算机的本质上就是进行着一系列复杂的数学计算，就连电脑的发明人</span>&#8212;&#8212;冯&#183;诺依曼本身也是一个数学家呢！现在你们明白了吧，没有芯片，就算你有再多的射频器件，有再多的滤波器，都没有用，人缺少了大脑，有再粗的胳膊和腿又有什么用呢？</p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">好了，既然你们知道了芯片的老大地位了，那么就该来了解下美国为什么要这么做了。看了无数的新闻，小编就得出了</span>1<span style="word-wrap: break-word;">个结论（小编个人见解，若有异议，欢迎来找小编吃饭）&#8212;&#8212;美国人害怕了！害怕中兴或者华为在</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">市场的领先地位会对美国构成威胁，无论在技术上还是经济上！若不是胆怯了，为什么偏偏在中兴宣布成功打通了国内第一个</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">电话，正式开通端到端</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">商用系统规模外场站点后的区区</span>两周时间，美国就宣布制裁中兴？</p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">那么，令美国人闻风丧胆的</span>5G究竟为何有如此大的魔力？为何美国人不惜搭上总统也要发出这种掩耳盗铃的打脸禁令？为何因为5G<span style="word-wrap: break-word;">方面的突破，华为和中兴正在成为美国的眼中钉？小编总结了一下，主要有两点：</span></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; margin-left: 57pt; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: -36pt;">（1）&nbsp;从经济上说，<span style="word-wrap: break-word;">之前有一份</span>IHS 5G<span style="word-wrap: break-word;">产业报告预测，到</span><span style="word-wrap: break-word;">2035</span><span style="word-wrap: break-word;">年</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">将在全球创造</span><span style="word-wrap: break-word;">12.3</span><span style="word-wrap: break-word;">万亿美元经济产出，这几乎相当于所有美国消费者在</span><span style="word-wrap: break-word;">2016</span><span style="word-wrap: break-word;">年的全部支出，并超过了</span><span style="word-wrap: break-word;">2016</span><span style="word-wrap: break-word;">年中国、日本、德国、英国和法国的消费支出总和。</span></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; margin-left: 57pt; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: -36pt;">（2）&nbsp;<span style="word-wrap: break-word;">从技术上说，而相比</span>3G/4G<span style="word-wrap: break-word;">技术，</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">技术传输速率高、网络容量大、延时短，能将网络能效提升超百倍，为万物互联提供基础资源支撑，为</span><span style="word-wrap: break-word;">AI</span><span style="word-wrap: break-word;">带来发展的希望，同时也将带来巨大的行业利润。</span></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">所以，从上面两个点来看，</span>5G<span style="word-wrap: break-word;">之地一定是一个兵家必争之地啊！先不论这场战争谁赢谁输，但是</span><span style="word-wrap: break-word;">5</span>G的商用一定是一个必然的走向，只是时间问题罢了。</p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;">作为<span style="word-wrap: break-word;">测试行业的小伙伴，你嗅到危机了吗？</span>5G<span style="word-wrap: break-word;">来了，带来了无人驾驶、智慧城市、智慧家庭、车联网、物联网等。这些领域都是以往我们测试人员所没有涉猎的领域，也缺乏相应的测试经验。还有，目前市面上大多数</span>VR<span style="word-wrap: break-word;">产品只能提供视听和娱乐功能，且会产生不同程度的眩晕感。而据研究，</span><span style="word-wrap: break-word;">VR</span><span style="word-wrap: break-word;">时延只有低于</span><span style="word-wrap: break-word;">20ms</span><span style="word-wrap: break-word;">才能缓解眩晕感。所以高速率、低时延的</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">网络被认为是有效解决</span><span style="word-wrap: break-word;">VR</span><span style="word-wrap: break-word;">数据传输问题的&#8220;救命药&#8221;。同时，只有</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">网络普及，才能真正带动沉浸式</span><span style="word-wrap: break-word;">VR</span><span style="word-wrap: break-word;">产品的普及。如果</span><span style="word-wrap: break-word;">5G</span><span style="word-wrap: break-word;">商用顺利，有人预测</span>，<span style="word-wrap: break-word;">在</span>2021<span style="word-wrap: break-word;">年，</span><span style="word-wrap: break-word;">VR/AR</span><span style="word-wrap: break-word;">头盔的出货量将接近</span><span style="word-wrap: break-word;">1</span><span style="word-wrap: break-word;">亿台，届时</span>VR<span style="word-wrap: break-word;">游戏必将大热，必将火爆！你作为一个测试人员，对</span><span style="word-wrap: break-word;">VR</span><span style="word-wrap: break-word;">游戏的测试经验又有多少呢？</span></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word;">小编不是神棍，但是以小编十几年的测试生涯经验来看，未来</span>5<span style="word-wrap: break-word;">年的测试领域一定会发生翻天覆地的变化，如果我们测试人还墨守成规，保守着以往的测试经验，就一定会被这个时代所淘汰。而嗅到了危机的你，想好自己该怎么走了吗？</span></p><p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px; text-indent: 21pt;"><span style="word-wrap: break-word; font-family: &quot;font-size:16.5px;letter-spacing:0.7px;text-align:justify;white-space:normal;background-color:#FFFFFF;&quot;;">如果有任何疑问，欢迎添加qq群测试入门大神 755431660 共同学习~</span><br style="word-wrap: break-word;" />&#8203;<img src="http://blog.chinaunix.net/attachment/201804/28/29734443_1524886818K76C.png" data-ke-src="/attachment/201804/28/29734443_1524886818K76C.png" width="402" height="381" alt="" style="word-wrap: break-word; border: 0px;" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</p><img src ="http://www.cnitblog.com/shbwf/aggbug/91003.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-04-28 13:34 <a href="http://www.cnitblog.com/shbwf/articles/91003.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>事情越多，你越需要建立任务管理系统</title><link>http://www.cnitblog.com/shbwf/articles/90965.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Fri, 13 Apr 2018 02:05:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90965.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90965.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90965.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90965.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90965.html</trackback:ping><description><![CDATA[<p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">转载：http://www.51testing.com/html/72/n-3725472.html</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">你有没有经历过这样的一幕：每天都感觉自己特别的忙，然而每当到晚上要睡觉的时候，想不起今天具体做了些什么事情。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">可能是这天做的事情太多了，忙到自己也记不清楚了。</p><img alt="null" src="http://www.51testing.com/attachments/2018/03/14982672_201803291326581Sk2V.png" style="margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; border: none; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2015年前的我也是这样，那会还是在做淘宝，每天除了优化淘宝店、接待客户之外，还需要打包做售后。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">不光如此，本身笔者对<strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">互联网</u></strong>上的一些赚钱项目也比较感兴趣，除了做好本职工作之外，还需要建网站来优化排名。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">关于网站排名优化这块，要做的事情很多。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">比如说更新内容，做外链、检测数据、优化网页代码等等.....</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">可以说，是相当的忙，从早上一睁眼，一直忙到晚上睡觉。但是好像也没有做出很好的成绩。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">开始反思自己!</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">比谁都忙，但是忙的很累，很杂乱，想到什么就去干，久而久之自己的身体也变的比较亚健康了，现在回想起来真是太不值得了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">改变，往往是在一瞬间的。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">通过各种学习，找到了解决的方案。当你忙的特别杂多，事情特别多的时候，你就要有一个个人的任务管理机制了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">经过我一段时间的实践，慢慢让我回归了正常状态。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">今天<strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">文章</u></strong>的主题，就是要把这个任务管理系统，传授给你。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　一、使用任务管理系统的好处</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　经过我总结提炼之后，有以下好处</strong>：</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1、每天都知道做什么，有条不紊的完成</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2、内心深处，不在焦虑</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">3、即使事情再多，都能合理安排</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">4、不在被琐碎的事情，打乱节奏</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">1、每天都知道做什么，有条不紊的完成</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">这方面尤其重要，每天早上，在自己最清醒的时候，把今天需要完成的事情，一一的罗列出来，一天就完成这些工作，目的性很明确，合理分配时间完成就可以了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　2、内心深处，不在焦虑</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">有了明确的任务分配，人不累了，内心也慢慢的回归平静，对个人的思路提升有很大的帮助。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">内心深处的不安，顿时一扫而空。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　3、即使事情再多，都能合理安排</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">任务管理系统的核心是，把众多的事情合理分配到每一天，只要进度完成就可以了，即使事情再多也不在害怕。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">根据自己的实际情况调整就可以了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　4、不在被琐碎的事情，打乱节奏</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">琐碎的事情无处不在，淘宝买东西、给孩子准备玩具等等之类的琐事，有了任务管理系统，统统放进收件箱保存起来，等主要任务做完，在来批处理，很方便，很实用。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">二、建立任务管理系统的案例</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">经过我优化、优化、在优化之后，现在的个人任务管理已经变得相当成熟了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">一天当中，人真正有精力干的事情不超过三件事，所以我把自己的任务管理系统分成了重要的事情和常规的事情。</p><img alt="null" src="http://www.51testing.com/attachments/2018/03/14982672_201803291326582REKi.png" style="margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; border: none; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">这是一天中最重要的事情，也是必须完成的事情，必须在精力最好的时候完成它。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">下面是一些常规的工作，也是一些碎片化的工作</p><img alt="null" src="http://www.51testing.com/attachments/2018/03/14982672_201803291326583U3yl.png" style="margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; border: none; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">是不是一下子就很清晰了，这个任务管理系统，非常适合事情多的人。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">一般文章写到这里，可能就差不多了，但是我不仅告诉你使用任务管理系统的好处，还告诉你如何建设自己的任务系统。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">三、如何建设个人的任务管理系统</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">下面我一一给您介绍如何建立属于自己的任务管理系统</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　1、建立合适自己的管理方法/软件</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">像此类的任务管理系统，说实话可以在本子上来实现，如果觉得繁琐，也可以使用效率软件来实现，这个在<strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">生活</u></strong>中多收集。</p><img alt="null" src="http://www.51testing.com/attachments/2018/03/14982672_201803291326584jjpe.png" style="margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; border: none; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">2、建立收件箱</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">收件箱的作用是由来收集的，你可以吧脑子里面所有的事情都放入收件箱，清空大脑。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">大脑是用来思考的，而不是来记忆的，把乱七八糟的事情，都放进去，这样也不用担心，自己会忘记了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">特别是当你在认真工作的时候，突然想到一个特别棒的点子，就打开任务管理软件，马上记下来，然后接着工作。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">灵感时一瞬间的事情，当时不<strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">记录</u></strong>，后面可能就在也想不起来了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">3、建立任务系统</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">当你把往收件箱里面放了很多很多任务的时候，就需要进行拆解和分配了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">分配的原则很简单。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">举个例子说明：</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">做一个自己的网站出来，但是不是一下子就能做完的。做网站有若干的工作要做，一天当中不仅只有这个活，可能还有其他的事情。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">所以，要把做网站这个事情的步骤分拆粗来。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第一步：找程序源码</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第二步：找好看的模板</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第三步：购买域名和空间</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第四步：域名备案</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第五步：设置网站</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第六步：填充内容</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">第七步：提交搜索引擎</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">做成一个网站，大概就是这样的，所以说不是一下子就能做完的，特别是域名备案这块要等15天左右。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">所以我们要把这件事情安排的每一天当中去。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">找程序源码和好看的模板和购空间域名并备案，安排在周一来完成。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">后面的上传网站放到域名备案通过了在做，大概是15天的样子，可以把这个任务设定一个想要的时间在来做，后面的工作也是分配到每一天当中去就可以了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">所以，建立个人任务体系的关键在于目标拆解。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">一个目标，必然会有若干个小目标组成，学会了拆解目标，自然就会合理分配了。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">安排到每一周，每一天。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">4、建立复盘机制</strong></p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">当然了，我一直提倡，做完事情之后一定要及时复盘。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">那么，复盘什么呢?</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">每天复盘一下自己工作的进度情况是否拖延，是否有做的不合理的地方，及时的修正，那么自己在效率和能力上才能大大的提升上来。</p><p style="padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">复盘很重要，无论在哪个领域，都需要复盘，复盘等同于经验的积累。</p><div></div><img src ="http://www.cnitblog.com/shbwf/aggbug/90965.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-04-13 10:05 <a href="http://www.cnitblog.com/shbwf/articles/90965.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谈谈：一线互联网公司的面试经验</title><link>http://www.cnitblog.com/shbwf/articles/90960.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 11 Apr 2018 03:47:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90960.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90960.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90960.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90960.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90960.html</trackback:ping><description><![CDATA[&nbsp; &nbsp; &nbsp; 转载：http://www.51testing.com/html/51/n-3725351.html    <br />　　又到了跳槽季，最近经历了很多家公司的面试，职位有测试开发，也有普通的测试工程师，有成功有失败，最后我发现一些面试问题基本大同小异，因此觉得有必要跟大家分享一下，说一点自己的心得体会，欢迎大家指正和探讨~<br />　　1.自我介绍<br />　　这是一上来就会问的第一问题，也是一个展现自己优势，最能包装自己的部分，无论经过了几面，面对每一个面试官都得介绍一遍，每一次都要认真对哒，千万不要有倦怠的态度，因为你不知道你面前坐的是哪个高级大领导，直接决定你的薪资和去留。<br />　　对于如何回答这个问题，我的经验是，简单介绍下项目，重点在负责的工作是什么，在工作中运用了什么技术，学习到了什么，总结了什么经验。除此以外，还要把你自己学习的一些技术也说进去，哪怕你工作中没有用到，但只要你会的，都展现出来，当然前提是这个东西你确实自己研究过，禁得起拷问的才行。<br />　　此外，我的心得是从第一份工作开始说起，这样可以有一个能力从低到高的过程，表明自己是一个学习能力强，有上进心的人；而且在说到切换到下个公司的过程中，可以简单说下理由，表明你对未来的职业发展还是有自己的想法和追求的。<br />　　2.网络相关问题<br />　　网络相关的问题是每一家公司必问的，具体包含以下：<br />　　1.访问一个完整http请求会经历哪些问题<br />　　2.https和http请求的区别<br />　　3.五层协议有什么，每层的作用<br />　　4.http有哪些请求方式，get和post请求有什么区别<br />　　5.http请求和http响应包含哪些内容<br />　　6.TCP的三次握手过程、四次挥手过程<br />　　7.Socket编程了解么，应用在哪些地方<br />　　8.http请求的状态码一般有哪些？3开头的一般是指什么<br />　　9.如果一个网址无法访问，怎么排查什么原因<br />　　10.如果有正在看直播的用户，反馈太卡，有可能因为什么原因，怎么定位问题<br />　　11.WSGI和FastCGI的区别<br />　　12.fiddler和Charles等抓包工具，现在对于移动端应用的测试，基本所有公司都要求会使用抓包工具，需要掌握原理，一些常用的基本操作，对于设置断点、重定向、模拟弱网、更改请求和返回等操作都要非常熟练<br />　　3.实际项目相关<br />　　1）你们的测试流程是什么<br />　　这个问题必问，必问，必问，如果所在公司比较小，基本没什么严格流程的话千万不要实话实说，要回答完整的流程，下面我来抛砖引玉一下，希望大家多多指正~<br />　　&#8220;需求评审-&gt;确定项目排期-，确定测试方案（功能测试、接口测试、性能测试、兼容测试等）&gt;设计测试用例-&gt;用例评审-&gt;准备测试环境（准备测试机，配置好测试数据等）-&gt;开发自测通过（或简单功能冒烟，保证流程跑通）-&gt;正式提测，新功能测试，提出bug-&gt;开发改完bug后回归验证-&gt;遗留问题待产品评估方案-&gt;新功能封板后开始全面测试-&gt;开发改完bug后再次回归验证-&gt;重点功能的冒烟-&gt;封板上线-&gt;线上监控&#8221;<br />　　2）目前你们项目运用的架构是什么<br />　　一般这个问题指的都是服务端的架构，这个时候就要跟服务端开发搞好关系了，让他给你系统讲解一下，一般比较正式的公司针对架构都会有详细的原型图。<br />　　3）工作效率如何提高，有哪些工作成果<br />　　我感觉这个问题其实可以多展现自己能够在工作中懂得思考的一面，而不是只知道机械的干活，我列出我的回答，给大家提供一点思路。<br />　　&#8220;平时自己经常会进行总结，如编写测试用例时，有些其实测试点都是通用的，可以总结出功能测试的框架<br />　　还有例如，很多问题都是可以在软件开发之前规避的，自己根据经验总结了bug预防体系，在项目中进行了分享<br />　　还能够借助各种工具来提高效率，把一些重复性的工作来用自动化工具来完成，比如编写一些CPU监控、流量监控等小工具&#8221;<br />　　4）如何进行团队合作<br />　　&#8220;在整个测试过程中要多问，多学习：<br />　　在需求评审阶段，就要多听开发人员讨论的各种逻辑实现，只有了解这个内部的实现逻辑才能更好的去设计测试点；<br />　　在用例评审阶段，也要叫上开发人员一起，争取把一些之前需求评审没有想到的问题，在开发时尽量规避掉；<br />　　在开发解决bug后，对于一些没有太多规律，比较复杂的bug，要主动去找开发人员询问，问题原因是什么呢，怎么解决的，以便更好的回归验证。&#8221;<br />　　5）如何做好测试计划（这里借用慕课网上一个讲师的回答）<br />　　&#8220;when(明确项目开始、结束时间）<br />　　how(明确测试方案：功能、自动化、稳定性、性能等）<br />　　where（需求文档在哪，被测对象在哪、去哪里拿包、测试用例在哪等&#8221;<br />　　4.用例设计<br />　　每个公司必问的一道题，现在一些大公司已经不会问你测试方法有哪些这种理论问题了，都是直接让你设计一个具体功能的用例，从实际来看你对这些理论的运用。<br />　　我觉得首先要确定好面试官跟你描述的功能是什么，主要包括哪些方面，确定好范围，然后再开始设计；其次一定要自己多总结一些通用的功能测试框架，背下来，回答时套用在不同的功能上；而且不要只关注功能方面，接口、性能、兼容、安全等都要考虑全面，下面是具体我被问到的一些问题<br />　　1.测试朋友圈发送功能<br />　　2.测试微信的发送功能<br />　　3.测试输入框功能<br />　　4.测试数据加载过程<br />　　5.测试注册登录和验证码功能<br />　　6.测试视频播放<br />　　7.测试直播中的送礼物<br />　　5.算法<br />　　这也是一些公司非常爱问的一个问题，并且现在已经不止要求能写出算法，还要求时间复杂度最小，找出最优方式，这就需要我们针对各种算法思考多种解决办法；同时需要注意算法中对异常情况的处理<br />　　1.排序（冒泡、堆排序、快速排序等）<br />　　2.二分查找<br />　　3.判断素数<br />　　4.单链表反转<br />　　5.判断是否为回文数（aabb格式）<br />　　6.十进制转换成二进制<br />　　7.判断IP的有效性<br />　　8.合并两个有序数组，生成一个有序的大数组，要求时间复杂度最低<br />　　当然除了上面这些基础的算法，有的面试官还会临时给个有规律的数据，让你写出一个算法或给出思路，考验下逻辑思维能力，当然如果不会也不要气馁，有的面试官会给你提供思路，引导你<br />　　6.Linux、mysql相关问题<br />　　(难易程度跟公司具体要求有关)<br />　　1)常用命令有哪些<br />　　2)ps作用是什么<br />　　3)查看内存的命令有哪些<br />　　4)简历中写到的一些命令<br />　　5)数据库的增删改查<br />　　6)数据库的关联查询<br />　　7)数据库建立索引的优点，如何搜索数据的<br />　　7.Java/Python/shell开发语言<br />　　这个问题也是被问到的概率很高，主要是看你简历中写了哪些语言，以下问题都是关于Java/shell/python的<br />　　1）./和sh执行shell脚本的区别<br />　　2）shell脚本中的第一行的作用是什么<br />　　3）怎么用shell脚本取出日志中倒数第二列的内容<br />　　4）lamda函数是什么<br />　　5）Python中的内存管理<br />　　6）字典、列表、元祖的区别，在内存中都是如何存储的，想要搜索数据时，各自的时间复杂度是多少<br />　　7）python怎么安装包<br />　　8）re模块中的match和search的区别<br />　　9）Java中的collection<br />　　10）Java中常用的一些类库<br />　　11）Java中怎么开启线程<br />　　8.安卓应用相关<br />　　1）虚存、实存、共享内存的概念，PSS是什么意思<br />　　2）activity的生命周期<br />　　3）安卓常见的五种布局<br />　　4）adb常用命令<br />　　5）安卓系统架构<br />　　6）安卓四大组件<br />　　7）monkey相关命令<br />　　8）如何获取monkey日志，最后如何筛选<br />　　9）安卓应用常见的崩溃等异常信息<br />　　10）进程和线程的区别<br />　　11）内存泄漏和内存溢出的区别<br />　　9.自动化<br />　　自动化也是面试中非常重要的一块问题，具体的问题还要看你简历中涉及到哪些方面问题。我记得以前领导曾经说过，做测试开发的难点不在技术，工具这些，难点在你是否能想到这个点可以提取成自动化，或是可以开发一个东西来做简化，形成这种思考问题的方式很重要。<br />　　下面是列出整体宏观的一些问题：<br />　　1）如何分层进行自动化测试<br />　　2）如何保证脚本的有效性<br />　　3）如何降低自动化维护成本<br />　　下面是列出了一些现在大多数公司会用到的自动化方式和工具：<br />　　1、接口自动化<br />　　1）做接口自动化的前提是要了解网络相关的知识，在上面已经提到，就不在这里做赘述。<br />　　2）常用的工具，如jmeter/postman等，找你熟悉的工具来描述就可以<br />　　3）如何进行接口自动化测试<br />　　4）怎么确定接口自动化的用例<br />　　5）如何压测接口，设置并发数，关注的指标<br />　　6）是否了解自动化的分层框架<br />　　2、UI自动化<br />　　（偏向UIautomator和APPium）<br />　　1）appium的原理是什么，为什么选择用这个工具<br />　　2）如何定位元素的<br />　　3）写过哪些自动化用例，用自动化工具做过什么<br />　　4）UIautomator有哪些类库<br />　　5）Appium如何进行初始化配置<br />　　3、持续化集成<br />　　1）持续化集成的概念，有什么意义<br />　　2）怎么把自动化集成到Jenkins上<br />　　3）怎么配置一个工程<br />　　以上这些就是我在面试中经历过的各种问题，有人可能会说这不是测试开发才会问的问题么，但现在时代不同了，很多应届毕业生和开发们发现了测试开发这个职位的潜力，纷纷转岗，大幅提高了测试的招聘门槛，其实实际工作中仍然大部分是功能测试的任务。网上不是流传着一句话么&#8220;面试感觉是要去造火箭，实际进去后发现是去拧螺丝&#8221;。<br />　　当然，我的简历偏向安卓应用端测试，这些问题可能对于web测试和性能测试相关的比较少，但我觉得大体的回答思路都是这样的，现在面试官除了关注你会不会用这些技术，更关注的是你是否了解你所用的这些技术的原理，有没有主动思考的过程。总结起来就要求我们，在学习一些知识点时，要多问为什么，多深入思考，才能不惧怕面试时被刨根问题，被压工资。其实面试失败也不要气馁，因为得到一个工作机会由很多因素决定，如眼缘，运气，技术是否对口，应聘公司是否缺人等很多原因。所以哪怕一次失败了，只要总结经验，重整旗鼓，一定可以找到一个满意的工作的！<br />　　最后的最后，一定要特别感谢吴老师的测试开发课程，虽然我只是刚学习了一半，但如果没有这半年来新学习的python，有了一点代码基础，自己做了些勉强拿的出手的成果，我估计很多公司的一面都过不去&#8230;我相信等到我把全部课程学完以后，技术一定会有一个更大的飞跃，更硬气的向高级测试工程师努力~<br />　　现在的时代不一样了，连开发都来和我们抢饭碗，一些做测试开发的应届毕业生，他们的起薪就比我们工作两三年的都要高，竞争压力这么大，有什么理由不努力学习。<img src ="http://www.cnitblog.com/shbwf/aggbug/90960.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-04-11 11:47 <a href="http://www.cnitblog.com/shbwf/articles/90960.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>MES实施中最可怕的是需求变更！</title><link>http://www.cnitblog.com/shbwf/articles/90959.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Tue, 10 Apr 2018 02:22:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90959.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90959.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90959.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90959.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90959.html</trackback:ping><description><![CDATA[<div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;"><a href="http://www.51testing.com/batch.download.php?aid=85572" data-ke-src="http://www.51testing.com/batch.download.php?aid=85572" target="_blank" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#045BC3;text-decoration-line:none;&quot;;"><span style="word-wrap: break-word; margin-right: auto; margin-left: auto;"><img src="http://www.51testing.com/attachments/2018/04/14982672_201804091146091NnMj.png" data-ke-src="http://www.51testing.com/attachments/2018/04/14982672_201804091146091NnMj.png" border="0" style="word-wrap: break-word; border: 0px; margin: 0px auto; padding: 0px; max-width: 600px;"  alt="" /></span><br style="word-wrap: break-word;" /></a><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#045BC3;text-decoration-line:none;&quot;;"><a href="http://www.51testing.com/batch.download.php?aid=85572" data-ke-src="http://www.51testing.com/batch.download.php?aid=85572" target="_blank" style="word-wrap: break-word; margin: 0px auto; padding: 0px;">&#8203;&#8203;</a>&nbsp; &nbsp; &nbsp; &nbsp;转载：http://www.51testing.com/html/00/n-3725700.html</div></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　辛辛苦苦熬了几个月的通宵，终于确立了MES需求，规范了工作流程，系统配置也完成了，正准备按部就班MES系统上线时，企业用户突然改变了需求，不想这么做了，提出了新的需求。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　对于MES实施顾问来说，正如晴天惊雷，这也是所有MES顾问最感到恐怖的事情。因为有时候，用户只是简单的一句话，但是对于系统的调整来说工作量是非常大的。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">1、需求变更：迁就or拒绝?</strong></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　从MES项目立项开始，需求就是MES实施顾问的心头之痛。随着对MES的深入认识、项目环境的变动，企业内外部多种因素都可能使客户对MES的需求不断改变。如果不能有效处理这些需求变更，项目实施进度必将一再调整，上线日期也会随之一再拖延，项目成员的士气也将越来越低落，严重的还会直接导致MES项目失败。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　需求变更，本应是客户的权力，但也是实施顾问的为难之处。如果确需变更，当然要满足客户需要。问题是不能让变更权力滥用，把一些无关痛痒的变更宠惯养成堂而皇之的变更。例如，我曾经在某MES项目中属于&#8220;谦虚型&#8221;，对于客户提出的变更，无论大小都给予解决，客户对此非常满意。然而，项目进度却拖得很长，项目一再延期。相比之下，在另一个项目上我显得稍有些&#8220;盛气凌人&#8221;，对于客户提出的需求变更，大多都不予理睬，客户对此不是很满意。不过，该项目的进度控制得较好，基本能按期完成项目。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　按后一种&#8220;盛气凌人&#8221;的做法，对客户的要求一概不理，自顾自地按照最初的需求和计划实施，很可能会由于没有用户的参与，使得MES系统与用户的需求相差甚远，导致验收通不过，收不回尾款而使公司利益受损。对于客户来说，达不到需求的满足也浪费了投资。事实上，客户不满意，则项目就不算成功，实施顾问辛勤劳动最后就只能落得个&#8220;没有功劳，只有苦劳&#8221;的份。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　但按前一种&#8220;谦虚型&#8221;做法，完全顺着客户的意见走，客户满意度就一定会高吗?其实也不一定。由于需求变更会带来工作量的大量增加，甚至可能会出现大量的无效劳动。而且，频繁变动的需求也会导致实施质量下降，留下许多隐患。因此，一味的迁就用户将会使进度一拖再拖，实施方案一改再改，变更越来越多，士气越来越疲，公司越来越不满意，用户越来越急。到最后，实施顾问会发现这个项目已经成为了一个&#8220;不可能完成的任务&#8221;。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">2、需求变更为什么总是做不完?</strong></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　在MES实施过程中，实施顾问所要面对的将是一系列和多方面的考验。经常发生而又最令人头疼的恐怕就是需求变更了。客户变更需求是MES项目与生俱来的特性，也是一个无法避免的事实。需求变更的表现形式是多方面的，如客户临时改变想法、项目预算增加或减少、客户对功能的需求改变等。它会导致MES实施过程中成本增加、进度拖延等风险，而且越往后的变更产生的风险将越大。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　以笔者参与的多个MES实施项目的实际经历来看：需求变更泛滥是非常可怕的事，尤其是到了项目实施后期，客户不断对移交的MES系统提出修改意见，甚至有时刚刚重新完成的更改，客户又要求改回去或改成另一种模式。需求变更越来越多，实施顾问只能疲于应付。&#8220;无底洞&#8221;是大部分实施顾问进行MES项目的共同感觉。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　实施顾问作为项目的承担者，在规定时间内利用有限资源保质保量的完成项目，让客户和公司都满意是最终目标。但是让客户满意就是不断满足客户无穷无尽的需求吗? 我们分析一下出现需求变更的根源：</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9312; 合同签订马虎，没有真正明白客户需求</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　签订合同时缺乏对客户需求认真对待，导致需求描述不清，为后期的实施工作带来困惑。MES销售顾问为使客户能够快速的签订合同，往往草率决定和片面同意客户提出的需求。当客户提出新的需求时，往往是销售顾问一看&#8220;应该&#8221;只是一个小小的修改，没有太大的影响，所以直接答应能变更。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　该问题的关键是合同签署的太烂，没有把需求明确再签合同，而且也没有把需求变更的流程写入合同。如果在合同时把客户需求弄清楚，后期就根本不需要频繁的变更需求。签订合同时明确定义项目需求的范围，可以为以后各项实施工作的开展奠定深厚的基础。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9313; 研时没有深入理解客户需求</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　在MES上线前的需求调研分析阶段，项目组成员和客户的深入交流是减少频繁需求变更的关键阶段之一。但是由于双方的误解通常使需求交流难以进行。更严重的是，实施顾问只根据用户提出的描述性、总结性的短短几句话去制定实施方案，没有真正挖掘和按客户的需求去制定实施计划。当客户头脑一热或领导一拍脑袋提出新的需求时，实施顾问往往也就不能区分客户真正需求和镀金需求。如果项目组对客户需求的细节了解不充分，双方对需求的理解就会产生差异，就会导致移交MES系统时才使问题暴露出来，客户只能频繁的提出需求变更。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9314; 没有明确的需求变更管理流程</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　没有明确的需求变更管理流程，就会使需求变更变得泛滥。并不是所有的变更都要修改，也不是所有变更都要立刻修改，需求变更管理的目的是为了决定什么类型的变更需要修改和什么时候修改。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　比如MES界面风格问题，就可以先不修改，或者规划一下修改的时间待到以后进行优化。另外，对于核心模块的修改没有严格把关流程，有些小需求看起来工作量不大，但是实际上实施顾问和开发顾问要耗费比较长的时间去完成这些销售顾问或者客户没有考虑到的细节问题。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9315; 没有让客户知道需求变更的代价</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　对变更的影响没有评估是需求变更泛滥的根本原因。变更都是有代价的，应该要评估变更的代价和对项目的影响，要让客户了解需求变更的后果。如果客户不知道需求变更付出的代价，对实施顾问的辛苦就会难以体会。在评估代价过程中，可以请客户一起做判断：&#8220;我可以修改，但您能接受后果吗?&#8221;。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">　3、如何有效控制需求变更?</strong></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　需求变更对项目成败有重要影响，既不能一概拒绝客户的变更要求，也不能一味地迁就客户，所以实施需求变更之前必须做好控制。例如授权、审核、评估和确认，在实施过程还要进行跟踪和验证。有句通俗的话说得非常好：&#8220;需求变更控制的目的不是控制变更的发生，而是对变更进行管理，确保变更有序进行。&#8221;</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　用户需求的变更总是不可避免的，所以我们要以积极的心态去接受和控制用户的需求，而不仅仅是埋怨。对待客户频繁的需求变更，应采取有效办法应对，避免事态蔓延，不让客户养成随意变更的毛病。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9312; 合同约束</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　需求变更给MES实施带来的影响是有目共睹，所以在与用户签订合同时，可以增加一些相关条款，如限定用户提出需求变更的时间，规定何种情况的变更可以接受、拒绝或部分接受，还可以规定发生需求变更时必须执行变更管理流程。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　虽然MES项目合同很难在签订之初就能够精确定义每项需求，单靠合同是帮不上忙的，但也不能忽视合同的约束力。有一个笑话，就是许多销售顾问都开玩笑说他们都是清政府。为什么是清政府?清政府的特点之一就是丧权辱国的条约太多。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9313; 建立需求变更审批流程</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　要明确需求变更审批环节、审批人员、审批事项、审批流程等。目的有两个：一是将客户下达变更的流程尽可能地规范化，减少张嘴就来的非必要、非紧急、非合理、非高层领导意图的&#8220;无效变更&#8221;。二是留下书面依据，为今后可能的成本变更和索赔准备好&#8220;变更账&#8221;。凡未履行审批程序的&#8220;变更&#8221;，一律是无效变更不予受理。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　有效的需求变更流程应该包括确认变更、评估变更的价值、分析变更对项目的影响，以及提交给双方高层进行评价以确定是否执行变更。变更请求必须有书面材料，当用户发现由于业务变化而引起的需求变更，需要提出书面申请。这样对所有的变更，双方的项目负责人都能做到心里有数。而且用户在递交书面变更申请时比较慎重，一般都在内部经过讨论后进行，这样减少了因用户内部看法不同导致的反复变更。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9314; 对于零星变更，集中研究、批量处理</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　每周或每两周甚至每月召开一次需求变更专题会议，集中研究处理这些零碎变更事项，主动控制好工作节奏，尽量避免由于处理零碎变更而影响项目运行的总体进度。例如向客户正式提交一份各阶段需求变更的完成计划，注明变更引起的时间、成本、工期的代价和增加的工作量。要求客户配合需求变更计划，确定变更时限，控制变更规模，过时变更不候，离谱的变更不做，保大局弃小变。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9315; 评估各种需求变更的影响</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　客户的需求是永远不会满足的，可能一天一个样,为了达到控制频繁的需求变更。需要将需求变更后产生的成本进行评估与量化，形成分析报告提交双方领导。否则，一味的妥协只会让项目进一步恶化，实施顾问需要掌控客户及公司的进度成本，把客户的每一次需求变更进行成本分析。确认哪些需要收费变更，哪些可以免费配合客户。这样既可以维护客户关系，又不致造成公司无谓的损失。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9316; 确认客户是否接受变更的代价</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　要让客户认识到变更都是有代价的，要和客户一起判断需求变更是否依然进行。例如，变更是没有问题的，但是要明确客户能否接受由此引起的如进度延迟、费用增加、效率下降等问题。一般来说，如果客户认为该变更是必须的(不是其上级领导拍脑袋提出的)就会接受这些后果，通过与客户的协商，项目组可能会得到回报或者即使没有回报也不会招致公司和客户双方的埋怨。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　如果客户认为该变更虽然有必要但是可以暂缓，双方签署备忘录后留待以后解决。如果客户认为该变更可有可无，多数情况下会取消变更。这样即可防止频繁变更，也让客户认识到不是所有的需求都需要变更，更不是所有的需求变更都需要立刻修改。客户一般对MES不甚了解，他们认为很简单的事情，但可能解决起来会很复杂。以笔者的经验来看，一般来说用户的镀金需求可以延期解决甚至不考虑。用户的新增需求如果不是影响到核心业务的实现，也可以安排在现有功能的完善之后。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#9317; 每月变更<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;"><u style="word-wrap: break-word; margin: 0px auto; padding: 0px;"><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px;">记录</strong></u></a>上报双方领导</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　最后，实施顾问要将有关变更措施和记录随时抄报双方最高层留档备案，可采取简报、文件、抄报、抄送、会议等多种形式。掌握主动权，逐步让不合理的随意频繁变更，成为客户不好意思开口的尴尬事件，尽快形成正常的项目执行氛围和良好的工作习惯，也为可能受到变更所带来的责任问题留下伏笔。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　最后，要特别提醒，要在MES项目开始就对项目组和客户进行宣传和培训，让所有成员都理解变更控制的重要意义。</div><img src ="http://www.cnitblog.com/shbwf/aggbug/90959.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-04-10 10:22 <a href="http://www.cnitblog.com/shbwf/articles/90959.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>提高处理BUG效率第一步：提高测试工程师排查BUG能力</title><link>http://www.cnitblog.com/shbwf/articles/90955.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Tue, 03 Apr 2018 03:43:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90955.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90955.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90955.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90955.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90955.html</trackback:ping><description><![CDATA[<p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">转载：http://www.51testing.com/html/47/n-3725347.html?<br style="line-height: 1.5em !important; word-wrap: break-word;" />背景：</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">一家主要是做一款<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">APP</u></strong>的公司，公司<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">技术</u></strong>部门有三个组：爬虫组、服务端组和APP客户端组。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">事实回放：</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">1）每次运营或产品提出一个<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">BUG</u></strong>给到<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">测试</u></strong>工程师后。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">2）测试工程师就会凭感觉和经验（而不是技能判断）判断这个BUG是哪个组，判断之后就会把这个BUG指派给该组的负责同事A。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">注意：我们的绩效是按照每个团队每位同事产生的生产BUG去扣分的。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">3）接收到这个BUG的开发同事A开始排查问题，花了半小时排查完之后发现这个BUG不是我这边的问题，于是就又丢给测试工程师，同时责备测试不应该把不是他的BUG指派给他，一来浪费他的时间，二来又影响他的绩效。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">4）测试根据开发同事A的各种排查描述，得知这个BUG可能（是的，可能）是另一个组的开发同事B的问题，于是测试就把这个BUG指派给开发同事B。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">5）接收到这个BUG的开发同事B开始排查问题（每个组的开发排查方式未必相同），顺利的情况下，最后排查得出这个BUG确实是我的。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">6）开发同事B开始处理BUG，处理完之后给到测试验收，直到BUG关闭。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">流程图如下图1：</p><img showalt="提高处理BUG效率第一步：提高测试工程师排查BUG能力" alt="null" src="http://www.51testing.com/attachments/2018/03/15201284_201803231113021rafr.png" data-ke-src="http://www.51testing.com/attachments/2018/03/15201284_201803231113021rafr.png" style="border: none; color: #666666; font-size: 14px; word-wrap: break-word; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap; line-height: 1.5em !important;" /><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><br style="line-height: 1.5em !important; word-wrap: break-word;" /></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">图1</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">在这个过程中，还有隐形的多种问题：</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">1、验收在接收到测试工程师指派的无法确定是否是需要我处理的这类BUG时，会一直让这个BUG挂机在那不做处理，原因很简单，我花半小时去排查这个BUG，很有可能这个BUG不是我的。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">2、开发经常性怼测试工程师，你怎么证明这个BUG就是我的？我就是不处理！还有你为什么总是把不是我的BUG指派给我？而测试工程师的回怼总是无力的&#8220;我怎么知道这个BUG是不是你的？&#8221;。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">3、在互相扯皮的过程中，严重降低了&#8220;测试-研发&#8221;的合作效率。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　处理方案：</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">孔子曰&#8220;其身正，不令而行；其身不正，虽令不从&#8221;，对于测试工程师来说，打铁还需自身硬。提高测试工程师排查BUG的能力势在必行。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">当测试工程师拿到一个BUG时，可以通过APP抓包和查找<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">数据库</u></strong>表的方式排查这个问题到底是那个开发工程师的。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">举例：在APP上有一张图片无法正常呈现出来，而这个图片是由爬虫工程师采集过来的。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　处理：</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">1）测试工程师先通过抓包的方式找出这个图片相关的HTTP请求内容，如果这个请求内容里面的图片URL为空，那么这个BUG很可能就是爬虫在采集数据或入库数据时出了问题，找出共性和规则给到爬虫工程师去处理。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">2）如果这个图片URL是有值的，并且这个URL可以正常打开，但是这个URL的格式不是OSS的格式（服务端会把外面的图片保存到我们的OSS环境中），那么这个问题就是服务端在保存图片时出了问题，找出共性和规则给到服务端工程师去处理。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">3）如果这个图片URL的格式是OSS，并且可以正常打开，但是只是在APP上无法呈现，那么这个问题就是客户端在显示图片时出了问题，找出共性和规则给到客户端工程师去处理。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">如果测试工程师可以做到这样的话，BUG提交和处理的流程变成如下图2所示：</p><img showalt="提高处理BUG效率第一步：提高测试工程师排查BUG能力" alt="null" src="http://www.51testing.com/attachments/2018/03/15201284_201803231113301ybyn.png" data-ke-src="http://www.51testing.com/attachments/2018/03/15201284_201803231113301ybyn.png" style="border: none; color: #666666; font-size: 14px; word-wrap: break-word; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap; line-height: 1.5em !important;" /><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><br style="line-height: 1.5em !important; word-wrap: break-word;" /></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">图2</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">当然，在这个过程中，测试工程师一要提高自己排查BUG的准确度，二要提高自己排查BUG过程可以给开发做参考的可用度。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">扩展：</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">&#8220;作为一名<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">软件测试</u></strong>工程师，需要具备哪些能力？&#8221;需要具备的能力很多，但是我觉得排查BUG能力是最重要，最有效，也是最容易被忽视的一点。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">测试工程师的主要职责包括质检和质控，质检的东西大家都说的很多，质控的就比较少啦，我在这里也提一下。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">质控一：上游工作质控</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">在产品刚立项、进行需求确认的时候，测试人员就会参与进去，仔细地Review需求，看需求是不是完整、有没有<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">漏洞</u></strong>，这个时候还没有进入正式开发，修改需求对于项目组来说代价是最少的。在这个环节，测试人员凭借缜密的推演、发散性的思维，往往能发现很多需求的漏洞，提高了项目的整体效率。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">另外，测试人员在完成测试计划、<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">测试用例</u></strong>以后，会邀请开发、产品一起评审测试用例，在这个环节，由于测试人员把每个需求如何细化测试都体现在了用例里面，就相当于再次把<strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"><u style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">需求分析</u></strong>了个透，往往还能发现很多需求的漏洞。这也是提早发现需求漏洞的有效环节。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;"><strong style="line-height: 1.5em !important; word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">质控二：下游工作质控</strong></p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">在产品完成了测试以后，就是发布的环节了，测试人员在发布的环节也能发挥作用。首先，测试人员为了部署测试环境，研究自动化部署的技术，可以把上线部署的环节也自动化，以前需要2个小时的部署环节压缩到半个小时甚至更少，而且更加准确可靠。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">如果有些版本修改比较多，上线的质量风险大，测试人员会跟产品一起制定灰度发布的方案并在技术上进行实现，让版本先面向一小部分用户开放，如果发现Bug了，影响的用户也比较小，Bug改掉以后，再逐渐扩大用户范围。</p><p style="padding-top: 0px; padding-bottom: 0px; line-height: 21px; color: #666666; font-size: 14px; word-wrap: break-word; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: &quot;Helvetica， Arial， sans-serif&quot;; white-space: pre-wrap;">另外，优秀的测试人员还会发动项目组的其他人一起来保证项目质量，比如推动开发进行代码Review；引入冒烟自测流程，让开发先自测以后再提交给测试做冒烟测试；通过在项目组分析Bug，让开发提高自测，降低Bug数量等；引入策划、交互、视觉在测试阶段进行走查等等各种措施。</p><img src ="http://www.cnitblog.com/shbwf/aggbug/90955.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-04-03 11:43 <a href="http://www.cnitblog.com/shbwf/articles/90955.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>谁让App工程师产生了泡沫？</title><link>http://www.cnitblog.com/shbwf/articles/90935.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Thu, 22 Mar 2018 02:13:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90935.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90935.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90935.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90935.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90935.html</trackback:ping><description><![CDATA[<div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">这两年<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;"><u style="word-wrap: break-word; margin: 0px auto; padding: 0px;"><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px;">移动</strong></u></a><a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;"><u style="word-wrap: break-word; margin: 0px auto; padding: 0px;"><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px;">互联网</strong></u></a>比较火，移动APP的开发人员也是比较紧缺。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　面试了一个做APP的，能力很一般，态度也比较傲慢。最后感觉肯定不会用这个人了，但是出于验证自己想法的目的，还是很诚恳地以一个决定录取他的态度，和他交谈。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#8220;刚才我问了你一些问题，可能比较偏，或者不是你所擅长的。我也是本着为公司负责的态度，问一些我们经常用到的问题。这一点请见谅。&#8221;，我说。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他说：&#8220;没事的，问的确实有点偏。实际<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;"><u style="word-wrap: break-word; margin: 0px auto; padding: 0px;"><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px;">工作</strong></u></a>中，根本用不到，用到了现查就行，网上好多例子，复制粘贴都能搞定！&#8221;。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我说，我们企业招一个人，你入职一个企业，是一个相互选择的事情。我问完你了，你对我们公司有什么想了解的。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他有点发楞，停顿了一会。我提示他，公司的业务发展，个人的提升空间，你的职业规划？</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他说，噢，咱们公司是做什么的？</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我回答道，我们主业务是做基于社区的O2O平台的，现在业务有几块，深度垂直做上门推拿服务，打通商家上下游做云商供应链，最终将打造一个庞大的社区服务生态体系。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他似乎没有听懂，依然发楞。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#8220;还有什么想问的吗？&#8221;我问。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他似乎早想问，一直不好意思问，但是又不想在这浪费时间了，问道：&#8220;公司都有什么福利，年终奖是多少，加班费怎么算&#8230;&#8230;&#8221;。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我都一一回答了。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　沉默了一会。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我问道：&#8220;你能接受的最低待遇是多少？&#8221;</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他说，就是简历上写的那些。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我死死地盯着他：&#8220;如果我给你降一千你愿意吗？&#8221;</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他摇了摇头。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　&#8220;降五百呢？&#8221;</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他回答说：&#8220;我已经面试了四五家公司了，他们都要我，我也答应了。现在就是再面试几家，看看哪家更高。所以，我没必要&#8230;&#8230;&#8221;，他向我耸肩，然后不说了。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我说，你要的这个数，在我们公司不算高，好多人都拿的比这个多呢。你去过的那几家公司，多少人？</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他说，也得有，差不多，估计一百多人吧。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我问，做APP的多少人？</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他回答，一两个，有的没有，我去了是第一个。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　谁面试的你，我问。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　有的是经理，有的是老板，都很希望我能快点入职。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　我说，好的，我们会把你面试的情况和你做的作品评估一下，然后再联系你。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他走了。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　这不是个例。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　大多数年轻人都差不多这样。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　他们没房没车没压力，以单纯的收入高低作为亲友间的炫耀和比较的资本。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　让我陷入沉思的是，为什么一个近乎只能称得上操作和修理工的人，却顶着一个工程师的名号，可以到处要高价，而且还真有公司愿意给。享受能力所不匹配的东西，这显然是一种病态，结果必定可悲。谁赋予了他们这样的优厚际遇？或者，谁成心想害他们？</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　答案是这个飞速发展时代和无可奈何的企业。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　移动互联网，这五个字可谓炙手可热。互联网+，又让这热度增上三分。好多公司都想搭上这艘船，捞一桶金，弄不巧还会成就一番霸业。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　怎么搞？好多人都觉得移动互联网就是个APP。想踏入移动互联网，首先要搞一个APP出来，拿出去好说话嘛！这种想法就像是，我研发个POS机有一家银行了能做金融了一样。你的POS机之所以能刷卡转移资金，是因为后面还有一个银行体系支撑，来了钱给谁，扣的钱从哪里出，是有一套服务做支撑的。这套服务，相比一个POS机而言，大象和蚂蚁的关系。还不明白的话，去五金店买一个淋浴头，在太阳下试试会不会喷水，那个淋浴头就是业务中的APP。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　好多小企业老板很明白政治和经济局势，但是不明白技术，他们觉得第一步先需要APP，其他的根据需求再说。于是，他们老板甚至亲自面试，随便聊聊天，要多少给多少就招进来了，先有人开个头再说呗。最后，发现不是这么一回事，有了淋浴头了还需要水管才能喷水，自己建供水系统太大，在小区建使用人群太少，连接卫生间的水管，跟自己又没啥关系。命长公司的干上半年，招的人也不专业，凑合随便弄一个出来，员工感觉老板瞎弄没有成就感，老板也感觉看错了人不出成绩。于是，一拍两散。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　出来的这人再换工作，感觉自己没有被完全发挥出来，现在工作经验也涨了，薪水肯定也得涨。于是，又找到一个公司，老板一看，这人以前待遇都那么高，那老板肯定不傻，做了那么久了也有成果，我这又急需要人，再涨一段吧。这个公司干半年，和上一个公司一样循环，直到一个顶点。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　这就造成了，个人技术没有实质提高，待遇却虚高。公司支出增加了，回报却没有增加。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　这就是泡沫啊，在慢慢膨胀的泡沫。这泡沫在小企业中很明显，在中型以上企业中不明显。第一，因为中型企业都有专业的人才，这些人能判断和规划整个业务体系，不至于盲目。第二，也正是由于规范和专业，所以吸引了很多更看良性成长环境的有志之士。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　泡沫，毕竟是泡沫，终有爆破的那一天。这个时间不会很长，3到5年。随着新技术慢慢变旧（当<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;"><u style="word-wrap: break-word; margin: 0px auto; padding: 0px;"><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px;">Android</strong></u></a>和IOS变成和C语言一样老），随着大批量的人才涌入和一些公司退出（十万开发者面对一千岗位），随着很多老板慢慢发现原理和真相（APP真的只是个终端）。我们再来设定一下，曾经那些在小公司频繁蹦来跳去的人，和那些在成熟部门茁壮成长的人，他们命运是不是会发生颠覆性的改变。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　互联网行业不同于传统行业，不存在第二。最终的局面是巨头垄断和精细化小企业填补的局面。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　其实公司和人历程都一样，都会遇到千奇百怪的事情，但是殊途同归平淡是真，最终都要踏实笃行。你一步一步地走，你眼看别人起高楼，你眼看别人宴宾客，你也眼看别人楼倒塌。</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　　你也可以心想自己建起一座壁垒，固若金汤，经久不衰，称为经典。</div><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">&nbsp; &nbsp; 转载：</span><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">http://www.51testing.com/html/00/n-3647600.html</span><img src ="http://www.cnitblog.com/shbwf/aggbug/90935.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-03-22 10:13 <a href="http://www.cnitblog.com/shbwf/articles/90935.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件测试工程师是低人一等还是一金难求－－请看微软观点</title><link>http://www.cnitblog.com/shbwf/articles/90924.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 21 Mar 2018 02:21:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90924.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90924.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90924.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90924.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90924.html</trackback:ping><description><![CDATA[<span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">&#8203;&nbsp; &nbsp; &nbsp;</span><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">最近看到一些文章报道，软件测试工程师那很高的薪水，很高的待遇，可是很多人还是越不过去那种心理障碍。大家都认为软件测试工程师是为那些程序员打杂，甚至被人驱使，去收拾残局......</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　软件测试工程师真的低人一等么？从薪资待遇上，很多大公司都开了大价钱招募测试工程师，从这个程度上应该改变了现状了，但是很多公司还是抱怨找不到人。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　请看微软工程师的观点。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　（１）Francis:卓越的软件企业一定会确保测试团队人力资源及水平</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　Francis Zhou 毕业于加州大学系统圣克鲁斯分校。他于2000年加入微软，曾在总部先后担任软件开发测试工程师及测试组长等职务，参与了Windows XP及Windows Presentation Foundation的开发。2005年初他正式加入微软亚洲工程院并先后参与了TTS, Microsoft Speech Server, ActiveSync, GamesUX等项目的开发及测试。他现任测试经理，主管游戏平台及移动平台多媒体软件的测试开发。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　我会从一个职业软件管理人员的角度分析一下测试人员到底是不是&#8220;一金难求&#8221;。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　单从微软中国研发集团招聘数据统计来看，我们每年对软件测试工程师（SDET）和软件开发工程师（SDE）的数量需求基本相等，但SDET总是供不应求。其中原因固然有业界对测试工作的偏见而导致的软件工程师偏重开发而回避测试，但最大的原因还是因为市场上缺少同时具备良好测试及开发能力的工程师。两种原因合在一起导致了合格的软件开发测试人员的严重短缺。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　一个良好的测试工程师需要从很多不同的角度考虑问题，在尽量广度覆盖的同时还要拥有深入调查研究问题的能力。而其深入调查研究问题能力 不亚于甚至要超过软件开发人员。可以说，一个SDET比起与其技术水平相当的SDE对产品有可能作出更大贡献，从而帮助他在事业上有更迅速的发展。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　就像开发人员有不同水平一样，测试人员之间也存在着很大的区别。一个会设计测试计划、会开发测试自动化软件、会debug、会调查研究问题的测试人员是非常宝贵的，而且往往难以取代。测试团队的不完善会影响产品质量以及其开发过程，从而导致产品不能如期发布或存在严重缺陷。所以卓越的软件企业管理人一定会确保测试团队人力资源及水平。根据以上的事实，测试人员到底是&#8220;打杂&#8221;还是&#8220;一金难求&#8221;就不难判断了。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　（２）刘俐:环境造成测试人员低人一等这样的看法</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　刘俐，软件测试开发工程师，微软亚洲工程院测试组，三年软件测试经验，现从事Microsoft Adcenter相关项目的测试工作</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　这是个经常被人说起的话题。到底测试人员是为程序员打杂的还是一金难求的国内软件行业的特殊人才？</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　个人认为，测试工程师是一个对专业技术和自身素质都有一定要求的职业。一个优秀的软件测试工程师无论在何处都是一金难求的。以我所在的微软亚洲工程院为例，我们的测试工程师需要和开发工程师，规程经理一起合作，从产品定义(product definition)到产品开发(product development)再到产品维护(product servicing)，在整个产品生命周期中，不断贡献各种建议、测试文档以及测试数据。在这样一个开发团队中，测试工程师的地位和开发工程师，规程经理是一样的&#8212;&#8212;是软件开发团队中不可或缺的部分。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　正因为测试工程师与开发工程师的同等重要性，使得软件测试开发工程师(SDET)和开发工程师的录用标准基本类似，但是由于外界长久以来的&#8220;不平等&#8221;观点，左右了很多软件开发人员的选择：大部分人更乐意成为软件开发工程师。这也就出现了所谓的软件测试工程师&#8220;一金难求&#8221;的现象。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　但同时，作为一个优秀的测试工程师，他应该具备与开发工程师相类似的软件开发知识和技能，对被测试的软件产品架构和所使用的技术了如指掌，同时还要有足够的热情和动力，凭借积累的测试经验，去寻找并指出产品中存在的漏洞。如果说以上这些还仅仅是对测试工程师工作要求的简单描述，我们可以看到这样的能够帮助产品开发团队寻找到重要缺陷的工程师永远都会是一金难求的。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　对于测试人员低人一等这样的看法，我认为是由环境造成的。在微软公司，我们营造的是测试和开发同等重要的环境。一个软件测试开发工程师（SDET）一般会与开发工程师配合工作，负责开发相应产品模块的自动化测试工具以及测试用例。当然，必须承认，微软公司也一样有很多项目是需要一些具有简单技能的测试人员帮助运行手工测试的。而对于这些测试人员，我并不认为是&#8220;低人一等&#8221;，而是测试行业的&#8220;初级工作&#8221;。如同初级开发人员只负责编写一些简单逻辑的模块一样，测试工程师的简单工作不应被大家诟病或者轻视的。同时，只要这些测试人员愿意，他们完全可以在工作中不断成长，最终成为一个优秀的经验丰富的测试人员。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　（３）李和恒:软件测试覆盖的范围远大于业界普遍看到的部分</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　李和恒，微软亚洲工程院软件测试开发工程师，从事测试工作已三年，先后参与过视频编码、在线会议和企业级即时通信等产品的测试工作，并主持web应用测试架构的开发。技术兴趣为泛型编程，架构设计，测试自动化。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　目前国内难以看到的高级测试技能使得业内人士低估了测试人员的职业发展空间，进而得出这样的结论。事实上软件测试所需要覆盖的范围远大于目前被业界普遍看到的部分，因此测试人员往往没有机会 去展示或者发展相应的高级测试技能。就一般而言，软件测试除检验软件行为是否符合产品设计之外，还应包括检验。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　1． 设计阶段</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　1.1. 产品设计（feature specification）本身是否符合客户需要，是否容易被不精通计算机的用户所使用</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　1.2. 架构设计（design specification）是否符合产品设计，是否容易导致缺陷，是否容易导致低劣性能和不稳定，是否有利于测试</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　1.3. 测试方案（test plan）是否对功能覆盖完备，是否采用恰当方法测试每个不同领域，时间人力是否足够，帮助开发人员提高质量的措施是否恰当和足够，有否保证测试工具的质量</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　2． 实施阶段</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　2.1. 某次代码更新是否引发严重缺陷以至无法测试</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　2.2. 某个开发人员是否引入了太多缺陷</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　3． 稳定阶段</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　3.1. 缺陷是否值得修复</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　3.2. 缺陷修复顺序是否合理</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　3.3. 缺陷修复会否引发更多缺陷</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　4． 发布阶段</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　4.1. 缺陷数量是否有扩大化的趋势</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　4.2. 待发布版本是否符合发布标准</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　可见，为了完成这些任务，测试人员应该具备的技能包括</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　1.了解客户需要（针对1.1），了解行业技术现况（针对1.2）</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　2.程序设计以至架构设计能力，调试能力（针对1.2，1.3，2.1，3.1，3.3）</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　3.了解产品相关技术，了解产品本身（针对1.1，3.2，3.3，4.1）</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　4. 了解开发人员的工作流程（针对2.1，2.2，3.2，4.2）</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　5. 了解产品代码结构（针对1.2，1.3，2.1，3.1，3.3）</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　6. 部分的项目管理能力（针对1.3，2.1，2.2，3.1，4.1，4.2）</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">　　从中不难发现，一个具备上述能力的测试人员，从事开发人员是绰绰有余的，职业发展的道路和开发人员也没有太大的区别。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;" /><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">&nbsp; &nbsp; 原文：</span><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">&#8203;</span><span style="background-color: #ffffff;">http://www.51testing.com/html/67/n-6667-2.html</span><img src ="http://www.cnitblog.com/shbwf/aggbug/90924.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-03-21 10:21 <a href="http://www.cnitblog.com/shbwf/articles/90924.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>我为什么突然想转管理？</title><link>http://www.cnitblog.com/shbwf/articles/90923.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Tue, 20 Mar 2018 02:15:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90923.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90923.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90923.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90923.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90923.html</trackback:ping><description><![CDATA[<div style="line-height: 24.5px; font-size: 14px; font-family: &quot;PingFang SC&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif;">&nbsp; &nbsp; &nbsp; &nbsp;转载：http://www.51testing.com/html/20/n-3725220.html<br />       写在前面<br />　　关注我的小伙伴可能都知道，我是一个测试开发工程师，目前在 GitHub 有着约 7k 的 Star 量，在各大博客网站访问量也是破百万大关，而且一直以来都被不少粉丝奉为「技术大佬」。其实并不是这样，我在 Android 技术领域，其实是一个十足的菜鸡，只是花了不少的时间在写作上罢了。<br />　　写作确实很重要，可以明确的说，写作成就了我的现在，虽然它还不够好，但我其实还是挺满意的。最近面试了一个 Android 开发，我似乎看到了我以前的影子，会的东西还好，但真的表达不出来，而现在的我，想必就是写作带给我的转变吧。<br />　　怎么突然有了转型管理的想法呢<br />　　我一直是深耕技术的一线 Android 开发者，自然大多数人都想着是一定会把技术进行到底，或者说至少还会做乐于做技术一段时间。其实不止你们这么认为，就连对我知根知底的公司领导，也这么认为我。因为对于一个尚且还年轻的小伙子来说，现在想转型，真的太早了。不过在这个问题上，我目前还是想的比较透彻的。<br />　　我目前渴望成为管理者的「理由」<br />　　&#183; 希望突破「个人贡献」的天花板<br />　　对于我自己来说，我还是希望对公司释放我更大的贡献。每个公司对技术研发都有不同的岗位和职级划分，其实归根结底归为两类：「个人贡献者」和「非个人贡献者」。<br />　　技术开发、 UI 设计和产品经理是典型的「个人贡献者」，开发的主要工作是写代码，他的所有产出就是一行行代码所构成的最终产品。UI 设计的产出就是他的设计稿，同样产品经理的产出就是他的原型图和需求文档。这些所有的产出和对公司的贡献，都是来自个人的，很少依赖别人。<br />　　而作为一名管理者的话，就完全不一样了，他做的工作可能是不停地组织沟通和协调这些人。对于一个「个人贡献者」，工作时间顶天就 24 小时，他不休息地高效工作。但一个好的管理者的话，发动身边的人，朝一个目标努力，这个团队贡献是上无止境的，想想都刺激！<br />　　所以这是我第一个理由:因为我想驱动更多人朝着一个方向努力，做出一个有着更大贡献的产品。<br />　　&#183; 终究我还是会面对管理<br />　　作为一个技术人来说，通常也就只有四条路：管理、产品、技术总监 or 转行。<br />　　可能有很多人说，「我不喜欢做管理，我就喜欢做技术，我就是纯技术控」。其实有很多人都这样想，包括我曾经也是如此。技术人的职业阶梯总是很美好，认为自己可以成为阿里多隆，对，就是哪个阿里仅有的 P11，我一直的偶像。<br />　　但不管我们的技术做的有多棒，终究还是会管理几个人的，当你达到技术的一个很高层次的时候，多多少少，我们还是得带新人，带其他技术人员，让大家一起朝一个方向冲刺。从这个角度讲，不管是不是想一直走纯技术路线，我们都需要增长自己的沟通和管理技能。<br />　　所以这是其二：我总会到管理。正如今天我们 CEO 给我讲的一样，「我们技术人总会慢慢转型，只是我们可以去把控这个时间而已，早一点上去可能意味着更多的困难，但迟一点上去可能意味着损失机遇」。<br />　　讲一讲很多人的「误区」<br />　　可能就会有不少人质疑我了，说南尘其实想做管理的原因其实不是这个，五花八门的都有。<br />　　&#183; 只是期望拿到更多的薪水<br />　　大多数人认为，管理人员的薪水都更高，所以难免以偏概全，认为我是为了薪水所以期望转行。<br />　　薪水确实很重要，但这个想法一点都不对。大多数技术足够牛逼的人，薪资都是比他的管理者高的，因为这些高级技术人员技术已经牛逼到了业界没几个能做好。<br />　　对我的家境来说，钱确实很重要，但远远没重要到这个地步。<br />　　&#183; 期望指引别人<br />　　其实用「指引」的时候，我好像用「指使」呀。因为肯定有很多人这样想了，管理人员可以高高在上，随意使唤别人。<br />　　但我觉得恰恰相反，很多时候，领导都是负责背锅的，负责给大家抗压擦屁股的，领导才是那个给大家端茶倒水，服务大家的人。<br />　　这是我真实的看法。我们公司技术副总贾总，就是这样的一个人，明明技术都牛逼的要死，却因为做管理，整天接受着来自外部和内部的轮番轰炸。其实我真的超级心疼他，因为本已经是最努力的那一批人之一，却还被这样到处被数落，而且还经常遇到下属闹脾气。<br />　　所以，放下心中的偏见吧，好好对待你们的老大。我也已经有了背黑锅，接收轰炸的觉悟。<br />　　&#183; 指望工作更加轻松<br />　　很多人认为程序员很累，996 加班已经是很多公司的常态，有时候改需求，上线任务，还要加班到深夜。还好我们公司基本很少加班，是个标准的每周 40 小时的公司。但我们的技术领导，真的是一年 365 天，98% 的时间都在工作。所以，我会为了让工作更轻松而产生这个想法吗？<br />　　&#183; 更容易换工作<br />　　这可能是最扯淡的一种看法了。对于我们开发人员来说，只要技术实力过硬，根本就不可能愁找不到工作的，而且觉得是薪资待遇还不低。<br />　　但作为一个管理人员，换工作会更容易吗？完全扯淡。一个空降的管理，要融入技术团队是非常困难的，这需要非常多的时间。因为他们需要去面对这些出名的「寡言者」( 对，说的就是你，程序员！)，需要去了解团队每一个人的擅长点和不擅长点，需要去了解团队成员是属于「自我驱动型」还是「被动接受型」人才，这是非常需要时间的。和每个人打交道，应该用怎样的方式才合适，自己公司的产品有怎样的用户场景和用户行为，为什么需要做这些功能，未来产品发展何去何从？需要思考的问题太多了，而且这大多数情况下还不是通用的。<br />　　说的简单点，我一个 Android 开发，假设想换工作的话，完全不可能想着从事管理行业。甚至退一步说，即使有天我离职了，我依然肯定会选择我擅长的 Android 开发岗位，而这时候，下家公司看重的却只是我的技术实力。<br />　　所以，我可能为了换工作而想转行管理吗？<br />　　我为这次转型管理做了哪些准备？或者说我的优势<br />　　&#183; 高效的时间管理能力<br />　　可能大多数程序员都是「被动接受型」，我们只需要把每天领导安排的开发任务完成就可以愉快地玩耍了。但我不是那样的人，我是典型的「主动驱动型」选手，没事的时候，强迫症的我总是喜欢去重写那些自己看不惯的代码，优化超垃圾的逻辑。所以经常可以看到我怒怼产品经理，但恰恰我和我们的公司的产品经理关系非常要好。我想这大概是怼多了，导致顺从我了吧。<br />　　这个我其实知道，因为一个公司很重要一点是解决用户需求，所以很多时候我们的产品经理是迫不得已的，有些功能是没有按照想象的出发的。<br />　　我认为时间管理应该是技术转型管理的第一课，而非常 Nice 的一点是这个能力我早已具备了。我一直以来是一个喜欢规划任务的人，这从小而来的习惯，现在正促就了我现在。<br />　　&#183; 强大的总结能力<br />　　正好今天我们 CEO 找我面谈的时候，他提到了他这个「放电影」能力：即每天晚上睡觉前会自动过一遍当天的所有事情，这正好也是我从小学习成绩优异的原因。我上学那会儿，记忆力一直不好，就连抄写在笔记本上也不行。但我后面每天晚上过一遍当天内容，我发现我很多东西自然而然就记住了，正好这个方法，也推荐大家运用，因为作为一个技术开发来说，学习能力和记忆力太重要了。<br />　　对于总结方面，其实和上面的时间管理有很大的挂钩。因为一个管理者的时间正常由「被动时间」和「主动时间」所构成。而所有的「主动时间」都应该花在总结上，作为一个管理人员来说，需要对各种事情做有效的排期，最重要的当然要放在最前面。<br />　　对于一个长期写博客的我来说，总结能力方面自然是尚可的。<br />　　&#183; 表达能力（沟通能力）<br />　　对于一个管理型人才来说，这个相当重要，因为每天可能都需要大量地时间去和各种各样的人打交道。需要去说服市场部的人员了解自己手中的进度，并接受自己的排期；也需要去和本部门的员工做各种各样的交流协调，而有个很重要的一点就是，都需要用他们最喜欢的方式。<br />　　很多人认为指导新人是一件非常累的事情，因为要给他讲超级多的东西。在我们公司，严格说，我不算带过新人，但确实也做了不少的入职培训和后期工作安排，而这，对我的表达能力提升非常重要。每个新人的特点都不一样，你需要针对每个人的特点，来定制他的个人能力和成长计划，并且需要做刻意的沟通。说到这里，也是希望大家改变一下自己的观点，其实，带新人的时候，这对你的表达能力锻炼非常大。<br />　　&#183; 「刻意练习」能力<br />　　说这个词，同样是去年我的公司老总告诉我的。当时是准备去参加「Android 巴士线下交流会成都站」，而我作为一名技术演讲嘉宾。我感到非常恐惧，因为从来没上台的我，突然要面对这么多同为 Android 开发的技术大牛，这对我来说要求太突然了。<br />　　于是我找到了我们的高总，他语重心长给我说了一大堆话，其中提到了一个很关键的词语就是「刻意练习」。至今深刻的是，他说他现在能做到随便脱稿演讲，就是因为他之前「刻意练习」过很多演讲活动。<br />　　非常庆幸，我现在已经学会了时刻「刻意练习」自己的能力，并不断提高。<br />　　&#183; 「向上管理」能力<br />　　严格来说，这方面的能力还是我当下比较欠缺的。我目前仅仅是做好了及时回馈自己的工作进度以及公司每天要求的日报。但实际上在「向上管理」层面，我能做的还差的多。<br />　　但当管理一个团队的时候，向上级汇报情况就变得非常重要了，就连 CEO 不是也得向董事会汇报嘛。<br />　　总应该会有一个「向上管理」的过程，我们需要去和老大沟通，以便于明确整个团队在未来需要解决问题的主次方向。<br />　　在德鲁克的那本书里举过这样一个例子：主管写下一个目标，然后让上司写下他对主管的工作目标和期望，你会发现大部人写的都不一样，这就是缺乏沟通的一个问题。<br />　　如果没有这个「向上管理」的话，你可能把整个团队都给带偏了，最后老大会说我要的并不是这个，我要的是另外一个东西。所以说一定要做好向上管理。<br />　　写在最后<br />　　其实作者南尘本篇的总结还是蛮多的，那ZOE还是想告诉大家，首先要清楚自己做的是什么，如果自己一时没有清楚挥着跟风附和，那你将苦了自己~</div><img src ="http://www.cnitblog.com/shbwf/aggbug/90923.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-03-20 10:15 <a href="http://www.cnitblog.com/shbwf/articles/90923.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>迷茫、痛苦和关于测试职业规划的一点光亮</title><link>http://www.cnitblog.com/shbwf/articles/90894.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Thu, 08 Mar 2018 03:53:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90894.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90894.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90894.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90894.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90894.html</trackback:ping><description><![CDATA[<span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　&nbsp; &nbsp; 文章来源：</span><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">http://www.51testing.com/html/45/n-3724945.html</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　2017年这个迟来的总结，说实话，2017，很迷茫，然后过的非常不如意</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　倒不是上一年的职业目标没达到，而是接下来的路根本不知道如何走。在没解决这个问题之前，或者说没搞清楚自己的方向之前，是迟迟不能落笔的，啊不，应该是落键盘。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　下班后花了几天的时间研究了下测试的职业生涯规划，在许许多多的文章之中穿梭，结合前阵子和某公司t3级的大大面试，对自己接下来的几年职业规划，总算有了眉目，让恍惚的心总算有了着落。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　<strong style="word-wrap: break-word;">先说我这3年坎坷的经历：</strong></span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　刚毕业，自动化专业(机械)的我转行到了软件测试这个行业，然后外包到了某bat公司，在今天看来，这间公司应该是学习资源最丰富的公司，可悲哀的是，零基础，资料看不懂，当时甚至连程序是什么都不知道，于是在外包的一年，自学了编程基础和一些基础性的测试理论，不过一年后，因为外包政策的调整，权限的限制，还有归属感的原因，离职跑到一个做互联网机顶盒的创业公司。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　这家公司真的非常棒，无论领导还是工作氛围，还是学习成长，都给了我很大帮助，这间公司我收获最大的就是，形成自己风格的测试，技术方面增长的不多，但是测试思维这块得到了很大的提升，最重要的是，氛围真的很棒，可是好景不长，因为业务涉及到版权，公司一夜间就衰败了，测试组一个人都没有留下来，非常非常遗憾，就这样被迫加入第三家过的不如意的公司。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　<strong style="word-wrap: break-word;">再说2017不如意的地方：</strong></span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　<strong style="word-wrap: break-word;">问题一</strong>，通宵 &amp;&amp; 连续加班到很晚</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　我们的特色，但是无论何种结果都会有原因，我需要做的，就是针对原因提出建议</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　原因：</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　需求变更</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　这个的原因，归咎于产品经理素质问题，我们没必要抱怨刚毕业或者转行的产品做的多不好，公司也许为了省成本就是不招有经验的产品，我们都很无奈。除了每次提测前强制产品体验外，还要给老板体验，但是老板也是刚毕业的，同样会犯发版本前改需求，我们也很无奈。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　开发转测质量差</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　这个经过一年的努力，已经基本改善了，至少是UI层产生的bug看起来不会这么难受。这个痛点的改变是我强制要求开发转侧前执行测试点，同时在测试报告我会加以统计需求覆盖度和自测情况，还是多少有点帮助的。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　不重视测试，无法实现分层理念</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　因为是软硬件公司，开发的模式是底层封装sdk&#8212;-上层调用的方式进行，社区加上了之后还有接口调用。但是但是，我们只有功能测试，对的，你只需要保证程序做的对就行了，这也是功能测试的职责，但是这样够么，随着复杂度的增加，底层和接口暴露的问题越来越多，领导只想着一个人身兼多职，而对建议的分层测试，招聘测试开发做接口，做sdk层测试无动于衷，这一块我想做的努力也基本无效化了。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　归根结底，不是无法让领导认识测试的重要性，而是领导根本没有打算让你去做这些事，不怕睡着的人，就怕装睡的人。所以就快到2018了，这个东西只能说是我力所能及的范围内改进，本质还是没变，心痛。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　<strong style="word-wrap: break-word;">　问题二</strong>，能看看我做的东西不，能给点建议不</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　2017，引入了比较多的新东西，比如专项测试、从jmeter迁移到unittest的接口自动化、robotium的自动化测试，每个都花了一定时间去研究，并且除了成果，邮件到项目组，具体可以看我之前写的文章，然后&#8230; &#8230; 对，没有然后，最让我受不了的是，用户从上一年就一直投诉的上传成功率低的问题，我花了将近半个月去学习专项，然后花了几天时间去做的上传专项，发出去什么反应都没有(领导，看了报告吗？看了。有啥建议或者排期解决？不了，没时间。 )</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　接口测试同样如此，写着写着，突然感觉兴趣全无，不过幸好，框架是写完了，测试也跑了一部分。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　自动化就更悲剧了，花费了最大的经历，结果因为产品的不确定性，基本上是没有什么成效的。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　总结：2017，迷茫，痛苦，不被理解，不被支持，各种被打击</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　有失必有得，最后来说说得的地方：</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 压力忍受能力提高</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 问题分析能力提高</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 以前一些理论的东西在项目中得到了实战</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 沟通能力有提高</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　<strong style="word-wrap: break-word;">职业规划：</strong></span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　接下来把这几天了解到的测试职业生涯规划的个人理解说下，参考了网上各路大神以及和面试公司的面谈总结出来的关于未来的规划。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　PS:首先，给我感觉最深的就是，不要人云亦云，相信爱学习的孩子都知道testhomer这个技术论坛，我不否定这个论坛非常棒，让人非常想学习，但是如果你忘了自己的初衷，很容被影响变成失去自己职业方向的人，那个论坛是测试开发论坛，涉及面非常广，无论PC还是移动端都有，创办人是在bat工作，所以也不一定适合每一个公司，吃补药固然好，但是乱吃药可不好</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　以时间的纬度来看</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　分为0 ~ 3年，3 ~ 5年，5~10年以及10年以后</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　0~3年是刚毕业的懵懂期，可以一心一意工作</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　3~5年是成长期，已经开始烦恼生活了，工作已经不是全部了</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　5~10年或者以后，已经步入中年，已经有了一定的生活压力，除了工作，更重要的是家庭</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　以测试发展方向来看，分为：</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 技术管理，兼顾技术的学习和管理。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 领域专家，分为自动化，白盒和性能</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 纯管理，这个比较少，没怎么了解</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 转行，这个也不说，因为已经脱离测试的范围了</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　so，结合自身情况，定位就在3~5年，职业目标是测试技术管理上。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　这个通道的模型，其实就是系统测试模型，更像是一个综合性很强的路线，因为你什么都要懂。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　这个title是 测试组长&#8211;测试主管&#8211;测试经理(总监)</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　测试组长(目前的阶段)：分配主管下发的测试任务，设计测试策略，保证流程每一步的有序执行，监督BUG的走向，推进BUG的修改，同时版本发布之后也要总结测试流程的不足和改进点，另外也承担着带领测试新人的职责。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　测试主管：推进整个流程的进行，负责跨部门的合作以及资源协调，组员的评级考核，以及针对模块测试策略的确定</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　测试经理(总监):整个公司测试资源，测试策略，测试流程的管理者和定制者，更多是大方向上的指定了，基本不直接参与一般的测试工作中来了。</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　ok，明白了上面的定位之后，我们接下来的工作方向总算复出水面了：</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　1.继续深入DB/OS/服务器等基础能力</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　2.在基础之上的自动化/接口/专项测试(性能测试)能力</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　3.管理技巧，流程优化，问题分析和解决</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　基础能力是需要持续学习的，基础之上的技术逐个方向积累原理，管理技巧则是多看书，多思考，多总结</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　生活：</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 谈了半个女朋友</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 依然不断地在寻找生命的意义(家庭问题)，做自己</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 严重意识到了身体的重要性，半了健身卡（<span style="word-wrap: break-word;">注意锻炼身体）</span>&#8203;</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 认识到了读书的重要性，开始读做人，做事的书，开始看一些公益演讲</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　因此啊，大的方向就是：</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 多读书，读项目管理，读沟通技巧，多看TED演讲学习技巧，这不仅仅是为了工作</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 读技术原理，然后实践，成为一个有高度的人</span><br style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;" /><span style="word-wrap: break-word; font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 15px;">　　&#183; 跳槽请慎重</span><img src ="http://www.cnitblog.com/shbwf/aggbug/90894.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-03-08 11:53 <a href="http://www.cnitblog.com/shbwf/articles/90894.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>实战Burpsuite Response返回中文乱码问题</title><link>http://www.cnitblog.com/shbwf/articles/90893.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 07 Mar 2018 03:46:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90893.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90893.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90893.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90893.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90893.html</trackback:ping><description><![CDATA[<p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;">　本文来源：http://www.51testing.com/html/66/n-3724966.html&#8203;<br style="word-wrap: break-word;" />&#8203;   在做测试的时候总是遇到response中文乱码的问题。Google很多解决方案都是仅仅只修改burp字体。可是有些时候单纯修改字体问题依然会存在。后来发现还需要设置burp编码，目前问题暂时得到解决，以下记录问题过程及解决详情，供有需之人。</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;">burpsuite response返回中文乱码，像下面这样：</p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180307/11/wemedia/87fa4470d7c5ff9228636e148c60a8e2e67213a3_size21_w664_h128.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180307/11/wemedia/87fa4470d7c5ff9228636e148c60a8e2e67213a3_size21_w664_h128.png" style="word-wrap: break-word; border: none; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">解决方法</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;">设置User options&#8212;&#8212;Display&#8212;&#8212;HTTP Message Display的Font为中文字体，比如宋体、微软雅黑等。然后设置Character Sets为Use a specific character set:UTF-8(这里吐槽下，windows默认选择的是Recognize automatically based on message headers，Mac则默认就是UTF-8，当时没发现这点，一直以为是字体原因 =.=！)，具体可见下图：</p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180307/11/wemedia/1216a4f2eadec57805d76cdca59488691dc8f881_size108_w760_h552.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180307/11/wemedia/1216a4f2eadec57805d76cdca59488691dc8f881_size108_w760_h552.png" style="word-wrap: break-word; border: none; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">解决后的效果</strong></h2><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180307/11/wemedia/1fae7cc4cd10b6cebc7667f6387789ece4ca6971_size18_w605_h128.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180307/11/wemedia/1fae7cc4cd10b6cebc7667f6387789ece4ca6971_size18_w605_h128.png" style="word-wrap: break-word; border: none; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;"><br style="word-wrap: break-word;" /></p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0;">Happy，burpsuite中文乱码问题解决。</p><img src ="http://www.cnitblog.com/shbwf/aggbug/90893.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-03-07 11:46 <a href="http://www.cnitblog.com/shbwf/articles/90893.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试工作中各类测试用例的简要模板</title><link>http://www.cnitblog.com/shbwf/articles/90890.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Fri, 02 Mar 2018 03:56:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90890.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90890.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90890.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90890.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90890.html</trackback:ping><description><![CDATA[<p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">今天是元宵节，祝头条号的&#8220;攻城狮&#8221;们节日快乐，今天Zoe给大家分享的文章是测试中很重要的书面表达&#8212;&#8212;测试用例的模板套用，希望在今后的一年中大家都能发发发~</strong></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">0. 文档介绍</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">提示：请用户根据项目的实际测试状况，裁剪本测试用例模板。</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">0.1 文档目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">0.2 文档范围</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">0.3 读者对象</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">0.4 参考文献</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">提示：列出本文档的所有参考文献（可以是非正式出版物），格式如下：</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">[标识符] 作者，文献名称，出版单位（或归属单位），日期</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">例如：</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">[AAA] 作者，《立项建议书》，机构名称，日期</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">[SPP-PROC-ST] SEPG，系统测试规范，机构名称，日期</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">0.5 术语与缩写解释</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/930fb47b9672ce8eb6c00550b4b5ffc8ee3cb398_size4_w743_h180.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/930fb47b9672ce8eb6c00550b4b5ffc8ee3cb398_size4_w743_h180.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;">　1. 接口－路径测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1.1 被测试对象（单元）的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1.5 接口测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/e6e65932535051832a490cde5f0121f0fbcb1987_size20_w742_h328.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/e6e65932535051832a490cde5f0121f0fbcb1987_size20_w742_h328.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">1.6 路径测试的检查表</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/854da8145e1342e5fa3f602c5ec648a4be7f0e86_size26_w742_h516.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/854da8145e1342e5fa3f602c5ec648a4be7f0e86_size26_w742_h516.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/1977fd8ef9b46565936bba386136577677d4a217_size27_w743_h546.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/1977fd8ef9b46565936bba386136577677d4a217_size27_w743_h546.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 2. 功能测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">2.5 功能测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/6c23b39d35bdcf2931fb3f74556e99704a0d3357_size21_w743_h355.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/6c23b39d35bdcf2931fb3f74556e99704a0d3357_size21_w743_h355.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 3. 健壮性测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">3.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">3.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">3.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">3.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">3.5 容错能力/恢复能力测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/51fe8e305aa347a2f02c529bb1c22b90c96e52cd_size20_w742_h328.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/51fe8e305aa347a2f02c529bb1c22b90c96e52cd_size20_w742_h328.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 4. 性能测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">4.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">4.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">4.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">4.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">4.5 性能测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/30d55e6656a67bf1197ed9ec734b262aa422bcb4_size20_w743_h384.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/30d55e6656a67bf1197ed9ec734b262aa422bcb4_size20_w743_h384.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><br style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></h2><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 5. 图形用户界面测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">5.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">5.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">5.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">5.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">5.5 测试人员分类</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/4e3a9991f91a81b1c60f4fc22da33e951fd5a36b_size2_w742_h153.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/4e3a9991f91a81b1c60f4fc22da33e951fd5a36b_size2_w742_h153.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">5.6 用户界面测试的检查表</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/2890f653c8ad327f9e79715dff316de57587a372_size27_w743_h558.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/2890f653c8ad327f9e79715dff316de57587a372_size27_w743_h558.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><h2><br style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></h2><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 6. 信息安全性测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">6.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">6.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">6.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">6.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">6.5 信息安全性测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/746526c2f2faaab9ca52413c2dc45fb156a0700c_size19_w742_h298.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/746526c2f2faaab9ca52413c2dc45fb156a0700c_size19_w742_h298.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><h2><br style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;" /></h2><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 7. 压力测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">7.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">7.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">7.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">7.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">7.5 压力测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/fe814f089eae9ab3f22785d879e6cec85a81e851_size21_w742_h327.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/fe814f089eae9ab3f22785d879e6cec85a81e851_size21_w742_h327.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 8. 可靠性测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">8.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">8.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">8.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">8.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">8.5 可靠性测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/c38b1087bee59a69effa2a4b42e704031af1969d_size27_w711_h547.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/c38b1087bee59a69effa2a4b42e704031af1969d_size27_w711_h547.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><h2><strong style="word-wrap: break-word; margin: 0px; padding: 0px; list-style: none; box-sizing: border-box;"> 9. 安装/反安装测试用例</strong></h2><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">9.1 被测试对象的介绍</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">9.2 测试范围与目的</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">9.3 测试环境与测试辅助工具的描述</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">9.4 测试驱动程序的设计</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">9.5 安装/反安装测试用例</p><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;"><br style="word-wrap: break-word;" /></p><img alt="null" src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/3df960a6a3b394acc01c074adc7b289f3b6a993a_size18_w714_h253.png" data-ke-src="http://d.ifengimg.com/q100/img1.ugc.ifeng.com/newugc/20180302/9/wemedia/3df960a6a3b394acc01c074adc7b289f3b6a993a_size18_w714_h253.png" style="word-wrap: break-word; border: none; margin: 0px auto; padding: 0px; list-style: none; box-sizing: border-box; vertical-align: middle; display: block; max-width: 50%; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;" /><p style="word-wrap: break-word; padding-top: 0px; padding-bottom: 0px; list-style: none; box-sizing: border-box; counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; font-family: Helvetica, Arial, sans-serif; font-size: 14px; white-space: pre-wrap;">本文来源：http://www.51testing.com/html/98/n-3724598.html</p><img src ="http://www.cnitblog.com/shbwf/aggbug/90890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-03-02 11:56 <a href="http://www.cnitblog.com/shbwf/articles/90890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>35年老程序员个人谈：C语言时代行将落幕</title><link>http://www.cnitblog.com/shbwf/articles/90868.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Mon, 29 Jan 2018 04:00:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90868.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90868.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90868.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90868.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90868.html</trackback:ping><description><![CDATA[<br />这几天来，我（Eric Raymond）在思考那些正在挑战C语言的系统编程语言领袖地位的新潮语言，尤其是 Go 和 Rust。思考的过程中，我意识到了一个让我震惊的事实&#8212;&#8212;我有着 35 年的C语言经验。每周我都要写很多C代码，但是我已经记不清楚上一次我创建一个新的C语言项目是在什么时候了。<br /><br />如果你完全不认为这种情况令人震惊，那你很可能不是一个系统程序员。我知道有很多程序员使用更高级的语言工作。但是我把大部分时间都花在了深入打磨像 NTPsec、 GPSD 以及 giflib 这些东西上。熟练使用C语言在这几十年里一直就是我的专长。<br /><br />但是，现在我不仅是不再使用 C 语言写新的项目，甚至我都记不清我是什么时候开始这样做的了，而且&#8230;&#8230;回头想想，我觉得这都不是本世纪发生的事情。<br /><br />这个对于我来说是件大事，因为如果你问我，我的五个最核心软件开发技能是什么，&#8220;C语言专家&#8221; 一定是你最有可能听到的之一。这也激起了我的思考。<br /><br />C 语言的未来会怎样 ？C语言是否正像当年的 COBOL 语言一样，在辉煌之后，走向落幕？<br />我恰好是在C语言迅猛发展，并把汇编语言以及其它许多编译型语言挤出主流存在的前几年开始编程的。<br /><br />那场过渡大约是在 1982 到 1985 年之间。在那之前，有很多编译型语言争相吸引程序员的注意力，那些语言中还没有明确的领导者；但是在那之后，小众的语言就直接毫无声息的退出了舞台。<br /><br />主流的语言（FORTRAN、Pascal、COBOL）则要么只限于老代码，要么就是固守单一领域，再就是在C语言的边缘领域顶着愈来愈大的压力苟延残喘。<br /><br />而在那以后，这种情形持续了近 30 年。尽管在应用程序开发上出现了新的动向：Java、 Perl、 Python， 以及许许多多不是很成功的竞争者。起初我很少关注这些语言，这很大一部分是因为在它们的运行时的开销对于当时的实际硬件来说太大。因此，这就使得C的成功无可撼动。<br /><br />为了使用和对接大量已有的C语言代码，你得使用C语言写新代码（一部分脚本语言尝试过打破这种壁垒，但是只有 Python 有可能取得成功）。<br /><br />回想起来，我在 1997 年使用脚本语言写应用时本应该注意到这些语言的更重要的意义的。当时我写的是一个名为 SunSITE 的帮助图书管理员做源码分发的辅助软件，当时使用的是 Perl 语言。<br /><br />这个应用完全是用来处理文本输入的，而且只需要能够应对人类的反应速度即可（大概 0.1 秒），因此使用C或者别的没有动态内存分配以及字符串类型的语言来写就会显得很傻。<br /><br />但是在当时，我仅仅是把其视为一个试验，而完全没有想到我几乎再也不会在一个新项目的第一个文件里敲下 int main (int argc, char **argv) 这样的C语言代码了。<br /><br />我说&#8220;几乎&#8221;，主要是因为 1999 年的 SNG。 我想那是我最后一个用C从头开始写的项目了。<br /><br />在那之后我写的所有的C代码都是在为那些上世纪已经存在的老项目添砖加瓦，或者是在维护诸如 GPSD 以及 NTPsec 一类的项目。<br /><br />当年我本不应该使用C语言写 SNG 的。因为在那个年代，摩尔定律的快速迭代使得硬件愈加便宜，使得像 Perl 这样的语言的执行效率也不再是问题。仅仅三年以后，我可能就会毫不犹豫地使用 Python 而不是C语言来写 SNG。<br /><br />在 1997 年我学习了 Python， 这对我来说是一道分水岭。这个语言很美妙&#8212;&#8212;就像我早年使用的 Lisp 一样，而且 Python 还有很酷的库！甚至还完全遵循了 POSIX！还有一个蛮好用的对象系统！Python 没有把C语言挤出我的工具箱，但是我很快就习惯了在只要能用 Python 时就写 Python ，而只在必须使用C语言时写C。<br /><br />（在此之后，我开始在我的访谈中指出我所谓的 &#8220;Perl 的教训&#8221; ，也就是任何一个没能实现和C语言语义等价的遵循 POSIX 的语言都注定要失败。在计算机科学的发展史上，很多学术语言的骨骸俯拾皆是，原因是这些语言的设计者没有意识到这个重要的问题。）<br /><br />显然，对我来说，Python 的主要优势之一就是它很简单，当我写 Python 时，我不再需要担心内存管理问题或者会导致核心转储的程序崩溃 &#8212;&#8212; 对于C程序员来说，处理这些问题烦的要命。<br /><br />而不那么明显的优势恰好在我更改语言时显现，我在 90 年代末写应用程序和非核心系统服务的代码时，为了平衡成本与风险都会倾向于选择具有自动内存管理但是开销更大的语言，以抵消之前提到的C语言的缺陷。<br /><br />而在仅仅几年之前（甚至是 1990 年），那些语言的开销还是大到无法承受的；那时硬件产业的发展还在早期阶段，没有给摩尔定律足够的时间来发挥威力。<br /><br />尽量地在C语言和 Python 之间选择 C &#8212;&#8212; 只要是能的话我就会从C语言转移到 Python。这是一种降低工程复杂程度的有效策略。我将这种策略应用在了 GPSD 中，而针对 NTPsec ， 我对这个策略的采用则更加系统化。这就是我们能把 NTP 的代码库大小削减四分之一的原因。<br /><br />但是今天我不是来讲 Python 的。尽管我觉得它在竞争中脱颖而出，Python 也未必真的是在 2000 年之前彻底结束我在新项目上使用C语言的原因，因为在当时任何一个新的学院派的动态语言都可以让我不再选择使用C语言。也有可能是在某段时间里在我写了很多 Java 之后，我才慢慢远离了C语言。<br /><br />我写这个回忆录是因为我觉得我并非特例，在世纪之交，同样的发展和转变也改变了不少C语言老手的编码习惯。像我一样，他们在当时也并没有意识到这种转变正在发生。<br /><br />在 2000 年以后，尽管我还在使用 C/C++ 写之前的项目，比如 GPSD ，游戏韦诺之战以及 NTPsec，但是我的所有新项目都是使用 Python 的。<br /><br />有很多程序是在完全无法在C语言下写出来的，尤其是 reposurgeon 以及 doclifter 这样的项目。<br /><br />由于 C 言受限的数据类型本体论以及其脆弱的底层数据管理问题，尝试用C写的话可能会很恐怖，并注定失败。<br /><br />甚至是对于更小的项目&#8212;&#8212;那些可以在C中实现的东西&#8212;&#8212;我也使用 Python 写，因为我不想花不必要的时间以及精力去处理内核转储问题。这种情况一直持续到去年年底，持续到我创建我的第一个 Rust 项目，以及成功写出第一个使用 Go 语言的项目。<br /><br />如前文所述，尽管我是在讨论我的个人经历，但是我想我的经历体现了时代的趋势。我期待新潮流的出现，而不是仅仅跟随潮流。<br /><br />在 98 年的时候，我就是 Python 的早期使用者。来自 TIOBE 的数据则表明，在 Go 语言脱胎于公司的实验项目并刚刚从小众语言中脱颖而出的几个月内，我就开始实现自己的第一个 Go 语言项目了。<br /><br />总而言之：直到现在第一批有可能挑战C语言的传统地位的语言才出现。<br />我判断这个的标准很简单&#8212;&#8212;只要这个语言能让我等C语言老手接受不再写C的事实，这个语言才 &#8220;有可能&#8221; 挑战到C语言的地位&#8212;&#8212; 来看啊，这有个新编译器，能把C转换到新语言，现在你可以让他完成你的全部工作了 &#8212;&#8212; 这样C语言的老手就会开心起来。<br /><br />Python 以及和其类似的语言对此做的并不够好。使用 Python 实现 NTPsec（以此举例）可能是个灾难，最终会由于过高的运行时开销以及由于垃圾回收机制导致的延迟变化而烂尾。<br /><br />如果需求是针对单个用户且只需要以人类能接受的速度运行，使用 Python 当然是很好的，但是对于以机器的速度运行的程序来说就不总是如此了 &#8212;&#8212; 尤其是在很高的多用户负载之下。<br /><br />这不只是我自己的判断 &#8212;&#8212; 因为拿 Go 语言来说，它的存在主要就是因为当时作为 Python 语言主要支持者的 Google 在使用 Python 实现一些工程的时候也遭遇了同样的效能痛点。<br /><br />Go 语言就是为了解决 Python 搞不定的那些大多由C语言来实现的任务而设计的。<br /><br />尽管没有一个全自动语言转换软件让我很是不爽，但是使用 Go 语言来写系统程序对我来说不算麻烦，我发现我写G写的还挺开心的。我的很多C编码技能还可以继续使用，我还收获了垃圾回收机制以及并发编程机制，这何乐而不为？<br /><br />本来我想把 Rust 也视为 &#8220;C 语言要过时了&#8221;的例证，但是在学习并尝试使用了这门语言编程之后，我觉得这种语言现在还没有做好准备。也许 5 年以后，它才会成为C语言的对手。<br /><br />随着 2017 结束，我们已经发现了一个相对成熟的语言，其和C类似，能够胜任C语言的大部分工作场景（我在下面会准确描述），在几年以后，这个语言界的新星可能就会取得成功。<br /><br />这件事意义重大。如果你不长远地回顾历史，你可能看不出来这件事情的伟大性。三十年了 &#8212;&#8212; 这几乎就是我作为一个程序员的全部生涯，我们都没有等到一个C语言的继任者，也无法遥望C之后的系统编程会是什么样子的。而现在，我们面前突然有了后C时代的两种不同的展望和未来&#8230;&#8230;<br /><br />&#8230;&#8230;另一种展望则是下面这个语言留给我们的。<br /><br />我的一个朋友正在开发一个他称之为 &#8220;Cx&#8221; 的语言，这个语言在C语言上做了很少的改动，使得其能够支持类型安全；他的项目的目的就是要创建一个能够在最少人力参与的情况下把古典 C 语言修改为新语言的程序。<br /><br />我不会指出这位朋友的名字，免得给他太多压力，让他做出太多不切实际的保证。但是他的实现方法真的很是有意思，我会尽量给他募集资金。<br /><br />现在，我们看到了可以替C语言实现系统编程的三种不同的可能的道路。而就在两年之前，我们的眼前还是一片漆黑。我重复一遍：这件事情意义重大。<br /><br />我是在说C语言将要灭绝吗？不是这样的，在可预见的未来里，C语言还会是操作系统的内核编程以及设备固件编程的主流语言，在这些场景下，尽力压榨硬件性能的古老规则还在奏效，尽管它可能不是那么安全。<br /><br />现在那些将要被C的继任者攻破的领域就是我之前提到的我经常涉及的领域 &#8212;&#8212; 比如 GPSD 以及 NTPsec、系统服务以及那些因为历史原因而使用 C 语言写的进程。还有就是以 DNS 服务器以及邮件传输代理 &#8212;&#8212; 那些需要以机器速度而不是人类的速度运行的系统程序。<br /><br />现在我们可以对后C时代的未来窥见一斑，即上述这类领域的代码都可以使用那些具有强大内存安全特性的 C 语言的替代者实现。Go 、Rust 或者 Cx ，无论是哪个，都可能使C的存在被弱化。<br /><br />比如，如果我现在再来重新实现一遍 NTP ，我可能就会毫不犹豫的使用 Go 语言去完成。<br /><br />更多测试经验分享，可前往51Testing软件测试网。（http://www.51testing.com）<img src ="http://www.cnitblog.com/shbwf/aggbug/90868.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-01-29 12:00 <a href="http://www.cnitblog.com/shbwf/articles/90868.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2018年的五个网络安全预测</title><link>http://www.cnitblog.com/shbwf/articles/90864.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 24 Jan 2018 02:25:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90864.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90864.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90864.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90864.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90864.html</trackback:ping><description><![CDATA[<div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">2018年已经到来，而在这一年中，<a target="_self" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;&quot;;"><u style="word-wrap: break-word; margin: 0px auto; padding: 0px;"><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px;">网络安全</strong></u></a>问题将成为很多媒体的头条新闻。考虑到这一点，以下是人们将在2018年看到的五个行业预测：</div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　<a href="http://www.51testing.com/batch.download.php?aid=81327" data-ke-src="http://www.51testing.com/batch.download.php?aid=81327" target="_blank" style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;color:#111010;text-decoration-line:none;&quot;;"><img src="http://www.51testing.com/attachments/2018/01/15201284_201801240921271o9sl.jpg" data-ke-src="http://www.51testing.com/attachments/2018/01/15201284_201801240921271o9sl.jpg" border="0" style="word-wrap: break-word; border: 0px; margin: 0px auto; padding: 0px; max-width: 600px;"  alt="" /></a></div><div style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: 微软雅黑; line-height: 24px; color: #3e3e3e; font-size: 14px;">　<strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">　　　1. 关于后量子密码对网络安全影响的讨论逐渐升温<br style="word-wrap: break-word;" />　　在许多圈子里，一些人在讨论后量子密码对网络安全的影响，而这个主题讨论将让企业高层获得更多的驱动力。人们也期望加密敏捷性(或敏捷加密)的主题得到更多的关注，并希望制定后量子密码(PQC)的标准，以及了解其对企业的发展有什么影响。<br style="word-wrap: break-word;" />　　请记住，没有一种算法能够一直存续下去，这只是一个&#8220;什么时候&#8221;的问题。随着安全专家为后量子技术的到来做好准备，企业的高层和管理人员需要考虑他们能做些什么来确保所有的&#8220;事物&#8221;(汽车、设备、基础设施等)的安全。而对其开发和实施有效的加密敏捷方法的能力，是企业关心的重要问题，无论是行业还是基础设施，无论是企业还是与消费者相关的应用程序，都有可能受到后量子密码技术的影响。<br style="word-wrap: break-word;" />　　2018年，人们将开始看到从讨论问题转向实施解决方案。因此，可以预计企业将会首先引入许多定制的细分市场(行业或用例)特定的加密应用程序，以缩小差距，并提供前瞻性的能力，以适应不可避免的变化动态。<br style="word-wrap: break-word;" />　　2. 区块链：将会超越加密货币?<br style="word-wrap: break-word;" />　　区块链一直是2017年的主要热门术语之一，而这一趋势在2018年并没有放缓的迹象。当企业采用区块链技术时，许多企业天真地认为，由于区块链具有分布式的特点，因此是安全的。事实上，将交易添加到区块链中可以在不使用数字签名的情况下完成，从而掩盖了添加交易的人的真实身份，但是这对于企业和其他高度受管制的行业来说是一个难题，因为在这些行业中，加密密钥策略管理是一个更大的问题。<br style="word-wrap: break-word;" />　　有趣的是，像硬件安全模块(HSM)这样被认为是区块链的传统技术已经取得了重大的进展，并且适用于保护企业业务区块链技术。区块链(或其中的一部分)在记录交易方面可能保持安全，但在记录和验证每个交易的发起者方面可能是不安全的。为了符合合规性和安全目标，其签名必须通过公钥基础设施(PKI)进行验证。 2018年，由于人们对采用区块链的兴趣上升，预计在企业中将更多采用硬件安全模块(HSM)。<br style="word-wrap: break-word;" />　　3. 创新深入传统支付市场<br style="word-wrap: break-word;" />　　支付领域和银行的市场的创新通常采用新技术来满足不断变化的消费者需求。虽然这些组织在推动新技术的创新与传统领域运行核心业务之间的差距越来越大，但人们将开始意识这个差距，而前瞻性创新将进一步推动业务的发展。<br style="word-wrap: break-word;" />　　由于企业希望简化流程并采用更为灵活的技术(特别是在安全方面)，这意味着要在传统设备中实现现代化，并实施可满足数字支付、替代支付技术、加密货币等增长需求的不断发展的技术。同时保证严格的安全标准和合规性。<br style="word-wrap: break-word;" />　　4. 尽管所有人都在关注&#8220;一般数据保护条例&#8221;(GDPR)的实施，但大多数人会对欧盟推出的电子身份识别和信托服务(eIDAS)的变化感到惊讶<br style="word-wrap: break-word;" />　　2018年是欧盟实施法规的重要的一年，尤其是欧盟&#8220;一般数据保护条例&#8221;(GDPR)将在今年五月全面实施。这也标志着欧盟所有成员国根据eIDAS第910/2014号条例要求承认其他成员国的电子标识(eID)已经到来，但是这不仅仅以eID结束。令许多企业感到惊讶的是，2018年的eIDAS变化中，还包括电子信托服务(即电子签名、电子印章、时间戳、电子传送服务和网站认证)将被跨界承认，并具有与传统纸质流程相同的法律地位。由于企业的重点仍停留在&#8220;一般数据保护条例&#8221;(GDPR)的准备和合规性上，预计更多的问题不是来自GDPR法规，而是来自实施和认识到对信托服务组织的需求。<br style="word-wrap: break-word;" />　　5.收集未成年人的数字内容的公司将面临长期声誉风险<br style="word-wrap: break-word;" />　　在追求用户应用&#8220;粘性&#8221;的过程中，企业将更积极地启用和收集未成年人用户生成的内容。2018年，家长将意识到企业对于未成年人产生的数字内容有着严重的滥用行为，并在考虑这些做法对自己孩子是否有长期影响。<br style="word-wrap: break-word;" />　　在竞争激烈的应用环境中，这种&#8220;粘性&#8221;很容易变得&#8220;不稳定&#8221;，而那些具有进取性、前瞻性的应用程序和服务将会让未成年人认识到自己成为与家长合作的品牌建设的价值。</strong><strong style="word-wrap: break-word; margin: 0px auto; padding: 0px; font-family: &quot;&quot;;">&#8203;</strong></div><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">&#8203;更多关于IT方面的软件测试文章，请前往51Testing软件测试网。（</span><span style="font-family: &quot;sans serif&quot;, tahoma, verdana, helvetica; font-size: 16px;">http://www.51testing.com）</span><img src ="http://www.cnitblog.com/shbwf/aggbug/90864.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-01-24 10:25 <a href="http://www.cnitblog.com/shbwf/articles/90864.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何进行“有效”测试的探讨</title><link>http://www.cnitblog.com/shbwf/articles/90861.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Mon, 22 Jan 2018 02:01:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90861.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90861.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90861.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90861.html</trackback:ping><description><![CDATA[即使是一些资深的测试工程师，也会承认：<br />　　测试的主要困难是不知道如何进行有效地测试，也不知道什么时候可以放心地结束测试。<br />　　如果不知道什么样的测试是&#8220;有效&#8221;的测试，项目组就会面临这样的问题：预留给测试的时间用完了，即使怀疑软件中仍然遗漏很多缺陷，也只好匆匆收场，把麻烦留给将来。<br />　　怎样的测试才是&#8220;有效&#8221;的测试？面对这一难题，估且谈谈自己的一些粗浅的看法，借以抛砖引玉。<br />　　<strong>&#9679;要合理安排测试人员。</strong><br />　　测试活动是由人来完成的，所以测试是否&#8220;有效&#8221;要看执行的人安排得是否恰当。<br />　　<strong>1）程序员不能测试自己的程序</strong><br />　　测试的思维和开发是完全不同的。开发者是从完成软件功能以及软件的质量出发来考虑问题的，而测试人员则是从发现软件缺陷的角度来考虑问题的。程序员要测试自己的程序，很难做好这种思维的转变。从心理上，要对自己的作品挑错，也是很难做到的一件事。<br />　　<strong>2）安排最好的程序员测试</strong><br />　　测试并不是一件简单的事。要能从一个功能已经实现的软件产品中找到错误，需要具备一定的经验程序员才有可能做好。如果随便安排一个人来做测试，有可能只能给出一堆让软件产品顺利通过的无用的测试用例而已。<br />　　<strong>&#9679;正确理解测试的目的</strong><br />　　测试是为了找出缺陷，不是为了证明程序是正确的。只有从这个目的出发，才有可能发现程序中潜在的错误。<br />　　如果为了说明软件有多么好，那么应当制作专门的演示。千万不要将&#8220;测试&#8221;与&#8220;演示&#8221;混为一谈。<br />　　<strong>&#9679;注重异常测试</strong><br />　　在进行测试设计的时候，不仅要编制有效输入数据的测试用例，还要编制无效输入数据的测试用例。有效输入，只能验证程序的功能性是否正确，对于程序的可靠性，安全性，它是无能为力的。<br />　<strong>　&#9679;分析测试结果</strong><br />　　完成一轮测试之后，不仅要对发现的问题进行改错，对更改的代码进行回归测试，还应对测试结果进行分析，以决定:<br />　　1）是否满足测试终止条件，可以结束测试。<br />　　2）在已发现的问题类型当中，是否存在一些习惯性或普遍性的问题，如果有，分析其可能存在的位置，设计合适的测试用例，找出它来。<br />　　3）通常在已经发现错误的地方会发现更多的错误。要分析已经发现问题的测试用例设计的是否充分，是否需要设计新的测试用例，以找出尚未发现的问题。<br />　　<strong>&#9679;必要的测试类型一个都不能少</strong><br />　　测试一般包括单元测试、集成测试、系统测试、验收测试。从开发与测试的关系来看，这些测试类型分别用于验证详细设计、结构设计、需求规格说明、用户需求。单元测试，用于验证软件单元的正确性；集成测试，用于验证软件单元和模块接口的正确性；系统测试用于验证软件需求的实现；用户测试，用于验证用户需求的实现。这些测试类型验证的对象完全不同，只有完成了这些测试工作，开发出来的软件才满足&#8220;正确的做&#8221;和&#8220;做的正确 &#8221;。所以这些测试类型，一个都不能少。<br />　　<strong>&#9679;测试类型的有效性</strong><br />　<strong>　1）单元测试的有效性</strong><br />　　a）单元测试，要确保详细设计的软件单元的功能的实现；<br />　　b）最合理的单元测试，应当是边开发、边审查、边测试。如果等到所有的软件单元全部开发完成，才开始进行单元测试，你会耗费更多测试的时间；<br />　　c）单元测试，要解决软件单元代码的规范性、正确性的问题；<br />　　d）单元测试要满足一定的代码覆盖率和路径覆盖率的要求，特别是关键的软件单元。<br />　　<strong>2）集成测试的有效性</strong><br />　　a）制定一个有效的集成策略。集成顺序不应是随意的，应优先考虑那些关键的软件单元（如果它出现问题，将给软件带来很大的影响后果）以及与软件外部输出有关系的软件单元。<br />　　b）在开发软件单元的时候就要考虑集成的顺序，将单元测试和集成测试一并考虑，按照提成的先后顺序开发软件单元，边开发边审查边测试边集成。<br />　　<strong>3）系统测试和验收测试的有效性</strong><br />　　a) 系统测试和验收测试，都不应只关注功能测试、性能测试、接口测试，除此之外，还要考虑用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等内容。<br />　　b) 验收测试是以用户为主导的测试，验收测试的测试用例应从用户使用的角度考虑。<br />　　以上零零散散地谈了几点如何&#8220;有效&#8221;测试的想法。这些是从过程方法上面谈的，后面会从技术层面再来探讨。<br />&nbsp; &nbsp; &nbsp; 本文转自51Testing软件测试网，跟多热点测试技术，请前往51Testing软件测试网：<span style="background-color: #ffffff;">http://www.51testing.com 。</span><img src ="http://www.cnitblog.com/shbwf/aggbug/90861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-01-22 10:01 <a href="http://www.cnitblog.com/shbwf/articles/90861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>进行app性能和安全性测试的重要性</title><link>http://www.cnitblog.com/shbwf/articles/90856.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 17 Jan 2018 07:42:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90856.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90856.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90856.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90856.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90856.html</trackback:ping><description><![CDATA[如何让用户感觉App运行速度更快呢，这需要对App进行性能测试。限制App性能的因素按照App的系统结构分为App自身和App需要用到的后台服务。<br />　　<strong>测试App连接网络的速度</strong><br />　　一般采用在模拟Mock环境下进行测试，测试方法更多使用的是在App的log中添加时间戳的方式计算时间，例如使用Apple公司提供的iPhone Configuration Utility中Devices的Console查看App的log。<br />　　<strong>测试App在不同网络速度下操作的流程程度</strong><br />　　测试可以使用在App的log中添加时间戳方法验证，也可以通过使用App的直观感受来验证App性能带给用户的体验。<br />　　<strong>测试App对于前台页面渲染的性能</strong><br />　　测试可以使用在App的log中添加时间戳方法验证，也可以通过使用App的直观感受来验证App性能带给用户的体验。特殊的是，当App中使用WebView，测试人员可以快速地刷新当前页面或者在使用WebView的页面间进行切换，来验证App是否有性能问题甚至发生崩溃。<br />　　<strong>测试App操作数据库的性能</strong><br />　　iOS操作系统在设备本地存储App数据时使用的是CoreData或者SQLite数据库;Android操作系统在设备本地存储App数据时使用SQLite数据库。如果操作的数据量很大，便有可能出现App的性能问题，此时App测试就很重要，对数据库操作的功能进行大数据量的测试。测试人员也可以和开发人员一起，遵照Web端数据库优化的一些原则，如数据库启用事务，使用索引，数据的批量操作等优化方法，提高数据库的性能。<br />　　<strong>测试App的会话session是否有过期设置</strong><br />　　对于App的会话session是否有过期设置的测试，可以在App运行中切换到别的App或者桌面一段时间，然后再次进入App，看App是否需要输入密码等验证信息。值得注意的是不同App的合理session过期时间不一样，测试人员需要和产品经理、开发人员等确认之后制定出合理的测试用例。<br />　　<strong>测试App请求中是否包含了明文的用户信息</strong><br />　　包含了明文的信息，如同App中标示用户应该使用UUID或GUID等转码后的信息，而不是直接的用户电话号码或账户信息，当然更不应该明文传送这些信息。测试人员可以使用Apple的iPhone Configuration Utility，Android SDK自带的DDMS，Charles和Fiddler这些工具来监控App发送的请求。<br />　　<strong>测试App的请求是否加密</strong><br />　　一般App请求可以使用HTTP，但是关系到用户敏感信息的请求，需要使用HTTPS等加密传输。<br />　　<strong>测试SQLite数据库的存储是否安全</strong><br />　　测试人员可以通过ADB连接到root的Android蛇别，并使用SQLite来查看具体的数据库保存的信息。显然，把用户实际的登录信息明文存储在数据库文件中是不安全的，最好不要存储，如果必须存储，最好对这些信息加密后再存储。<br />　　<strong>测试App使用WebView的安全性</strong><br />　　由于WebView的请求和在Web端请求数据是一样的，所以任何适用于Web端的攻击方式和漏洞对于WebView来说都是通用的。<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />&nbsp; &nbsp; &nbsp; &nbsp; END<br />&nbsp; &nbsp; &nbsp; &nbsp; 更多关于软件测试方面的文章，请前往51Testing软件测试网。（<span style="background-color: #ffffff;">http://www.51testing.com）</span><img src ="http://www.cnitblog.com/shbwf/aggbug/90856.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2018-01-17 15:42 <a href="http://www.cnitblog.com/shbwf/articles/90856.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>软件测试进入了一个新时代</title><link>http://www.cnitblog.com/shbwf/articles/90712.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Mon, 17 Jul 2017 07:22:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90712.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90712.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90712.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90712.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90712.html</trackback:ping><description><![CDATA[<span style="color: #666666; font-family: 宋体, Arial; font-size: 16px;">企业IT软件非常复杂，通过协作由全球高技能人员快速开发，必须在许多生态系统和许多设备上不间断地运行。在过去，软件每年一般只发布几次；但是今天，新的版本可能会每分钟出去一次, 持续不断的。在许多情况下，</span><a target="_self" style="word-wrap: break-word; color: #565656; font-family: 宋体, Arial; font-size: 16px;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">软件开发</strong></u></a><span style="color: #666666; font-family: 宋体, Arial; font-size: 16px;">过程以瀑布方法开始，现在已经转向敏捷、精益和持续集成（CI）。在这个新时代，云服务消费者（软件用户）</span><a target="_self" style="word-wrap: break-word; color: #565656; font-family: 宋体, Arial; font-size: 16px;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">生活</strong></u></a><span style="color: #666666; font-family: 宋体, Arial; font-size: 16px;">在一个多租户世界中，他们不再能够控制软件版本更新的时间。客户分散在许多时区，每个客户都必须访问该软件，所以永远不会给维护、超时或宕机等机会。</span><br style="word-wrap: break-word; color: #666666; font-family: 宋体, Arial; font-size: 16px;" />
<div align="center" style="word-wrap: break-word; color: #666666; font-family: 宋体, Arial; font-size: 16px;"><a href="http://www.51testing.com/batch.download.php?aid=70903" target="_blank" style="word-wrap: break-word; color: #565656;"><img src="http://www.51testing.com/attachments/2017/07/15201284_201707131726491Lxp2.jpg" border="0" style="word-wrap: break-word; border: 0px;" alt="" /></a></div>
<span style="color: #666666; font-family: 宋体, Arial; font-size: 16px;">　　持续操作&#8212;&#8212;以软件用户无中断的方式管理软件和硬件的更新。即使软件和服务器在计划的维护或更新过程中可能会离线，这也需要对其进行管理，从而在维护时用户依旧可以继续使用现有版本的应用程序。一旦部署成功并经过冒烟</span><a target="_self" style="word-wrap: break-word; color: #565656; font-family: 宋体, Arial; font-size: 16px;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">测试</strong></u></a><span style="color: #666666; font-family: 宋体, Arial; font-size: 16px;">后，就会自动切换到新的版本。</span>
<div style="word-wrap: break-word; color: #666666; font-family: 宋体, Arial; font-size: 16px;">
<div style="word-wrap: break-word;"><a href="http://www.51testing.com/batch.download.php?aid=70921" target="_blank" style="word-wrap: break-word; color: #565656;"><img src="http://www.51testing.com/attachments/2017/07/15201284_201707141139111KSsA.jpg" border="0" style="word-wrap: break-word; border: 0px;" alt="" /></a></div>
当<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">软件测试</strong></u></a>进入了一个新时代，在开发、交付、部署和运营的高速运行的同时，要确保这些高度复杂和动态的软件产品的质量，就变得非常困难。在新时代，软件测试需要多维的方式去操作，质量/测试工程师时时刻刻都要从下列多个维度去评估软件产品的质量。</div>
<div style="word-wrap: break-word; color: #666666; font-family: 宋体, Arial; font-size: 16px;">
<div style="word-wrap: break-word;"><a href="http://www.51testing.com/batch.download.php?aid=70922" target="_blank" style="word-wrap: break-word; color: #565656;"><img src="http://www.51testing.com/attachments/2017/07/15201284_201707141139541p68e.jpg" border="0" style="word-wrap: break-word; border: 0px;" alt="" /></a></div>
<strong style="word-wrap: break-word;">在新时代，测试工程师在软件交付中要扮演多种角色</strong>，他们需要转变软件测试思维，需要测试自动化和与各种解决方案/技术的集成，以支持他们多维度的<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">工作</strong></u></a>方式。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">在新时代，测试不再局限于测试执行的自动化、测试设计的自动化或测试过程中单个环节的自动化，而是：</strong><br style="word-wrap: break-word;" />
关于在第一时间如何实现测试的推导和设计，以及如何管理和执行测试；<br style="word-wrap: break-word;" />
关于测试的透明性、可视性和可控制；<br style="word-wrap: break-word;" />
关于速度和周转时间；<br style="word-wrap: break-word;" />
关于无缝集成，如将工具和流程融合在一起。</div>
<div style="word-wrap: break-word; color: #666666; font-family: 宋体, Arial; font-size: 16px;">
<div style="word-wrap: break-word;"><a href="http://www.51testing.com/batch.download.php?aid=70924" target="_blank" style="word-wrap: break-word; color: #565656;"><img src="http://www.51testing.com/attachments/2017/07/15201284_201707141141251NdaK.jpg" border="0" style="word-wrap: break-word; border: 0px;" alt="" /></a></div>
下列内容强调了新时代软件测试中的现实需求。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">提高生产率（测试效率）：</strong><br style="word-wrap: break-word;" />
通过最少的手工参与，实现<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">功能测试</strong></u></a>的自动化。<br style="word-wrap: break-word;" />
利用现有测试资产 -&nbsp;<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">测试用例</strong></u></a>、测试需求、原型。<br style="word-wrap: break-word;" />
消除测试自动化积压（Backlog）<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">增加和优化的覆盖范围：</strong><br style="word-wrap: break-word;" />
尽可能少地测试复杂系统、优化回归测试集。<br style="word-wrap: break-word;" />
查看生成的测试，了解覆盖了哪些测试、以及为什么需要这些测试;<br style="word-wrap: break-word;" />
获得可视性，能够了解什么测过、什么没有测试。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">　综合测试流程：</strong><br style="word-wrap: break-word;" />
与所有SDLC工具和流程无缝集成；<br style="word-wrap: break-word;" />
直接链接到自动化执行框架。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">测试自动化：</strong><br style="word-wrap: break-word;" />
缩短测试自动化的路径；<br style="word-wrap: break-word;" />
简化高级的测试设计<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">技术</strong></u></a>；<br style="word-wrap: break-word;" />
在许多平台和生态系统上自动执行测试；<br style="word-wrap: break-word;" />
在内部或云端上实现并发测试。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">可重用性：</strong><br style="word-wrap: break-word;" />
重用现有资产，包括模型、手动测试用例、<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">记录</strong></u></a>和回放测试；<br style="word-wrap: break-word;" />
重用每个利益相关者的资产提升交付速度。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">测试自动化</strong><br style="word-wrap: break-word;" />
以开发的速度进行测试，对于软件发布变得非常关键。<a target="_self" style="word-wrap: break-word; color: #565656;"><u style="word-wrap: break-word;"><strong style="word-wrap: break-word;">自动化测试</strong></u></a>是在每个迭代实现足够高的测试覆盖率的唯一途径，从而提供测试人员为其项目获得高品质和快速的质量反馈。<br style="word-wrap: break-word;" />
自动化测试，不仅帮助我们节省测试的时间、可以进行更全面的回归测试，增强我们对系统质量的信心，而且这种信任使得我们大胆进行系统的改进和定制以满足不同用户的需求，测试人员也可以将精力投入到真正需要人类洞察力的新功能测试领域，开发人员也变得更加自信。<br style="word-wrap: break-word;" />
<strong style="word-wrap: break-word;">测试自动化框架</strong><br style="word-wrap: break-word;" />
测试自动化框架是支架，用于为自动化测试脚本提供执行环境。框架是各种指南、编码标准、概念、流程、实践、项目层次化、模块化、报告机制、测试数据等的智慧结晶，并有力支持自动化测试的流畅执行。因此，用户可以遵循这些准则，同时自动化应用程序以利用各种高效的成果。</div>
<div style="word-wrap: break-word; color: #666666; font-family: 宋体, Arial; font-size: 16px;">
<div align="center" style="word-wrap: break-word;"><a href="http://www.51testing.com/batch.download.php?aid=70938" target="_blank" style="word-wrap: break-word; color: #565656;"><img src="http://www.51testing.com/attachments/2017/07/15201284_201707141424381cko3.jpg" border="0" style="word-wrap: break-word; border: 0px;" alt="" /></a>　　 &nbsp;
</div>
<br />在高层次上，自动化框架使用驱动程序和数据集在各种测试环境中执行测试。<br />好的框架吸收了许多自动化测试技术，利用其优势，智能地解决其弱点，满足各类项目利益相关者的需求：<br style="word-wrap: break-word;" />
基于组件的测试框架；<br style="word-wrap: break-word;" />
库架构测试框架；<br style="word-wrap: break-word;" />
数据驱动测试框架；<br style="word-wrap: break-word;" />
关键字驱动测试框架；<br style="word-wrap: break-word;" />
混合测试框架；<br style="word-wrap: break-word;" />
行为驱动开发框架（BDD）；<br style="word-wrap: break-word;" />
业务流程测试框架。</div>
<p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; color: #666666; font-family: 宋体, Arial; font-size: 16px;">End.</p>
<p style="word-wrap: break-word; margin-top: 5px; margin-bottom: 5px; padding-top: 0px; padding-bottom: 0px; color: #666666; font-family: 宋体, Arial; font-size: 16px;">如果对软件测试感兴趣，想了解更多的软件测试知识，请大家关注<strong style="word-wrap: break-word;">&#8220;51Testing软件测试网&#8221;</strong>今日<strong style="word-wrap: break-word;">头条号</strong>。<strong style="word-wrap: break-word;">PS：每周五都会发福利哦！</strong></p><img src ="http://www.cnitblog.com/shbwf/aggbug/90712.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2017-07-17 15:22 <a href="http://www.cnitblog.com/shbwf/articles/90712.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在北上广工作压强下，幸福是怎么炼成的</title><link>http://www.cnitblog.com/shbwf/articles/90325.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Mon, 21 Dec 2015 06:57:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/90325.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/90325.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/90325.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/90325.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/90325.html</trackback:ping><description><![CDATA[<p align="left">　　前几日，一位学弟，要出来实习，找到我，问我有没有好的介绍。按照惯例，我就推荐他去了电视台，新闻学子嘛，电视台肯定能提供最好的锻炼。<br />　　然而，才过了几天，电视台老师就打电话告诉我，那孩子不干了走了，来了也不愿意干活。紧接着，那学弟也打电话给我抱怨，说那里都是找他做苦力，还没什么钱。我愕然，仔细聊过才知道，现在孩子们找实习也都要高薪，还希望工作不累。<br />　　突然想起来，前几天，一个朋友听说IT行业收入超高，毅然决绝辞了编辑工作，依仗有点编程基础，去报名学习测试开发去了，学费据说就交了三四万，突然发现，时代真的不一样了，经济社会，经济第一真的不是说说，工作在大家心里不再是一成不变的，所谓忠诚，踏实，勤劳这些工作品质都消失了。<br />　　很多人对工作的态度一天一个样，小编有个关系不错的朋友，在IT行业，一年之内跳槽了六次，比如他本来做功能测试，突然听说web测试更赚钱，又跳去了一家单位做web测试，然后过了段时间，发现有家公司web测试收入更高，又跑去了，就这样，换了一年，现在也不保证是不是安定了，他却总是很得意，收入高了一倍。其实，仔细想想，看似他收获了很多，但是失去的更多，一年的时间，忙于跳槽，肯定失去了一年的工作经验，软件行业其实经验相当重要；同时，思想也懈怠了，做不好就走，反正换工作也没啥，没了上进心；同时用人单位也很难去把握他的思想变化，更不知道如何去用他，毕竟新人不可能得到单位的绝对信任。<br />　　其实这个现象不单单是他一个人，很多人都这样，毕竟经济社会，用朋友的话说，人总要活着，还要活的越来越好。但是这样的情况下，企业对人，人对企业都再也难以去相互了解了。<br />　　这一点小编蛮欣赏51Testing软件测试网这家公司，不知道是不是未圤先知，从很早开始，51Testing每年都会进行软件测试行业现状大调查，统计身处软件测试领域各个层次、各个相关岗位的测试同仁的工作情况，薪资情况，公司的测试团队发展情况，工具使用情况等等，并对所有调查数据进行统计分析。通过查看分析结果，可以了解去年整个行业的发展情况，同行的技术水平，各公司测试团队的发展趋势。<br />　　在这个社会，你只有深入了解整个大环境，才能更加清晰的认知自己的工作，选择自己感兴趣，空间更大，收入更丰厚的职业发展之路。<br />　　在北上广这样的大城市里，很多人每天都在努力挣扎，希望可以摆脱压力束缚，然而你真的清楚自己该怎么做吗？你有没有静下心来了解一下自己，你能做什么？你的水平适合什么层次的收入？你的发展方向在哪里？你周围的环境是怎么样的？我想，如果你能静下心来好好重新认识一下自己，了解一下同层次的环境，你会发现，其实压力并没有那么大，时间还很多，你可以慢慢来，不要每天人云亦云，幸福其实就在身边，成功不是一蹴而就，跬步江山易辽阔。<br />　　放松自己，在灯火辉煌的夜晚，做着自己想做的事，喝上一杯热茶，填上一份问卷，在清风茶香中，重新认识一下自己，告诉自己，一切都不晚，我现在也很幸福。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <img border="0" alt="" src="http://www.cnitblog.com/images/cnitblog_com/shbwf/11.jpg" /><br /></p><img src ="http://www.cnitblog.com/shbwf/aggbug/90325.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2015-12-21 14:57 <a href="http://www.cnitblog.com/shbwf/articles/90325.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2014软件测试现状调查活动开始啦！</title><link>http://www.cnitblog.com/shbwf/articles/89835.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 12 Nov 2014 14:20:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89835.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89835.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89835.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89835.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89835.html</trackback:ping><description><![CDATA[<b>调查名称：2014软件测试现状调查活动<br></b>
<b>调查时间：即日起至2015年3月12日<br></b>
<b><span style="color: #e3ae6">参与调查问卷请点击>> </span><a href="http://vote.51testing.com/ "><span style="color: #">http://vote.51testing.com/</span></a></b><br><br>
51Testing作为目前国内人气最旺的软件测试门户网站,为了帮助软件测试从业人员自身和相关企业，更深入、全面的了解中国软件测试从业人员现状，在2007年开展了首届中国软件测试从业人员调查活动。活动一经推出，立即受到广大会员的关注和支持。<br>
在2007年至2013年期间，51Testing软件测试网共开展了八次行业调查活动，其中除了2008年是企业软件测试现状调查外，其余七次都进行了中国软件测试从业人员调查并公布了调查所得数据和调查分析报告，每份报告都被下载超过万次，反响强烈。<br>
2014软件测试现状调查活动正在火热进行中，本次调查将继续从软件测试从业人员的角度，对软件测试从业人员及业内现状进行调查；问卷的设计在2013年的基础上做了进一步的修改和完善，力求使本次调查活动更专业、严谨、客观、实用，力争打造出中国软件测试领域最具广泛性、权威性和实用性的产业调查。<br>
51Testing希望通过本次调查活动，帮助大家了解2014年的软件测试从业人员现状，帮助测试人员更好的认识和定位自我，规划职业发展。<br>
欢迎广大软件测试从业人员前来参与，与51Testing携手，共同为提升软件测试从业人员整体价值，提高软件测试领域发展水平尽一份力量。<br>
感谢每个填写问卷的用户，你们的信息我们会保密的，对于完成问卷的用户，在调查报告一出来时我们就会通知大家，方便大家在第一时间了解行业现状~<br>
<span style="color: Ea590b">PS:必须全部填完才能提交问卷，如果有用户还是不愿意填联系方式什么的，可以直接填&#8220;无&#8221;。 </span> <br>   <img src ="http://www.cnitblog.com/shbwf/aggbug/89835.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2014-11-12 22:20 <a href="http://www.cnitblog.com/shbwf/articles/89835.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>51Testing招聘软件测试课程研发人员</title><link>http://www.cnitblog.com/shbwf/articles/89821.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Thu, 06 Nov 2014 05:43:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89821.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89821.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89821.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89821.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89821.html</trackback:ping><description><![CDATA[最近有些两三年测试工作经验的小伙伴对自己的下一个工作有些迷茫，感觉很难有技术的突破，毕竟公司不是学校，不会允许员工海阔天空的去尝试各种新的技术。现在我就送给这些好学上进的小伙伴一个礼物，51Testing现在正在招聘软件测试课程研发人员，工作的岗位职责就是整理成熟的软件测试技术体系，研究各类新的软件测试技术，当然也在老王我所负责的团队工作。我们招募的条件很简单，有一定的软件测试经验，有强烈的学习和研究技术的欲望，能够耐心的去整理各类技术资料，研究新的技术，有一定的文字和表达能力，在这里我张开双臂欢迎你的加入！<br /><br />

职位信息：<br />
工作地点：上海<br />
薪水范围：面议<br />
学    历：本科及以上<br />
发布时间：2014年11月4日<br /><br />
任职要求：<br />
30岁以内，计算机相关专业本科及以上学历，英语4级及以上，3年及以上软件测试工作经验。<br />
1、 熟悉软件开发测试流程，能编写测试计划、测试方案，设计测试用例。<br />
2、 掌握C/C++或JAVA，掌握SQL Server、Oracle、Mysql中任意一种数据库，掌握Unix或Linux操作系统的管理和使用，能够搭建常用的服务。<br />
3、 掌握自动化测试理论，熟练使用QTP或LoadRunner，熟悉Python、Perl、Shell等任意一种脚本语言。<br />
4、 思路清晰，有很强的文字表达能力和较强的语言表达能力。<br />
5、 喜欢技术研究，喜欢总结和分享。<br /><br />
工作职责：<br />
1、 参与软件测试课程体系的研发<br />
2、 负责教学资源的研发和维护，包括教案、案例、视频、题库、教材等。<br />
3、 负责研究新技术、新业务、新工具，并将其转化为教学资源。<br />
4、 负责教学资源的内部使用培训。<br />
————————————————————<br />
以上职位请发送简历到：<br />
邮箱：wangweio1testing.com （请将#换成@）<br />
联系人：老王<br />
可注明来自<博客文章><br />
————————————————————<br />
>>有兴趣的小伙伴们赶快投简历，加入我们吧！<br />
>>投递简历的朋友我们会有相关同事在第一时间与您主动联系的~~<br /><br />

<p><span style="color: red">本文转载自51Testing软件测试网，查看更多：</span><a href="http://www.51testing.com/html/news.html" target="_blank"><span style="color: red">http://www.51testing.com/html/news.html</span></a></p>   <img src ="http://www.cnitblog.com/shbwf/aggbug/89821.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2014-11-06 13:43 <a href="http://www.cnitblog.com/shbwf/articles/89821.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Bug敏感度的培养</title><link>http://www.cnitblog.com/shbwf/articles/89172.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Tue, 07 Jan 2014 07:28:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89172.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89172.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89172.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89172.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89172.html</trackback:ping><description><![CDATA[<p>在我们刚踏入软件测试行业时，不管你是专业的、非专业的，培训出来的还是未培训的。刚进公司时你看着身边的同时报的Bug很多并且大都是严重程度高，自己也很想提高一下，想要提高自己的bug敏感度，建议从下面几点做起，纯属个人建议。<br />　　1 熟悉需求：这是最基础也是最重要的，原始需求随着项目的进度在不断地变化，这就需要你多沟通多交流清楚最新的需求是什么。毕竟书面上的需求是不完整的，隐性需求就靠你和PM沟通了，让PM听你的建议，从用户的角度考虑。<br />　　2 Bug库：多看Bug库，看看别人找Bug的测试角度，可以增加自己的测试思路 ；可以避免提交重复的Bug。比如别人提了一个上边界值的问题，但下边界值也存在问题，这时候你就可以提下边界值的问题了。随着你看Bug库熟悉程度越深你的测试思路越宽阔。<br />　　3 被测对象和同类产品相对比：现在市面上大部分开发的软件都有同类产品，你可以对照同类产品对自己测试的软件进行参考测试，如：功能上、建议问题。尤其是性能方面，测试的指标如CPU、内存等都不要超过同类产品。<br />　　4 异常方面：断网时页面显示是否满足要求，是否有相应提示；快速切换页面是否出现异常、加载过程中进行其他操作、快速连续提交按钮是否提交多条数据、输入错误数据是否有相应处理等等<br />　　5 不断总结：学到的东西要不断总结，不然会杂乱无章。可以写博客或者写日记把自己的进步记录下来，每天进步一点点，时间长了会有很大收获的，要相信上天总是眷顾勤奋的人。如果你想以后提高自己，现在就开始养成一个好习惯。<br />　　以上是自己的一点拙见，希望看到这篇文章的同学，发表一下自己的意见。 </p>
<p>更多内容请关注51testing软件测试网</p><img src ="http://www.cnitblog.com/shbwf/aggbug/89172.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2014-01-07 15:28 <a href="http://www.cnitblog.com/shbwf/articles/89172.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试功能总结得与失随谈</title><link>http://www.cnitblog.com/shbwf/articles/89157.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Thu, 02 Jan 2014 06:25:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89157.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89157.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89157.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89157.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89157.html</trackback:ping><description><![CDATA[一直在做功能测试工作，负责公司网站和软件功能测试工作，却很少静下心来总结工作中的得失。<br />　　很多不了解测试的人，认为功能测试不过就是拿鼠标点来点去，没有什么技术含量，随便招个应届毕业生就能干的工作。我也曾经认为功能测试没什么前途，现在看来觉得自己太浮躁，想法太固执了。功能测试的门槛可能比较低，做测试工作的人大多都是从功能测试开始，但要做好功能测试却不容易，需要学习的知识还很多。<br />　　功能测试最重要的是理解业务和需求。知道系统要实现什么功能，业务流程是怎样的，然后就可以根据需求编写测试计划和测试用例了以及记录Bug异常。<br />　　要做好功能测试，还需要对整个系统的数据库结构比较清楚，每个功能点涉及哪些数据表，对数据的操作方式是怎样的。这样就不单从前台页面来进行测试，通过对数据库中数据的验证，可以发现隐藏的一些bug。比如库表没有进行关联删除，从前台页面是看不出来的，但实际可能导致程序出现问题。对一些比较复杂的组合查询或数据排序，也可以自己编写sql语句对结果进行验证，这样有利于更好的发现产品潜在的Bug。<br />　　除此之外，了解程序的框架结构和一些简单的开发知识也有助于更好地测试程序和定位错误。做完一个业务，可以通过系统日志来查看错误原因，结合数据库结构，如果发现产品错误，却不知道问题在哪，就要学会用谷歌freedebug这个工具，查找出程序存在的异常，该工具还能更加好的做样式测试，能及时发现问题，及时解决问题，可以更好帮助开发人员定位该错误，促进产品更好，更高效率的开发。<br />　　最后，对bug的分析和总结有助于积累测试经验，比如一个产品那种问题出现的类似错误次数最多，哪些模块功能点考虑不全面问题，哪中测试异常记录方法能更好的利于开发人员进行查看，利于自己后期维护和修改。通过测试经验的累积，可以更好地了解系统常出现的错误，提高测试和产品的效率。<br />更多内容请登录 51Testing软件测试网<br /><img src ="http://www.cnitblog.com/shbwf/aggbug/89157.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2014-01-02 14:25 <a href="http://www.cnitblog.com/shbwf/articles/89157.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试应该在产品开发的哪个阶段进入？</title><link>http://www.cnitblog.com/shbwf/articles/89140.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Fri, 27 Dec 2013 07:48:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89140.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89140.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89140.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89140.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89140.html</trackback:ping><description><![CDATA[<p>测试应该在产品开发的哪个阶段进入？</p>
<p>官方标准应该是：<br />　　在产品的需求探索阶段，测试就需要进入，提出测试对产品的一些可测试性需求，比如在产品中增加调试命令，增加模拟告警信息等。同时，对产品的需求，从测试本职业务的角度进行分析、设计。<br />　　实际上，不同的产品、项目，团队的成熟度，可能测试进入的时间并不一定。<br />　　比如测试团队是新成立的团队，本身没有足够的能力去对产品进行出谋划策，那么还不如老老实实的等产品设计完成后，请开发人员或项目经理培训一下，然后先从功能黑盒测试开始入手。<br />　　比如产品是老产品，是V4.0升级到V4.1，产品线经年累月就是不停的迭代开发一个主产品，那么在少量的增量开发的前提下，在需求阶段过多的介入，反而是投入产出不成正比，还不如少量的投入，抽出精力把测试用例进行优化、开发测试工具、提炼场景式测试方法等等。<br />　　国内的测试还不太正规，所以结合实际情况，做到比较适合、符合本公司的实际业务情况和成熟度即可。</p>
<p>ipadmini、惠普平板电脑、京东购物卡...一大波好礼正在接近！参与51Testing圣诞节新年活动 ~2014马上有礼！</p>
<p>活动一：【&#8220;购房通&#8221;圣诞新年找茬活动】找茬，找房，找BUG，找出你的ipadmini~&nbsp; bbs.51testing.com/thread-999309-1-1.html<br />活动二：【圣诞&amp;新年猜猜猜】猜中有礼，百元京东购物卡，圣诞只为等你猜！bbs.51testing.com/thread-999324-1-1.html<br /></p><img src ="http://www.cnitblog.com/shbwf/aggbug/89140.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-27 15:48 <a href="http://www.cnitblog.com/shbwf/articles/89140.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>SQL</title><link>http://www.cnitblog.com/shbwf/articles/89134.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Thu, 26 Dec 2013 07:49:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89134.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89134.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89134.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89134.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89134.html</trackback:ping><description><![CDATA[<p>　之前总结过sql注入的一些特征。这里总结一下数据库的内部特征。和安全选项。<br />　　MySQL<br />　　权限划分<br />　　mysql用户的权限，大体来说比较简单，分别存储于这几个表中<br />mysql.User，mysql.db，mysql.Host，mysql.table_priv，mysql.column_priv </p>
<p>　　因为存取频繁，所以这几个表的数据存在内存中，更新数据后使用，语句来进行内存更新<br />　　当然执行这个命令需要reload权限<br />FLUSH PRIVILEGES </p>
<p>　　用户登录时需检查，mysql.user中的user host pass 三个字段，如果允许任何主机外部链接可以吧host设置成%<br />　　用户登录通过后，mysql会自上而下的检查用户权限，首先在mysql.user中读取对应用户的权限。</p>
<p><br />51Testing软件测试论坛圣诞活动火热进行中 ipad 大奖等你拿&nbsp; 详情请上51testing软件测试网论坛</p><img src ="http://www.cnitblog.com/shbwf/aggbug/89134.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-26 15:49 <a href="http://www.cnitblog.com/shbwf/articles/89134.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网络异常测试初探</title><link>http://www.cnitblog.com/shbwf/articles/89120.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Tue, 24 Dec 2013 09:07:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89120.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89120.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89120.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89120.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89120.html</trackback:ping><description><![CDATA[<a href="http://www.cnitblog.com/">
<p>&nbsp;</p>
<p>开发或者测试互联网产品的过程中，同学们一定遇到过connection timed out和socket read timed out两种和网络相关的异常。今天我们并不分析引起这些异常的原因，也不谈发生异常以后的解决办法，我们来说说如何制造这类异常，从而模拟对应的异常场景。<br />　　了解tcp协议就知道connection即建立连接的过程，其实和socket read即传输数据的过程并没有太大的差别，两者都是请求应答模式，而只是前者的请求数据量很小而已。要使两者超时，我们可以采用相同的方法即限制网络传输的带宽来达到目的。<br />　　Tc即traffic control就是这样一款能够限制网络流量的工具。Tc中主要的概念包括类class和过滤器filter。<br />　　我们可以用class把网络设备的带宽划分成不同的区间<br />　　tc class add dev $DEV parent 1: classid 1:11 htb rate 90mbps ceil 100mbps<br />　　tc class add dev $DEV parent 1: classid 1:12 htb rate 90bps ceil 100bps<br />　　如上，11这个class对应的带宽为90到100mbps，12这个class对应的带宽只有90到100bps。划分好了class，我们就可以用filter把符合特定条件的数据包归入不同的class中<br />　　tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip sport $PORT 0xffff match ip dst $IP flowid 1:12<br />　　如上就把源端口是$PORT，目的地址是$IP的数据包归入12这个class中了，这样就把符合该条件的数据流量限制到了90到100bps。在正在运行的系统中开启上述tc限制，即把特定数据流限制到一个极小值，我们就能模拟出connection timed out异常了。关于tc更详细的教程可以参考1、2。<br />　　那么socket read timed out异常又该如何模拟呢，我们怎么才能区分建立连接和数据传输这两个过程，tc工具还能满足我们的需求吗？在寻找问题答案的过程中，另一个linux内核组件iptables进入了我们的视野。<br />　　Iptables是linux系统中常用的防火墙组件，功能十分强大，网上有十分丰富的资料。由于其能够识别数据包中的syn、ack等标志位，故能把建立连接和后续的数据传输过程区分开来。<br />　　iptables -A INPUT -p tcp --src $IP --dport $PORT ! --syn -j DROP<br />　　如上，在目的机器上加入该条iptables规则，可以实现将未设置syn标志位的数据包丢弃的功能，这样连接能够建立完成但后续的数据传输将无响应。<br />　　另外，Iptables具有一种连接跟踪机制，即能够记录连接的状态。这些状态分别是NEW、ESTABLISHED、RELATED和INVALID。我们可以利用该特性实现相同的效果。<br />　　iptables -A INPUT -p tcp -m state --state ESTABLISHED -s $IP --dport $PORT -j DROP<br />　　如上，在目的机器上加入该条iptables规则，当匹配了ip和端口，并且数据包所对应的连接状态是ESTABLISHED时将其丢弃。<br />　　至此read timed out异常也能轻松模拟了。Tc和Iptables是linux网络模块中强有力的工具，除了能够利用它们开发功能，也能够在网络异常测试中发挥关键的作用。</p>
<p>51Testing软件测试论坛圣诞活动期待您的参与~ipadmini 惠普平板 京东购物卡等你来抢！</p>
<p>&nbsp;</p></a><img src ="http://www.cnitblog.com/shbwf/aggbug/89120.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-24 17:07 <a href="http://www.cnitblog.com/shbwf/articles/89120.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>测试与杀虫剂困境</title><link>http://www.cnitblog.com/shbwf/articles/89060.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Wed, 18 Dec 2013 08:42:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89060.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89060.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89060.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89060.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89060.html</trackback:ping><description><![CDATA[<p>读微软的软件测试之道，其中有一个有趣的小故事。讲得是主人公自己有个菜园，菜园里的植物面临着各种动物和昆虫的威胁，所以必须要找到某种防护措施来阻止包括野兔，害虫的侵扰，否则肯定会颗粒无收。主人经过分析，发现野兔对菜园的破坏其实并不大，最令人深恶痛绝的害虫是蛞蝓。<br />　　主人发现蛞蝓对啤酒很是偏爱，所以在菜园的土垛栅栏外通过啤酒陷阱能拦下这些害虫，另外还发现在栅栏外面撒盐也是击溃蛞蝓入侵的有效方法，木屑和蛋壳也是对付这些小贼的另一种途径。可是不管在菜园外围布下怎么样的天罗地网来捕捉和阻挡蛞蝓，一些漏网之徒还是会成功突破。<br />　　和菜园主人的蛞蝓阻击战十分类似，我们在实施一个以揭示潜在缺陷为目的的软件测试时，会采取各种手段和方法的搭配。富有经验的测试工程师会告诉你，没有任何一种单一的测试方法能够有效地揭示出所有种类的缺陷或对软件的能力做出完整的评估，这种困境被称为杀虫剂困境。杀虫剂困境这个术语来自Beizer的第一定律：&#8220;任何用以防止和发现缺陷的方法都会留下一些残余的，更为微妙的缺陷，而对于这些缺陷而言，前面的方法会统统失效。&#8221;本质上，没有任何一种单一的技术或者手段对于软件测试百试百灵。所以，增加测试方法的多样性，以及考虑从更多的视角审视软件，我们就更有可能发现更多潜在问题的同时，提高测试工作的有效性。<br />　　园艺工作确实很费神，也会遭遇到一些特别的挑战。但是刚看到家人品尝到美美的果实，你会觉得一切都是值得的。同样，软件测试工作是辛劳的，并且面临着很多特有的困难，但经过由一系列手段达成了其当的结果时，对于整个产品组的回报也是令人鼓舞的。更多内容请关注51testing软件测试网...</p><img src ="http://www.cnitblog.com/shbwf/aggbug/89060.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-18 16:42 <a href="http://www.cnitblog.com/shbwf/articles/89060.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java开发中常见的危险信号</title><link>http://www.cnitblog.com/shbwf/articles/89049.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Tue, 17 Dec 2013 05:36:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/89049.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/89049.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/89049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/89049.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/89049.html</trackback:ping><description><![CDATA[<p><br />Dustin Marx是一位专业软件开发者，从业已经有17年的时间，他拥有电子工程学士学位，还是一位MBA。Dustin维护着一个博客，专门介绍软件开发的各个主题。近日，他撰文谈到了Java开发中常见的危险信号，提出了在日常的Java开发中我们需要尽力避免的一些不正确的做法。 　　经过多年的开发、阅读、回顾并维护了数万行的Java代码后，我经常会看到Java代码中出现的某些&#8220;危险信号&#8221;，这些信号经常（但也许并不总是）暗示着代码出现了某些问题。我这里所要谈的并不是那些总是错误的实践，而是想要谈谈在某些场景下可能是恰当，但通常却会导致问题的一些实践。这些&#8220;危险信号&#8221;有时可能并没有问题，但却会造成问题的积累，并最终导致问题的产生。这里我总结出了一些&#8220;危险信号&#8221;，并且谈谈在哪些情况下他们是没有问题的，在哪些情况下则会导致问题。 　　这里将要谈及的很多&#8220;危险信号&#8221;通常都会收到来自于FindBugs等代码分析工具所发出的警告信息，流行的Java IDE也会将它们标记出来。不过，我发现有不少开发者会忽略掉这些来自于工具与IDE的警告信息，要么是因为他们关掉了提示信息，要么是出于自身的开发习惯或是不理解与这些警告信息所关联的风险，因此会忽略掉警告信息。 　　对引用使用==（而不是.equals） 　　很多Java开发者都知道使用==比较原生类型数据，使用.equals比较引用类型数据。这是一条很容易记住的简单原则，Java开发者这么用也没什么问题。有时使用==来比较标准的Java类型引用（String、Integer、Long等等）也没问题，不过这要取决于被缓存的值的大小，因此这么做并不是一个好的做法。有时，我们需要检查标识的相等性而不是内容的相等性，在这种情况下使用==来比较引用就很适合了。相对而言，我更喜欢Groovy的处理方式，==类似于.equals，而===则是更加严格地比较标识。同理，使用!=来比较两个引用也是一个&#8220;危险信号&#8221;，因为如果待比较的两个对象不共享相同的标识（内存地址），即便他们拥有相同的内容也总是会返回true。 　　对枚举使用.equals（而不是==） 　　坦率地说，对于枚举，Java开发者使用==还是.equals都没有太大关系。不过，我更倾向于对枚举使用==。这么做最重要的原因就是对枚举使用==可以防止不小心将枚举与不相关的对象进行比较（永远不会相等）。Object.equals(Object)方法可以接收任意对象，这意味着编译器并不会强制限定传进来的对象要与被比较的对象是相同的类型。一般来说，我更喜欢静态的编译期问题检测而非动态运行期的问题检测，对枚举使用==可以满足这个要求。同理，在比较枚举时，!=与!.equals也是一样的。 　　魔数与字符串字面值 　　我经常会在Java代码中看到有人使用&#8220;魔数&#8221;和字符串字面值。他们对于未来的维护来说是一种&#8220;危险信号&#8221;，让我十分怀疑应用的正确性。在单个位置处将其标识为常量（如果可能用枚举来表示更佳），这么做可以改善未来的维护，并且让我可以更加自信地相信使用这些值的所有代码都在使用着相同的值。除此之外，在一个地方定义好常量与枚举可以更方便地使用IDE的&#8220;查找使用&#8221;特性来找到所有使用这些常量的地方。 　　字符串常量 　　在看到有限的相关字符串常量时，我就在想使用枚举应该更加适合。对于高度内聚的字符串常量的情况来说更是如此，因为枚举可以更好地表达出这些字符串所表示的概念。相比于字符串常量来说，枚举提供了编译期的静态类型安全与潜在的性能优势。对于程序的正确性来说，编译期的安全是最吸引我的地方。 　　使用Java的&#8220;goto&#8221; 　　很少有人会使用标签代码，如果使用了那也说明用法不当。换句话说，如果使用了也是滥用而已。在大多数情况下，使用Java的&#8220;goto&#8221;会造成代码的可读性极差。 　　根据作用域来确定恰当的变量引用 　　我认为这种方式永远都是不恰当的，但它却能运行，甚至有时是被某些Java开发者有意而为之。比如说，Java开发者将传递进方法的变量在方法执行时指向了另一个引用。该变量（临时指向方法参数）指向了另一个引用，直到方法结束为止，这时它脱离了作用域。在这种情况下，在方法签名的参数定义前加上final关键字会导致编译器错误，这也是我喜欢在方法参数前加上final的原因之一。对于我来说，在方法中声明一个新的局部变量是更加清晰且可读的方式，因为它只能在方法中使用。更为重要的是，作为代码的读者，我不知道是开发者有意希望该参数名只是指向一个不同的值还是引入了Bug，因为将参数重新指向新的引用实际上会改变调用端的值。如果我看到有人这么写，那么我就会找代码的编写者或是通过单元测试来验证代码的意图。 　　equals(Object)与hashCode()方法的不匹配 　　虽然我认为每个Java类都应该重写toString()方法，但对于equals(Object)与hashCode()方法来说却并不这么认为。我觉得只有在需要这些方法的场合下才应该重写类中的这两个方法，因为他们的存在暗示着其设计与开发某种程度上的完全改变。特别地，equals与hashCode方法要能满足其意图与契约（位于Object类的API文档），并且需要保持一致。大多数IDE与分析工具都会在其中一个方法重写而另一个没有重写的情况下给出提示。然而，我要确保equals与hashCode使用的是相同的属性，并且在这两个方法中属性的顺序要保持一致.更多内容请关注51testing软件测试网<br /></p><img src ="http://www.cnitblog.com/shbwf/aggbug/89049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-17 13:36 <a href="http://www.cnitblog.com/shbwf/articles/89049.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>安全测试之认证授权</title><link>http://www.cnitblog.com/shbwf/articles/88913.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Fri, 06 Dec 2013 02:27:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/88913.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/88913.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/88913.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/88913.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/88913.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>在web安全中，认证授权又是每个人都熟知的，就像我们都应该设置一个高强度的密码，以免被猜测破解，实际上还包括更多内容。<br />　　1. 权限<br />　　在很多系统如CRM，ERP，OA中都有权限管理，其中的目的一个是为了管理公司内部人员的权限，另外一个就是避免人人都有权限而帐号泄漏后会对公司带来的负面影响。<br />　　权限一般分为2种：访问权限和操作权限。访问权限即是某个页面的权限，对于特定的一些页面只有特定的人员才能访问。而操作权限指的是页面中具体到某个行为，肉眼能看到的可能就是一个审核按钮或提交按钮。我之前接触过的一个SAAS平台的CRM系统就用到了访问权限和操作权限两种，而现在公司后台管理都是访问权限，当然访问权限实施起来更加方便快捷，也容易维护。<br />　　权限的处理方式可以分为2种：用户权限和组权限。设置多个组，不同的组设置不同的权限，而用户设置到不同的组中，那就继承了组的权限，这种方式就是组权限管理，一般都是使用这种方式管理。而用户权限管理则比较简单，对每个用户设置权限，而不是拉入某个组里面，但是灵活性不够强，用户多的时候就比较费劲了，每次都要设置很久的权限，而一部分用户权限是有共性的，所以组权限都是目前很通用的处理方式。<br />　　在权限方面，还包括了数据库的权限，网站管理的权限以及API/Service的权限。<br />　　DBA都需要控制好IDC的数据库权限，而不是将用户权限设置为*.*，需要建立专门供应用程序使用的帐号，并且需要对不同的数据库和不同的表赋予权限，专门供应用程序使用的帐号就不能进行更改表，更改数据库及删除操作，否则如果有SQL注入漏洞或程序有bug的话，黑客就能轻易连接到数据库获取更多的信息。因为DBA帐号除了可以更改数据库结构，数据，及配置之外，还可以通过LOAD DATA INFILE读取某个文件，相当于整台服务器都被控制了。<br />　　API可以分为private API和open API。那私有API一般是不希望外网访问的，如果架设在内网的话，最好使用内网IP来访问，如果是公网的话，最好设置一定的权限管理。Open API的权限就相对复杂很多，除了校验参数正确性，还需校验用户是否在白名单中，在白名单里的话还需校验用户对应的权限，有些时候还需要考虑是否要加密传输等等。<br />　　2. 密码猜测<br />　　以下哪种错误提示更加适合呢？<br />　　1）输入的用户名不正确<br />　　2）输入的密码不正确<br />　　3）输入的用户名或密码不正确<br />　　看到前面两种提示信息，我们获得了什么信息呢？用户名不正确那可以猜测到正确的用户名，当只是提示密码不正确的时候说明用户名正确了，这两种提示其实是在暗示用户正确输入了什么，哪个不正确。而第三种给出的提示就比较模糊，可能是用户名可能是密码错误。如果非要说前两种提示信息更准确更易于普通用户的话，就会给黑客们带来可乘之机，而第三种就没辙了，实在不知道到底是哪个错误了，难道增加不少。使用工具或批处理脚本来强制枚举破解的话也需要更多的时间。<br />　　弱密码你中枪了吗？<br />　　2011年11月22日，360安全中心发布了中国网民最常用的25个&#8220;弱密码&#8221;： 000000、111111、11111111、112233、123123、123321、123456、12345678、654321、666666、888888、abcdef、abcabc、abc123、a1b2c3、aaa111、123qwe、qwerty、qweasd、admin、password、passwd、iloveyou、5201314。别人给我使用过的管理帐号中就有设置这样的密码，非常危险。<br />　　那如何应对密码猜测攻击呢？一般有以下几种方案：1）超过错误次数帐户锁定；2）使用RSA/验证码；3）使用安全性高的密码策略。很多网站三种结合起来使用的。另外，在保存密码到数据库时也一定要检查是否经过严格的加密处理，不要再出现某天你的网站被暴库了结果还存的是明文密码。<br />　　3. 找回密码的安全性<br />　　最不安全的做法就是在邮件内容中发送明文新密码，一旦邮箱被盗，对应网站的帐号也会被盗；一般做法是邮件中发送修改密码链接，测试时就需要特别注意用户信息标识是否加密，加密方法以及是否易破解；还有一种就是修改时回答问题，问题回答正确才能进行修改，大名鼎鼎的QQ就是这么做的。据传，原来支付宝有个很严重的安全问题，就是完全可以通过手机号码找回登录密码和支付密码，会发送验证码到手机然后登录网页修改密码，有用户手机号码停机后，别人买了这个号然后登录了支付宝把钱转走了，现在支付宝找回登录密码时仍然可以通过手机号码找回，但是支付密码修改就需要手机短信和身份证件一起验证。不过我们很多人难免会在网络上留下手机号码的痕迹，聪明的善于挖掘汇总信息的人一定可以找到你的身份证号码，所以友情提示下：更换号码时一定要及时修改帐号关联的手机号码。</p><img src ="http://www.cnitblog.com/shbwf/aggbug/88913.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-06 10:27 <a href="http://www.cnitblog.com/shbwf/articles/88913.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>性能测试流程各阶段的工作</title><link>http://www.cnitblog.com/shbwf/articles/88854.html</link><dc:creator>51testing</dc:creator><author>51testing</author><pubDate>Mon, 02 Dec 2013 02:53:00 GMT</pubDate><guid>http://www.cnitblog.com/shbwf/articles/88854.html</guid><wfw:comment>http://www.cnitblog.com/shbwf/comments/88854.html</wfw:comment><comments>http://www.cnitblog.com/shbwf/articles/88854.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/shbwf/comments/commentRss/88854.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/shbwf/services/trackbacks/88854.html</trackback:ping><description><![CDATA[<p><font color="#000000" size="3" face="Times New Roman">　　<br />1.1 性能测试计划阶段<br />　　测试计划阶段主要工作如下：<br />　　1、明确测试对象<br />　　2、定义测试目标<br />　　3、定义测试通过的标准<br />　　4、规划测试进度<br />　　5、规划测试参与人员（需求、开发、测试、运维和配置）<br />　　6、申请测试资源<br />　　7、风险控制<br />　　1.2 性能测试设计阶段<br />　　测试设计阶段主要工作如下：<br />　　1、测试用例设计<br />　　2、测试方法设计（单场景和混合场景）<br />　　3、定义监控指标，如测试性能指标以及性能计数器等<br />　　1.3 性能测试实施阶段<br />　　测试实施阶段工作如下：<br />　　1、测试环境搭建<br />　　2、测试过程文档定义以及配置<br />　　3、测试脚本开发、调试<br />　　4、测试数据准备<br />　　5、基准测试<br />　　1.4 性能测试执行阶段<br />　　测试执行阶段工作如下：<br />　　1、执行测试用例模型，包括执行脚本和场景<br />　　2、测试过程监控，包括测试结果、记录性能指标和性能计数器的值<br />　　1.5 性能测试结果分析和报告阶段<br />　　&lt;一&gt;测试结果分析阶段工作如下：<br />　　1、根据测试结果、记录性能指标和性能计数器的值进行测试分析<br />　　2、根据性能测试目标规划，分析出系统存在的性能瓶颈，并给出优化建议<br />　　&lt;二&gt;测试报告的内容包括如下：<br />　　1、测试范围<br />　　2、测试执行以及参与人员<br />　　3、基准测试数据<br />　　4、测试执行的详细步骤（场景设计）<br />　　5、测试数据记录、性能指标以及性能计数器的值（有效的）<br />　　6、测试结果对比以及总结性评价<br />&nbsp;&nbsp;&nbsp;&nbsp; 更多精彩文章请上51Testing软件测试网查看</font></p>
<p><font color="#000000" size="3" face="Times New Roman"><br /></font>&nbsp;</p><img src ="http://www.cnitblog.com/shbwf/aggbug/88854.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/shbwf/" target="_blank">51testing</a> 2013-12-02 10:53 <a href="http://www.cnitblog.com/shbwf/articles/88854.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>