在学术家族树beta版本中,我们将重视软件开发中的测试。

  OBJECTIVE

  我们的目标呢,是经过测试之后软件的质量得到有效的保证,在已经考虑到的所有场面都可以“Hold住”。

  As much as I concern,

  1、所有设计中的功能都能实现
  2、代码经过review
  3、用户界面经过用户的试用
  4、系统的反应时间可以忍受
  5、发现的bug或者都已解决,或者下一个iteration解决
  6、各种极端情况都可以Handle
  7、数据可靠
  8、Last but not least, 不存在版权问题

  下面我们详细说一下各个部分。

  1、所有设计中的功能都能实现

  UI在开发之前是有设计蓝图的,所以具体应该实现什么功能是非常确定的,这个也比较方便检查。UI开发人员在完成开发的时候可以确定这些功能是否都已实现。为了减少差错,可以再由测试人员进行double check。原始的用户也可以报告bug。

  2、代码经过review

  为了提高代码质量,review是非常有必要的。既是对代码的double check,也验证了写出的代码确实能够比较容易地被今后的维护人员读懂。

  3、用户界面经过用户的试用

  这个在1中已经阐述。

  值得提出的一件事是,关于国际化(Internationalization的测试),即使保证我们的产品也可以被全世界的用户可以方便使用。除了界面的文字语言问题,还涉及到东西放思维差异等等。

  比较幸运的是,我们的开发人员中有一位欧洲瑞士的同学,我们的Daily Scrum也是使用英语的。从而使得我们的产品和国际化并不遥远。为了保证这方面的质量,还可以找一些国际友人来进行使用并反馈。

  4、系统的反应时间可以忍受

  在去年的一个版本中,查询和反应时间非常缓慢,到了一种难以忍受的情况。

  所以今年我们要格外重视这方面的情况。

  具体在做好了之后,我们会在不同的网络环境(公司内部、北京市电信网络、美国雷德蒙德总部网络、安徽合肥中科大教育网络)进行使用测试,确保我们的反应时间得到用户满意的迅捷成都。

  5、发现的bug或者都已解决,或者下一个iteration解决

  测试的阶段不可避免要发现很多bug,发现bug多不是坏事,发现的少也不一定是好事。

  关键的是,尽可能暴露出所有存在的问题,并且尽我们大的努力进行改进,fix the bug.

  6、各种极端情况都可以Handle

  各种边界条件往往是出问题的地方。

  在我们beta版本上周刚刚demo,在准备数据的过程中我们特意准备了各种极端条件的数据。

  比如说:

  A)老师数量为0, 或学生数量为0

  B)老师数量多(4), 学生数量多(79)

  C)还有学生分属很多不同的工作机构的情况

  确保我们的系统在不同情况下都可以得到一个比较美观、可靠的界面。

  7、数据可靠

  我们所挖掘到的师生关系对是需要经过验证的。

  暂时由于数量庞大,而我们人员有限,往往采用抽样人工验证的方法。

  在条件具备的情况,我们会编写脚本、测试程序等对关心的内容进行机器验证。

  8、Last but not least, 不存在版权问题

  确保我们的代码都是原创,或者没有使用本公司外的代码。