
安全功能测试
功能测试这事儿吧,说起来谁都觉得自己会,怎么说呢,无非就是点点点嘛,看功能能不能用。但真让你说清楚测了哪些东西、怎么设计才能不漏,很多人就卡住了。
大多数人以为功能测试就是测"这个按钮能不能点、这个流程能不能跑通"。这只是最表面的一层。
真正要测的东西,至少包括这几块:
1.业务逻辑。 这是核心。你的注册流程对不对?下单逻辑有没有问题?优惠券能不能叠加使用?这些东西看着简单,但业务逻辑一旦出错,后面全是坑。我见过一个电商APP,满减和优惠券能同时用,结果用户花1块钱买了个500块的东西——这就是业务逻辑没测到。
2.数据处理。 增删改查,听着老套,但这是功能测试的重灾区。你新增一条数据,数据库里真的存进去了吗?删除之后再查还能查到吗?修改之后原来的值还在不在?这些东西不测,上线之后全是脏数据。
3.界面交互。 按钮位置对不对、文案有没有错别字、弹窗能不能关掉、加载动画会不会卡住——这些看着不起眼,但直接影响用户体感。很多APP功能没问题,但交互一塌糊涂,用户照样骂你。
4.权限控制。 普通用户能不能访问管理员页面?A用户能不能看到B用户的数据?这个没测好,轻则数据泄露,重则合规问题。等保和个保都盯着这块呢。
5.异常处理。 断网了怎么办?输入了非法字符怎么办?接口超时了有没有提示?很多开发者只测"正常路径",异常情况根本不管。但用户不会按你的剧本来,他什么骚操作都干得出来。
6.兼容性。 不同手机、不同系统版本、不同屏幕尺寸——你在自己的旗舰机上测得好好的,到了千元机上直接闪退。这种事太多了,不测兼容性就是在赌运气。
这块儿很多人上来就写用例,写完就跑,跑完就交差。但这样大概率会漏东西。
我的建议是这么几步:
第一步,先吃透需求。 别急着写用例,先把需求文档翻烂。搞清楚每个功能的输入是什么、输出是什么、约束条件是什么。很多测试漏东西,不是因为不会写用例,是因为根本没搞懂需求。
第二步,拆功能模块。 把整个系统拆成一个个独立的功能单元,每个单元单独设计用例。别上来就测端到端,先把每个模块测透了再说。
第三步,设计正向+逆向+异常用例。 正向就是正常流程能跑通,逆向就是故意搞破坏看系统怎么反应,异常就是模拟各种非正常场景。很多人只写正向用例,这是最大的坑。
第四步,排优先级。 不是所有用例都一样重要。核心业务流程优先测,边缘功能可以往后放。时间不够的时候,先保核心再保外围。
第五步,回归测试别省。 改了一个bug,结果把旁边的功能搞崩了——这种事天天发生。每次发版之前,核心用例必须跑一遍回归,这步省不得。功能测试这个东西,看着门槛低,但要做扎实其实挺难的。难的不是技术,是细心和耐心。你得站在用户的角度去想:他会怎么用、会怎么搞破坏、会在什么场景下用你的APP。想到了,才能测到。没想到的,上线之后就是事故。
标签:安全功能测试、功能测试报告