软件测试已经逐步被许多企业所重视,软件测试在产品中占有很重要的地位,关系到产品的使用操作及稳定性,一个软件产品的BUG率直接关系到软件产品的质量,通过对软件的测试来完善软件功能,提高软件产品的质量。软件测试除了对软件需求功能进行测试后,还需要对可能遇到的误操作、大数据量存储、连续操作等方面进行测试,力求使软件更全面,更可靠,保证软件的正常使用。本文从实际测试入手,介绍自己工作中进行软件产品测试的方法及思路,对测试方法及策略进行总结分析。
关键词:软件测试 完整性测试 健壮性测试 容错性测试、边缘化测试
正文:
随着IT技术的快速发展,软件产品经历了突飞猛进的发展,各类软件层出不穷,逐步进入寻常百姓家,大到一套完整的控制系统,小到儿童的玩具,都离不开软件的支持。软件的如此快速发展,离不开大量的软件测试人员对产品进行测试,来保证软件的质量,软件测试已经发展成为一门系统的学科,渗入到人们的日常生活中。
一、软件测试概述
软件测试是对系统功能的验证测试,需要在产品需求阶段分析需求,细化需求功能,整理编制测试用例。
在需求阶段需要挖掘软件产品的隐性需求,分析可能存在的各种情况以及预期的结果,完善测试用例。
软件测试工作主要是对测试用例的整理,软件测试质量依赖于测试用例的完整性。若测试用例相当完善,覆盖了需求的所有功能和隐性需求功能,软件产品的质量只要是完整的执行测试用例就可以得到保证,反之亦然。
软件产品测试需要站立在操作使用用户的身份上进行测试,因为使用者是最终的用户,一个软件产品只有得到使用者的认可和赞同才能称得上好软件、好产品,否则软件再怎么被称为功能强大、功能完善,只要对操作使用者来说操作困难,都是无稽之谈,至少不能算的上好软件。
软件产品测试需要与其他部门及用户进行有效的沟通,保证需求正确,操作使用方法切合实际,明确使用人员的操作习惯和期望,只有便于操作、符合使用人员期望的软件产品,才能被接受,才能获得使用人的支持,从而产品才能获得良好的发展机遇。
二、软件产品测试方法
一个产品经历了启动、计划、实施控制阶段后,产品进入了产品软件测试环节,对各个功能点的测试需要举一反三,力求测试全面,从各个方面进行测试,例如:测试软件的一个自动功能,软件有三种用户:未登陆用户、操作员、管理员,对软件测试时,需要测试三种用户下系统都具备自动功能,还需要测试用户在切换时系统是否具有自动功能。
挖掘隐性需求功能,完善测试用例,保证软件产品质量。一般软件产品的隐性需求是存在的,例如测试需求中ups断电说几分钟内保证原输出状态,隐性需求就是在几分钟后呢是不是也应该保证原输出状态呢,再例如:一套软件是记录员工的工作记录的,每天的工作记录都可以录入,隐藏在里面的需求就是未来的某一天就不应该能录入信息并保存成功。
软件产品测试需要测试软件的健壮性,也就是在极限操作下系统如何处理,应能完成各项操作,如有重复操作应舍弃,新操作进行排队处理,以免使CPU工作异常。测试软件的响应速度,不能太慢,太慢操作人员会认为不方便,影响软件的使用及推广。
软件测试人员应尽早介入软件产品的开发过程中,软件产品是面向于市场需求的产品,需要了解市场需求,细化市场需求,与操作使用人员进行有效的沟通,保证需求准确,制定准确的测试用例,测试软件的容错性,不仅要考虑合理的输入条件,更要注意不合理的输入条件。因为软件投入实际运行中,往往不遵守正常的使用方法,却进行了一些甚至大量的意外输入导致软件一时半时不能做出适当的反应,就很容易产生一系列的问题,轻则输出错误的结果,重则瘫痪失效!因此常用一些不合理的输入条件来发现更多的鲜为人知的软件缺陷。 从正常操作与不正常操作等方面对软件产品进行测试,保证软件质量。
三、软件产品测试策略
软件测试一般按照先测试软件的正常功能,再进行故障安全方面的测试,最后进行误操作健壮性测试等。
在软件产品测试策略所包含的最主要的部分有两个:测试过程和测试类型,测试过程包括单元测试、集成测试、系统测试、验收测试。测试类型为功能测试、健壮性测试、接口测试、强度测试、压力测试、性能测试、用户界面测试、安全测试、可靠性测试、安装测试、文档测试、兼容性测试、恢复测试等。