软件测试的小故事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的过程,

软件会出现什么情况?

  • 报错奔溃,丢失用户量。
  • 存在漏洞被不法分子利用,出现大量的财产损失。

 

因此,软件测试是要检测一款软件中存在错误和缺陷的一系列过程。

 

——————————

下一章,我想说一说什么是软件需求

posted @ 2020-08-14 23:38  祝新新zxy  阅读(500)  评论(0编辑  收藏  举报