设计软件测试用例的思考

   软件测试作为保证软件项目产品的品质的关键环节,已经逐步的在软件开发领域发展成为一个独立的专业,并且越来越受到业内的关注和认可。测试用例作为检验项目品质的标准,需要在测试测试环境、测试数据、测试方法、测试结果等方面进严谨科学的分析和设计,以保证测试的覆盖率、有效率等指标。测试不是开发人员简单的Dubeg过程,也不应该是简单画面点击确认过程,它是在测试用例的指导下,独立于编码思维之外的缺陷查找过程。
    设计测试用例时,通常要涵盖以下几方面的内容。
    一,运行环境。运行环境包含了本系统外部环境和内部环境,外部环境通常是指操作系统、网络、其他相关协作系统等,外部环境一般作为测试的基本前提条件设计,它不但要满足整个系统不同功能的测试要求,同时需要模拟用户最终使用环境;内部环境通常指本系统内个功能模块间的协同作业环境,在模块功能测试时,需要考虑依赖模块间的协作性是否具备。
    二,数据环境。如果把一个软件系统比作一个工厂的话,那么数据就是这个工厂运行中所需要的各种原材料和生产的产品,数据在软件运行过程中被消费和产生。数据分为静态数据和动态数据。静态数据通常是不跟随数据实体变化的,也就是说在不同的时间、环境中这部分数据一旦确定,就不会发生变化,在测试数据设计时,对于这部分数据的考虑相对简单一些,主要考查其完整性和正确性就可以了。动态数据是用来描述数据实体在不同时间和环境中特定的状态的,它可能同时具有一种或多种状态,在测试数据设计要充分考虑每一种状态,以及每种状态可能给系统带来的运行结果,对于具有复合状态的测试数据的设计是非常复杂的。
    三,性能要求。软件项目的性能测试往往被安排在最后进行,这种安排固然可行,但各项性能指标一定要在项目初期确定,并且在开发过程中根据具体情况不断修正。不能把性能问题放到最后来解决,如果这样,常常会带来灾难性的结果。在项目初期确定性能指标的好处是,在开发过程中一旦发现行能问题,可以及时寻找对策加以解决。项目的工期不能成为性能问题延期解决的借口,如果不及时加以解决,会给我们后续的开发、测试带来严重的效率问题。
    四,UI接口(User Interface)。UI接口通常是用户使用系统的直接对象,我们要在尊重用户的操作习惯的前提下,遵循操作简单、易懂的原则,与用户和开发人员进行充分沟通的基础上,进行测试用例的设计。
    五,功能模块接口。功能模块接口通常是功能的边界点,功能交替时往往伴随着数据和执行环境的变化,这时的测试用例不仅要关注模块交替时系统是否能够正确运行,同时还要关注数据在流动过程中,静态数据是否保持了正确性、完整性,动态数据的状态变化是否与预期结果一致。在复杂接口的测试用例设计是,经常会给测试用例的设计带来难以想象的难度,这种难度主要来源于接口中复杂数据结构的应用,因此在设计测试用例时,一定要充分理解接口中的数据结构。
     前面提到,软件测试是独立于编码思维之外的缺陷查找过程,但是它不能独立于开发过程,它不但要作为开发过程中的一个重要环节,同时最好贯穿于开发过程始末,用测试驱动开发。
posted @ 2008-11-30 11:11  andriod2012  阅读(125)  评论(0编辑  收藏  举报