1. 什么是软件预测试?
背景:软件产品转入到测试部门开始系统测试的时候,测试人员经常发现,软件产品的主要功能存在缺陷,导致大批的软件测试用例无法正常执行。严重影响和软件测试的效率和进度。
预测试的概念:当软件产品转入到软件测试部门开始系统测试之前,开展软件预测试,由软件测试人员验证被测试软件的基本功能是否正常,从而保证系统测试不会由于软件基本功能的缺陷而挂起。软件预测试是软件测试可以正常进行的一种保证手段。
2. 软件预测试的必要性,何种软件项目和软件产品需要软件预测试?
必要性:软件预测试在软件产品开发测试流程中,是必不可少的一个环节,如果,缺少了软件预测试环节很可能导致软件测试被异常挂起。
软件预测试适用于哪些软件项目:软件企业只要有独立的软件开发部门和软件测试部门,就应该由软件预测试的环节,与软件项目类型没有必然联系。
3. 软件预测试的基本流程,参与预测试的人员角色划分、预测试阶段划分等等
(1) 由软件测试人员根据配置管理员发布的最新版本报告,到配置管理库上获取被测试版本的代码。
(2) 软件测试人员在编译环境上编译代码,如果代码编译通过,继续下一步,否则版本被返回,由软件开发人员修改相关问题,重新发布版本。
(3) 用版本库上提供的被测试软件安装包,在软件测试环境上开始基本功能测试。如果基本功能未通过测试,由开发人员修改相关问题,重新发布版本。
(4) 软件预测试还需要查验开发软件提供的相关文档,比如开发人员的版本验证报告、用户说明书、操作手册等等。
4. 软件预测试中的支撑工具,包括自动化测试执行工具和管理工具
当软件版本发布比较频繁,需要频繁的做软件预测试,并且需要测试的基本功能变化不大的情况下,可以引入自动化测试工具,对软件的基本功能开展可重用的预测试过程。具体的软件自动化测试工具根据软件项目的需要而定,比如采用winrunner、loadrunner等等测试工具。
5. 不同软件企业类型,如何根据企业具体情况完成预测试环节
不同的软件企业可以把开发人员的版本发布前的验证活动和发布后的预测试活动结合起来,把版本代码获取、编译、安装包的制作、软件测试执行、软件测试报告自动生成、软件测试结果自动通知结合起来。生成一套完整的软件预测试自动化流程。实现软件预测试全流程的自动化。
6. 自动化测试在预测试中的应用对代码每日构造的借鉴意义
每日构造:开发人员对每天编写的代码进行编译、测试,保证软件产品每天都处于可运行的状态。避免在开发项目最后阶段,才开始调试,导致问题大量积累,影响版本正常发布。
每日构造的问题:
(1) 每日构造需要投入比较多的人力,这样会影响开发进度。
(2) 每日构造需要投入大量的工作时间,这样也会影响开发进度。
如果实现了软件预测试的全流程自动化,对于代码每日重构具有很大的借鉴意义:
(1) 代码每日构造实现了自动化,可以在每天开发人员下班后,开始软件自动化构造。
(2) 开发人员无须投入大量的人力开发每日构造的自动化测试系统,该系统可以由软件测试人员完成。
(3) 代码每日构造实现了自动化后,当发布版本的时候,只要提供最新的一份每日构造自动化测试的报告,软件测试人员就可以给出预测试结果,因此,这种情况下,预测试缓解可以省略。
(4) 省略预测试环节后,在一定程度上,缩短了软件测试的时间,提高了效率。