找到一篇不错的关于微软测试工作性质的文章,对工作角色的认识有一定的帮助,我就是SDET,属于开发和测试中间的那种,并不像自己想象的那种没有什么技术含量的黑盒测试,对SDET的要求还是挺高的,做好这种白盒测试,仍然要加紧自己在开发能力的培养,才能较快的发现代码中的问题。
1. 基本情况
测试在微软公司是一项非常重要的工作,微软公司在此方面的投入是非常巨大的。微软对测试的重视表现在工程开发队伍的人员构成上,微软的项目经理、软件开发人员和测试人员的比例基本是1:3:3或1:4:4,可以看出开发人员与测试人员的比例是1:1。对于测试的重视还表现在最后产品要发布的时候,此产品的所有相关部门都必须签字,而测试人员则具有绝对的否决权。
测试人员中分成两种职位,Software Development Engineer in Test(测试组的软件开发工程师)实际上还是属于开发人员,他们具备编写代码的能力和开发工具软件的经验,侧重于开发自动化测试工具和测试脚本,实现测试的自动化。Software Test Engineer(软件测试工程师)具体负责测试软件产品,主要完成一些手工测试以及安装配置测试。
2. 测试计划
测试计划是测试人员管理测试项目,在软件中寻找Bug的一种有效的工具。测试计划主要有两个作用,一是评判团队的测试覆盖率以及效率,让测试工作很有条理的逐步展开。二是有利于与项目经理、开发人员进行沟通。有了测试计划之后,他们就能够知道你是如何开展测试工作的,他们也会从中提出很多有益的意见,确保测试工作顺利进行。总之,有了测试计划可以更好的完成测试工作,确保用户的满意度。
测试人员在编写测试计划之前,应获得以下文档:
1)程序经理编写的产品功能说明书或产品开发计划;
2)程序经理或开发人员提供的开发进度表。
根据产品的特性及开发进度安排,测试人员制定具体的测试计划。测试计划通常包括以下内容:
1)测试目标和发布条件:
a. 给出清晰的测试目标描述;
b. 定义产品的发布条件,即在达到何种测试目标的前提下才可以发布产品的某个特定版本。
2)待测产品范围:
a. 软件主要特性/功能说明,即待测软件主要特性的列表;
b. 特性/功能测试一览,应涵盖所有特性、对话框、菜单和错误信息等待测内容,并列举每个测试范围内要重点考虑的关键功能。
3)测试方法描述:
a. 定义测试软件产品时使用的测试方法;
b. 描述每一种特定的测试方法可以覆盖哪些测试范围。
4)测试进度表:
a. 定义测试里程碑;
b. 定义当前里程碑的详细测试进度。
5)测试资源和相关的程序经理/开发工程师:
a. 定义参与测试的人员;
b. 描述每位测试人员的职责范围;
c. 给出与测试有关的程序经理/开发工程师的相关信息。
6)配置范围和测试工具:
a. 给出测试时使用的所有计算机平台列表;
b. 描述测试覆盖了哪些硬件设备;
c. 测试时使用的主要测试工具。
此外,还应列出测试中可能会面临的风险及测试的依赖性,即测试是否依赖于某个产品或某个团队。比如此项测试依赖性WindowsCE这个操作系统,而这个系统要明年2月份才能做好,那么此项测试就可能只有在明年5月份才能完成,这样就存在着依赖关系。如果那个团队的开发计划往后推,则此项测试也会被推迟。