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

简介:

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

  关于开发人员自测

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

  开发人员自测的困难

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

  思维上

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

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

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

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

  测试世界的基本思想

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

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

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

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

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

  习惯上

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

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

 关于用户体验

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

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

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

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

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

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

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

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

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

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

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

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

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

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








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



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

目录
相关文章
|
2月前
|
中间件 测试技术 数据库
开发人员之软件开发流程八个步骤
软件开发流程是指软件开发设计的一般流程,包括软件的总体结构、模块的组成、功能的设计、程序的编译、调试、联调、测试等过程。
194 2
|
3月前
|
测试技术 C# 开发者
“代码守护者:详解WPF开发中的单元测试策略与实践——从选择测试框架到编写模拟对象,全方位保障你的应用程序质量”
【8月更文挑战第31天】单元测试是确保软件质量的关键实践,尤其在复杂的WPF应用中更为重要。通过为每个小模块编写独立测试用例,可以验证代码的功能正确性并在早期发现错误。本文将介绍如何在WPF项目中引入单元测试,并通过具体示例演示其实施过程。首先选择合适的测试框架如NUnit或xUnit.net,并利用Moq模拟框架隔离外部依赖。接着,通过一个简单的WPF应用程序示例,展示如何模拟`IUserRepository`接口并验证`MainViewModel`加载用户数据的正确性。这有助于确保代码质量和未来的重构与扩展。
72 0
|
3月前
|
监控 安全 测试技术
测试与开发问题之为什么测试开发工程师需要有安全生产意识,文档编写能力对于测试开发工程师的重要性如何理解
测试与开发问题之为什么测试开发工程师需要有安全生产意识,文档编写能力对于测试开发工程师的重要性如何理解
|
4月前
|
测试技术 数据库 开发者
开发与运维测试问题之高代码覆盖率意味着高代码质量如何解决
开发与运维测试问题之高代码覆盖率意味着高代码质量如何解决
|
4月前
|
测试技术 开发者 运维
开发与运维测试问题之单元测试过程如何解决
开发与运维测试问题之单元测试过程如何解决
|
6月前
|
搜索推荐 JavaScript Java
项目开发过程中实际遇到的几个问题处理
项目开发过程中实际遇到的几个问题处理
155 2
|
6月前
|
测试技术 BI
如何做好测试工作
如何做好测试工作
|
测试技术
嵌入式软件测试笔记9 | 嵌入式软件测试中如何做好评审工作?
嵌入式软件测试笔记9 | 嵌入式软件测试中如何做好评审工作?
134 0
|
敏捷开发 监控 安全
测试思想-测试流程 测试流程简述
测试思想-测试流程 测试流程简述
295 0
|
测试技术
测试思想-测试流程 需求开发与管理简述
测试思想-测试流程 需求开发与管理简述
94 0
测试思想-测试流程 需求开发与管理简述
下一篇
无影云桌面