软件测试的小故事1-什么是软件测试
专题名:如何向外行介绍什么是软件测试
前言:
为什么会想开这个专题,
在过去很长一段时间内,无论是非IT行业还是非测试人员,对软件测试的工作完全不了解的情况(希望开发和产品同事们不要打我),导致实际工作中会出现很多的误会。
写这个专题目的不是为了科普,只是想经过不断地学习和总结,今后与各行各业的人员合作,我能在最短时间用最简单易懂的话让对方知道什么是软件测试,软件测试多重要,我需要什么样的工作支持和配合,足以。
什么是软件测试
软件测试是,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程…
正文
技术团队开发了一个叫“掏宝”的手机软件(app),其主要的功能就是卖商品,由于app还处于初级阶段,暂时只支持出售自营商品,出售的种类主要是笔记本电脑。
经过开发人员的不懈努力,店铺的装修、商品的展示都已经搭建完毕,
按照最初的预想,顾客上门问“老板,有笔记本电脑卖吗?”
然后在app上,顾客完成整个下单-付款-收货的流程。
最终用户付款,拿到想要的商品;商家收到货款。
通常很多事情不会那么顺利,
比如某天,有个叫小明的顾客,进店便问:“老板,有麻辣香锅吗?”
开放性话题:如果你是老板,你会怎么回复?
在app中,这个场景的操作逻辑是,用户在商品搜索框输入“麻辣香锅”,然后点击查找按钮。
我们常用的购物app,自然会联想到如果搜出来的东西有卖,那么就能正常找到搜索的商品;如果没有卖,那么就什么也搜不到。
这一系列的过程,就是通过代码的逻辑判断返回对应的内容。
但是,如果代码并没有处理这个异常呢?
有可能出现的情况就是,app软件崩溃、404页面、或者系统异常。
为此,技术团队要求,引入测试环节。
在app发布前夕,由测试人员对以上的异常场景进行测试,如有发现问题,马上提交bug给开发人员修改。
至少在绝大数情况下,避免系统报错的情况,减少因系统报错导致顾客去其他app购买的情况。
测试人员针对这个商品搜索功能开始设计一系列的测试场景,如:
1. 不同手机、平台、版本的搜索框,UI显示是否正常; 2. 搜索框什么也不写,点击查找按钮,会显示什么结果; 3. 搜索框输入很长很长一段字符串,页面会有什么异常处理; 4. 搜索框文本包含不同的符号,包括逗号、空格、引号、特殊字符; 5. 搜索**牌笔记本电脑、**处理器、游戏电脑,分别会搜索出什么结果; 6. 搜索的商品在商城中不存在,页面会显示什么内容结果; 7. 有些商品已下架了(或加密),但仍然搜索了商品名称; 8. 搜索的过程中,用户手机断网、网络太差; 9. 搜索框是否支持回车键提交搜索内容; 10 搜索出结果的时间消耗多久,会不会超过五秒钟; 11 是否禁用了脚本、sql,防止被黑客攻击;
完成了以上工作后,系统的逻辑图就会更新为:
用户小明第二次打开app,搜索“麻辣香锅”,软件就会友好提示“****”。
以上仅是介绍了一个商品搜索功能,
一个商城app,应该包含的模块有:商品管理模块、订单模块、会员管理模块。
再拓展开,还需要购物车、数据统计、分享评价、配送、优惠、支付、通信等。
我简单头脑风暴了一下,设计的几个异常场景:
1. 商品库存不足,用户下单购买; 2. 订单已经发货,用户点了取消订单; 3. 用户通过不正当的形式,修改了商品价格并提交订单; 4. 0点抢购活动,用户太多导致服务器卡死; 5. …
这些情况都有可能发生,如果在整个软件的设计、研发、测试周期内,不考虑软件对应的处理措施,没有经过专业测试一系列debug的过程,
软件会出现什么情况?
- 报错奔溃,丢失用户量。
- 存在漏洞被不法分子利用,出现大量的财产损失。
因此,软件测试是要检测一款软件中存在错误和缺陷的一系列过程。
——————————
下一章,我想说一说什么是软件需求
---------------------------------------------------
2017年入行的软件测试工程师,专注于软件测试
记录学习过程中的所思所想,内容原创
如有疑问,可邮件联系,1074684960@qq.com