我们的 敏捷项目管理工具和平台: 为支持敏捷开发流程,公司内部建设了有效的支持工具和平台:
1.使用
Linux Subversion Server 和
TortoiseSVN 客户端 版本进行日常版本管理
2.使用
Trac的Ticket工具进行任务和Bug跟踪
3.使用
Trac的Milestone工具进行发布、里程碑和迭代管理
4.使用
Trac的Wiki进行团队信息共享和项目需求、规格管理
质量控制 在项目的开发、交付过程中,每次的里程碑的达到都由测试的全部通过来决定,根据项目的具体特性和客户的需求,我们灵活采用如下测试组合保证最终的交付达到交付规格要求:
单元测试:目的是确保代码模块单元所完成的功能在任何变化时都是正确的。
验收测试(或叫接受性测试):用于确保具体的功能是否正常工作。特别地,验收测试是一个具体的客户场景,用于完成用户所期望的功能。
UI测试:一般包括一些页面流,提供已知输入并把得到的结果和期望的结果进行对照。
可用性测试:做为“make-or-break”的验收条件性能测试:对于很多应用来说,运行一套测试来确保多个非功能度量要求得到满足是非常关键的
“Smoke”测试:不可缺少的一小撮关键测试,用于确保基本的构建功能正常运行。 Test Harness: 对于粗粒度的功能(特别是对于验收测试和主要的系统场景)进行制度化地测试来,根据捕获的用户输入、正确的输出建立一个TestHarness并使其自动 化。每个捕获的测试用例都 被加入到测试数据库中,并与后面的回归测试相配合。
自动化压力测试“机器人”:对于分层式的架构设计,且各层之间较为有清晰的界线,可以构建一些自动化的测试“机器人”。可以执 行针对某一层来建立自己的测试,并让它重复执行(UI这一层的部分测试,使用工具也可以做到)。
手工测试:被认为一定要用手工才能对系统的某个方面进行测试的那部分内容。让测试人员集中精力于那些很难进行自动化测试的复杂的部分。
运行于构建服务器上的所有测试结果都应该以某种总结式的结果描述呈现出来,并可以根据需要对总结进行钻取(drilldown),在 Wiki上使用一个特别的位置来显示当前的构建结果。当新一轮的构建完成以后,自 动创建需要修改的Bug列表。我们采用工具帮助我们来实现这个发布过程。