截然不同,前者是建设性的而后者是破坏性的,就一般人的心理而言,要破坏自己亲手建立的东西是比较困难的。测试人员要有‘鸡蛋里面挑骨头”的精神
3)要设计非法输入的测试用例,要特别注意一个程序不仅能在合法输入时正确执行,而且在非法输入时能给出提示并拒绝执行,更不能潜伏其他隐患。
4)对程序修改之后要进行回归测试,对程序的任何修改都可能引入新的错误,所以必须用以前测试的用例进行回归测试,这有助于发现由于修改程序而带来新的错误。
5)在进行深入测试时,要集中测试容易出错的模块,例如,笔者在对DACI系统Y2K问题测试中发现,几乎所有的日期问题都与系统底层的H期函数有关。
6)设计测试用例时要注意科学合理选择数据,尽量保证程序中所有的语句至少要执行一次,每个判断至少要获得一次“真”和“假”的值,每个条件能获得各种不同的结果,各种判断中的各种条件的各种不同的组合都至少能出现一次,要特别注意对临界值的测试。
7)测试应包括单项测试(逐个模块分调)、整体测试(各功能模块组合在一起联调)、有效性测试(软件的功能与用户的需求是否一致)、系统测试(软件在与其他系统元素如硬件、网络、其他业务系统等结合在一起综合测试)。
8)基本测试完成后应加大程序的负载,进行压力测试,检测系统的承载能力。可采取试运行或试点的办法,试运行期间一定要作好“人机并行”或“双机并行”,并注意收集试运行中出现的各种问题。特别需要指出的是大型软件必须要经过压力测试才能正式投产,而现在有些软件开发项目为了赶进度,往往把这一步给忽略.『‘其实这一步是很重要的,尤其是对一些跨区域、采用大集中方式处理的软件系统来说更是如此。在实际工作中可以将‘白盒法”和‘黑盒法”结合运用,选取测试一些数量有限的重要逻辑路径,并对一些重要的数据结构的正确性进行完全检查,以保证程序接口和内部逻辑的正确性。测试是一项非常复杂的、创造性的、需要高度智慧和丰富经验的工作,一个好的测试用例有可能发现至今尚未发现的错误,而一次成功的测试是发现了至今尚未发现的错误的测试。经过严格测试的软件系统要填写详细的测试报告,并经上级领导授权后方可交付使用。
3结语
需要指出的是,所有的测试并不可能是完全测试,通常只能证明程序有错,而不能证明程序无错。金融系统中,很多软件系统都是在实际生产中不断发现问题而得到逐步完善的,这也是软件有不同版本和补丁的原因。另外,我国的软件测试业还存在着测试手段和测试工具匮乏、专业测试队伍特别是行业人才奇缺的问题,因此,对于已投人生产的软件系统,仍要进行版本跟踪,并结合业务的变更和技术的发展不断修改、排错、升级、扩充、完善,只有这样,我们的软件系统才经得起时间的考验,才能提高我国金融行业的信息安全保护水平。