开发人员,你该如何做自测,做设计?-阿里云开发者社区

开发者社区> 云计算> 正文
登录阅读全文

开发人员,你该如何做自测,做设计?

简介:

本文是最近为公司所做的两篇总计之一。主旨是为公司的开发人员提供一些做自测,界面设计时的思路。

  关于开发人员自测

  开发人员做好自测,是非常必要和也是大趋势。Google公司里面,纯粹的测试人员是很少的,前期都是开发自测(包含必要的测试),后期才是用户体验方面的测试;从成本上分析,BUG越晚发现修复成本越高;从修改的效率来讲,越早处理会越快。另外,写出高质量的代码,是能力的体现,专业的体现,自身价值的体现。

  开发人员自测的困难

  就我自己接触到开发人员来看,一般会遇到下面这些困难:时间、进度太紧(也许是由于潜意识里任务完成后满足感驱使的);对自己的代码过于自信;认为测试是测试人员的责任;不知道如何有效的自测。

  思维上

  从上面的困难看来,思维上应该先需要转变下。

  ● 代码质量、项目质量都是自己的责任,提交代码到代码库里,提交版本给测试给客户,都应是经过自己测试的。否则拿出去东西影响其他人的工作,影响客户眼中的印象和满意度,这样带来的危害更大。

  ● 代码达没有达到效果,健不健壮,不试试,那怎么知道?凭感觉那是不靠谱,实践是检验真理的唯一标准。

  为什么开发人员不忍尝试破坏自己的成果了?为什么不能让自己的成果更加健壮?否则就相当于在溺爱自己的孩子。

  测试世界的基本思想

  ● 测试与开发人员思考角度最大不同就是一个破坏软件,一个建造软件。所以想要测试,就应该是考虑怎样才使软件出了点问题?

  ● 对于任何功能都有基本流和备选流,或者说正面情况和反面情况。这些情况都应该是要需要去测试的。那如何选择测试的数据和路径?

  ● 有一个重要的概念叫做“等价类划分”,大致可以这样理解,由于测试数据和测试路径理论上讲是无穷尽的,那么就需要对这些数据和路径进行分类,哪些能走到正常情况,哪些能走到异常情况。再从各个分类里面选一些出来完成测试即可,这样覆盖率就会更高,同时测试起来更快。

  ● 数据选择,选一组正常数据(符合规定,用户可能真正会用到的);选几组异常数据(特殊符号,不支持,长度大,空的,会触发特殊逻辑的)。

  ● 路径/场景选择,选一两组最普通的、最直接的、用户最有可能的完成功能的;选几组复杂一点、多次操作、间接完成功能的。

  习惯上

  改变习惯是非常困难的,坚持完成一个功能就测一个功能(真正带点测试思路去测);公司推行的规范,Checklist,Code Analysis或者自己总结出来的自测列表等等,也要坚持定期自己检查检查,再认真对待、改进结果。

  多总结、反思自己的所犯的问题,这样才能有所提高。测试会帮助你的思维变得更加全面和周到。

 关于用户体验

  界面设计、动作交互设计、用户体验,这块的重要性应该不需要进一步阐述了吧。

  这里也是从思路上简单讲讲怎么考虑用户体验:

  ● 首先是学习。一般来讲,我们做的东西都不是全球第一,全球首款。那么我们在做东西前,可以学习下模仿下前人已经做出来的效果(切忌只关心功能)。

  比如,界面布局;页面 margin,页面中主体的对齐、留白;字体大小、粗细的使用;

  其实看到的一切都是可以关注的。

  ● 平时还可以对自己使用软件和网站进行观察和体会,看看他们做得好的是在具体怎么做。

  比如,操作成功、失败的提示怎么表现;注册流程、购物车流程、是怎么进行的;日历控件、向导控件是怎么在用;图片库、视频库怎么放置的,怎么播放的。

  ● 当我们真正要做的时候,还可以看看那些规范、指南。看看其他人都建议怎么做,建议避免那些效果。

  ● 最后,我们做的时间,在界面设计上尽量风格统一(按钮大小、颜色,边距,Grid,表单设计等),动作交互设计上尽量和主流的效果一致(如何给出提示信息,如何弹出层,如何做表单的验证)。

  关于持续学习和追求精益求精

  也是就我自己接触到开发人员来看,很少人会在做之前或者做的过程中,跳出来暂别任务,看看工作任务的技术有没有什么最佳实践有没有其他方案,或者和能力更强的开发人员进行讨论和交流。很多人都喜欢过分独立的解决问题,但问题就来了,一个方面是时间的消耗,另一个方面是容易闭门造车。

  另一现象是很多人对其他的人建议反馈或者提出的问题,比较随便,怀着防备的心情,戴着有色眼镜,没有认真考虑和对待,没有考虑是不是自己真的没有做好,真的有问题。

  当然这些不是完成任务的必需品,但是我以为这些方面却是一个人成长或者成就的基础。

  想要提高,这是你自己的责任,就该想想怎么去解决。态度决定一切,追求卓越。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

其他文章
最新文章
相关文章