架构|吴涛:互联网产品研发流程概论(下)( 四 )


TAPD平台中的测试用例列表与详情页
有很多常见模块可以归纳成测试用例库,然后不断优化完善,这样可以减少重复设计测试用例。相当于把测试工作也组件化,减少低效沟通提高效率。例如注册功能测试用例,每隔一段时间就更新一次,以后出现需要测试注册功能的时候测试工程师即可按照此规范进行测试,而无需针对这个功能重复编写测试用例。
架构|吴涛:互联网产品研发流程概论(下)
文章插图
注册功能的测试用例规范(部分)
(2)功能体验测试功能测试就是对产品功能进行验证,根据功能测试用例逐项测试,检查产品功能是否达到用户要求。功能测试主要采用黑盒测试方法,把测试对象看作黑盒子,主要测试功能而不考虑软件内部结构及代码。一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
黑盒测试试图发现以下类型的错误:功能错误或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止错误等。
这部分测试除了测试工程师需要参与外,产品、交互、视觉设计师也需要深度参与,因为很多隐性信息都很难在需求文档中写得无一遗漏,但是产品设计师一看就能看出很多的问题,而这些问题测试工程师却难以判断,因为他们经常不知道产品设计师怎么想的。
功能体验测试最好是与研发同步。Web测试提供测试环境,产品设计团队通过配置host即可访问测试环境,随时能看到开发进展情况。对客户端的开发,则每天定时合并代码到trunk并提供daily build版本,产品设计团队及时下载体验,并在下班前将体验问题通过工作群告知研发人员,以便研发人员第2天及时改进。这样可以及时纠偏,减少研发憋大招。这个地方看似很小的工作习惯改变,但是会产生天壤之别的结果。所谓敏捷开发,也体现在这些协作细节里。
(3)性能测试性能测试关注软件完成特定功能的响应速度、稳定性和运维成本消耗。主要是为了优化系统容量、可扩展性、系统稳定性、资源利用率等指标。
性能测试一般采用压力测试的方法,通过给系统加载一定负荷的业务压力,让系统持续运行一段时间(一般为7x24小时),检测系统是否能稳定运行。
架构|吴涛:互联网产品研发流程概论(下)
文章插图
性能测试方案模板(大纲部分)
性能测试主要步骤如下:
A)罗列主要用户场景及相应负载量
重点针对可能出现性能瓶颈的场景,逐项分解和预估负载量。
为了让系统抗压能力更大一些,一般都会多预估一定比例的负载量,以防出现意外情况。
B)识别稳定性的主要性能指标
然后根据每个场景的负载量,分解每个后台服务、APP、web端所需关注的系统指标,比如响应时间、CPU、内存使用率等。
C)单元性能测试与改进
在准备好测试环境后,使用测试工具对每个接口按照合法输入格式进行压力测试,确保在目标负载量都不会导致出现问题。比较常用的压力测试工具是Loadrunner。
如果系统出现响应延迟或崩溃的情况,则需要运维和研发快速迭代。然后再次测试,直到系统性能指标达标为止。
D)客户端兼容性测试
Web界面的兼容性测试,可以直接用Chrome内置开发工具即可完成。
APP兼容性测试,最好借用第三方工具(例如Testin云测),提交APP后,Testin云测将会部署APP到数百款手机,然后自动输出兼容性稳定性报告。也可以根据测试工程师提供的测试用例,针对每款手机批量进行功能和体验测试。