阅读:10345回复:0
软件测试经验分享
在软件项目实施过程中,软件测试工作看似占用的比重不高,但是却贯穿整个项目生命周期。结合在现场的项目实施经验,给大家分享下功能测试的一些经验,希望对大家的工作有帮助。
1、常见的软件测试方法。 从方法学的角度看,分析问题和解决问题的方法有两种:白盒方法和黑盒方法。所谓白盒方法就是能够看清楚事物的内部,即了解事物的内部结构和运行机制,通过剖析事物的内部结构和运行机制,来处理和解决问题。所谓黑盒方法就是没有办法或不去了解事物的内部结构和运行机制,而把事物看成一个整体——黑盒子,通过分析事物的输入、输出、周边条件来分析和处理问题。 2、项目人员通常采用的测试方法。 我们开发人员在需求内容很明确的情况下,编写代码的处理逻辑是非常清晰的,已知产品的内部工作过程,清楚最终输出软件产品的计算机程序结构及其语句,按照程序内部的结构测试程序,测试程序内部的变量状态、逻辑结构、运行路径等。开发人员一般对于白盒测试能很好的执行,并且执行结果较为理想。 3、现状分析及经验分享。 但是在现场的实际实施过程中,我们发现交付过来的代码部署上服务器,给客户方负责人交流演示时,会出现各种各样的状况,比如兼容性问题,异常数据抛错未提示、网页中出现业务相关的错别字等等,这些问题层出不穷,引起客户的极大不满,吐槽我们工作不仔细。那么,我们开发人员已经进行了白盒测试,为什么还会出现这么多让客户不满意的小问题,引起大麻烦呢? 其实,分析根本原因有以下三点:1)呆在公司总部开发,不能及时适应现场的需求灵活性变化;2)没有详细的测试用例及测试计划;3)对于业务性内容了解不够。 下面我就结合近期实施的‘枸杞气象为农服务大数据共享平台’项目,给大家重点分享下关于软件测试相关的经验,其他内容后续再讨论。 我们功能测试也就是软件理论学习中所说的‘黑盒测试’。从理论上角度讲,黑盒测试用例设计7方法:等价类划分法、边界值分析法、判定表方法、因果图法、正交实验法、功能图法、错误推测法。通俗的讲,就是只从业务使用角度去分析用户的所有可能存在的行为方式,测试重点包括:1)是否有功能遗漏或者逻辑错误;2)是否能正确地接受输入数据,能否产生正确的输出信息;3)功能操作逻辑是否合理;4)界面是否出错,是否不美观; 5)系统初始化问题等等。
2)在列表中罗列出每个模块所涉及到的功能点; 3)梳理功能点过程中,需要从业务人员使用角度考虑使用可视化界面的一些习惯,比如观测数据变化趋势图,(我们从开发角度,时间轴向左蔓延或者向右蔓延都是正确展示形式,但是从用户使用角度,汇报材料中一般是从左向右看时间变化。) 4) 根据功能模块及罗列的功能点,结合上述的黑盒测试方法,在excel中编写详细的测试用例,格式如下: 图片:软件测试用例模板.png 该内容最好是在excel中编辑,并记录最终的执行结果,便于后续验收时作为验收文档,提供给客户参考依据。
图片:首页-综合观测.png 在做了功能点梳理及数据情况梳理的基础下,我们就能够清晰明了的通过三方面来设计我们的测试计划及测试用例。 1)初始化界面,术语有无错别字; 2)针对每个功能点,编写正常及异常情况下的输入输出数据,需结合具体测试方法,覆盖全面。比如‘时间’条件,我们使用边界值分析法,系统默认只存储半年数据,如果客户选择超出半年范围,展示数据时,是否给出预期的友好性提示。 3)功能点用例编制完毕,就需要从业务角度进行更深层次的分析测试。例如展示的要素字段,并非所有设计的字段都有观测数据,我们在首页展示出来,查询不出数据,会误导客户以为是系统bug。针对该问题,反馈给甲方负责人,并给客户建议隐藏起无观测数据的字段(需求阶段未考虑到的),在客户采纳我们意见的情况下,就需要结合前期的准备工作,来开展测试检查工作,并形成问题记录及修改意见,截图说明。
以上内容是我们在现场实际执行测试工作中所遇到的问题及经验教训,希望在公司总部的同事能够更加重视测试的出场工作,不止做好正常逻辑的测试工作,还应该注重业务了解,开发时从逻辑角度出发,测试时更要结合合适的测试方法,全面覆盖客户的头脑风暴,避免客户在不了解开发人员逻辑的情况下,操作出异常界面。 |
|