今天我从读者那里得到了一个非常有趣的问题,在公司里,也就是现实环境中,测试工作是如何开展的呢?那些刚从大学出来开始找工作的同学经常有这样的好奇心,好奇在公司这样实际的环境中测试工作是怎样进行的呢?
在本文中,我的重点将放在公司里面的软件测试过程上面。由于从事软件测试职业,日复一日的进行着测试活动,到目前为止我拥有丰富的软件测试的经验。在这里我会试着分享一些更为实际的信息而不是理论的知识。
当我们开始任何新的项目时,都会有一个初始的项目熟悉会议。在这个会议上,我们一般都会讨论一下客户是谁,项目的持续周期以及何时交付,谁是项目的总负责人,也就是项目经理,谁担任技术主管、质量保证主管、开发、测试等等。
项目的计划是根据SRS(项目需求规范)建立起来。测试人员的主要职责是根据SRS和项目计划设计软件测试用例。开发人员从设计开始编码。项目工作被分割为不同的模块,这些模块被分发到开发人员之间。同时,测试人员要负责配置测试环境并依据分配的模块编写测试用例。我们试图利用SRS来设计覆盖几乎所有的功能点的测试用例。在这个过程中可以使用一些excel测试用例模板或者缺陷追踪工具来手动的维护数据。
当开发人员完成了单个模块的设计后,这些模块就会被分配给测试人员。测试人员将会在这些模块上面进行冒烟测试,如果模块未通过测试,则会将它们分配给相应的开发人员进行修复。对于那些通过冒烟测试的模块,将会依照书面的测试用例对它们展开手动测试。在这个过程中如果发现了任何缺陷,这个模块将会被分配给模块开发人员进行修复,同时测试人员登录缺陷跟踪工具对发现的缺陷进行记录。测试人员在缺陷修复测试仪上进行缺陷的确认及所有相关模块的回归测试。如果缺陷通过了验证后,会标记为已验证和已关闭,如果没有通过验证,那么上述提到的缺陷周期将会重复进行(缺陷的生命周期将在其他的文章中进行说明)。首先在单个的模块上执行不同的测试,然后在集成的模块上进行集成测试。这些测试包含了兼容性测试,比如说使用不同的硬件,不同版本的操作系统,软件平台,不同的浏览器等等。同时还要通过SRS进行压力测试和负载测试。最后,将会搭建一个虚拟的客户环境进行系统测试。当软件通过了所有的这些测试用例,测试报告就形成了,也是时候下决定发布产品了。
以下是一个项目生命周期过程的简单描述。
这是根据IEEE和ISO标准写出的在每一个软件质量和测试生命周期中进行的测试活动的详细步骤:
1) 回顾软件的需求文档
2) 设定主要版本的目标
制定详细的项目计划。这个详细的项目计划包含了设计规范
测试计划:测试计划包含了测试的目标和测试使用的方法,功能测试点和非功能测试点,测试风险标准,测试日程安排,多平台支持和测试的资源配置。
测试规范文档包含的技术细节(软件需求)需要在测试前给出
1) 冒烟(BVT)测试用例
2) 理智的测试用例
3) 回归测试用例
4) 负面的测试用例
5) 扩展的测试用例
6) 开发-分模块的开发方式
7) 安装程序绑定:安装程序是依据每个独立的产品构建的
1) 一个构建包含安装多平台的可用产品
2) 测试
3) 冒烟测试(BVT)是一种基本的应用程序测试,它决定了进一步的测试方向
4) 新功能的测试
5) 跨平台的测试
6) 压力测试以和内存泄露测试
1) 创建缺陷报告
2) 开发-代码冻结
3) 在某个节点上不增加新的功能
4) 测试
5) 构建和回归测试
6) 决定发布版本
7) 长期对象发布后的场景
参与调查,与51Testing一起总结2016!