萌新测试的升级之路(一)-初入新手村
作者:互联网
小C刚刚毕业,在校期间,他没有过什么测试基础,学校也没有开展过软件测试的相关课程,在学校中C/C++、Java等语言也没有好好学,毕竟考试为大,过了就行。在秋招及各种机缘巧合之下进入了某家公司,成为了一位萌新软件测试。
今天,他进入了公司,开始了他从校园到社会的第一天。
--第一天上午--
在HR小姐姐的带领下,他熟悉了公司的制度、架构和“企业文化”,分配到了A部门测试组。小C心里紧张地和组里的老人们打了招呼,互道称呼,虽然一个人名都没记住,但毕竟迈开了在项目组的第一步。找到位置坐下,组长让身边的老人D兼职导师,在之后的试用期内由老D来引导。小C心里紧张感降低了一些,毕竟有了师傅也就相当于身边有了个活体wiki。
在给公司的电脑分配了自己以后,小C按照部门要求和老人们的建议,安装了杂七杂八的软件。然后拿着入职发的员工手册,细细地读了一遍。读罢已经临近中午,小C陷入到了迷茫“我是谁,我在哪,我要干什么”
迷茫之际,身边的老人D问:“知道咱们公司的产品都有哪些么?”小C在来之前还是临时抱了佛脚的,说出来公司的A、B等几个主要的产品。
“那你了解咱们部门的业务和工作么?”老D接着问。
“看名字应该是和B产品有关。”小C有点不确定的回答道。
“是的,我们所做的确实是B产品的一部分功能,目前我们在重构原有页面,原来的太丑了,还不好用。你之前有接触过测试或者了解过软件测试么?”
在两个人都陷入了尴尬的沉默时,老D打开自己的浏览器,输入了一串ip端口,进入到了一个也不怎么好看的页面说:“那好吧,我大概知道了。这是我们重构后的一个简单页面,负责注册的,输入用户名、密码,点击注册按钮就可以注册一个账号了。如果你来测试,你会怎么考虑呢?Ip和端口是192.168.1.2:8080,我的用户名密码:DDDDD/adminD,你可以先看看,想一想这个场景,把你的想法写下来,下班前咱们来看一下。”说完,老D就继续忙手头上的工作了。
小C打开浏览器,输入了测试环境的地址,界面跳转后,便盯着那俩输入框和注册按钮,心里想“这还不简单,一组未注册的用户名密码,再加一组重复的用户名密码不就齐活了?”于是,小C把心里的想法写了下来:
不重复的用户名密码,正常注册
重复的用户名密码,注册失败
小C觉得差不多就这些,也没办法再排列组合了,于是给老D说写好了。老D瞟了一眼这两行,问小C:“你知道我们这个页面每个输入框的规则是什么嘛?”小C悻悻地答确实是不知道。
“以后做相关测试设计时,一定要先看需求说明和设计文档,根据相关文档来进行测试设计。忌不了解需求直接上手进行测试设计和执行。”老D说着又给小C发了一份需求说明和详细设计。
小C根据文档发现注册页面中,用户名输入框,应仅可以输入大小写字母、数字和下划线,长度限制5-10位;密码输入框,仅可以输入大小写字母和数字,长度限制6-16位;用户名不能与已有用户名重复。看着这个输入限制,小C大脑飞速旋转,考虑着这无限的可能性,不知从何写起。
发呆之余,老D拍了拍小C,“午饭和午休时间到,走吃饭去,回来慢慢想。”
--午饭&午休
饭毕,看着身边的老人们都关了灯进入梦乡,小C一想,大家都睡了,入乡随俗,睡起来再说。
--第一天下午
睁着惺忪的睡眼,小C还是没有考虑好怎么去开始下笔。算了,先把想法都写下来吧:
用户名输入:
5位纯数字,6位纯数字,7位纯数字,8位纯数字,9位纯数字,10位纯数字
5位小写字母,6位小写字母,7位小写字母,8位小写字母,9位小写字母,10位小写字母
。。。。。。
写了没几行,老D转身过来看了一眼,说:“你可以先看看等价类划分法和边界值分析法,这样写下去太多,执行起来也会浪费大量的时间。”
小C心存疑惑,这俩方法之前也就对边界值分析有所耳闻,于是在疑惑中打开了搜索引擎,看起来了等价类划分。
“等价类划分,指的是一种典型的、重要的黑盒测试方法。其就是解决如何选择适当的数据子集来代表整个数据集的问题,通过降低测试的数目去实现“合理的”覆盖,以此发现更多的软件缺陷,统计好数据后由此对软件进行改进升级。”
“等价类划分法将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。”①
小C看到了相关解释,心里想“也就是说,我需要把数据划分成有效的和无效的。那对于现在而言,用户名中大小写字母、数字和下划线是有效的,不符合这个规则的都是无效的;长度在5-10位时是有效的,其他情况下是无效的。密码的情况和这个类似,那我也大概知道怎么写了。”
于是小C开始了自己的设计:
用户名长度5-10位,字符符合规则;密码长度6-16位,字符符合规则。注册成功
用户名长度<5位,字符符合规则;密码长度6-16位,字符符合规则。注册失败
用户名长度>10位,字符符合规则;密码长度6-16位,字符符合规则,注册失败
用户名长度5-10位,字符不符合规则;密码长度6-16位,字符符合规则,注册失败
用户名长度5-10位,字符符合规则;密码长度<6位,字符符合规则,注册失败
用户名长度5-10位,字符符合规则;密码长度>16位,字符符合规则,注册失败
用户名长度5-10位,字符符合规则;密码长度6-16位,字符不符合规则,注册失败
。。。
重复用户名注册,注册失败
“对了,还有边界值分析法。”小C一边想,一边又开始了面向搜索引擎测试。看着百科中的如下说明和一些案例
“边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。”
“长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。”
“使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。”②
小C对之前的场景进行了进一步的拆分,“要选择边界,那5-10位就是选4,5,6,9,10,11;6-16位就是选5,6,7,15,16,17。”小C边想边对刚刚的划分进行了新的规划。
一步步的摸索下看完写完,就快到了下班的时间。小C拉着老D来review自己的“成果”,“还可以,学得挺快。”老D肯定了小C的场景,但紧接着话锋一转:“你为什么没有写密码不能明文展示呢?”
小C心里一惊,紧接着打开需求文档和设计文档,在规则下边还有一行字:密码输入时,不能以明文展示。“还是得仔细看需求和说明文档啊。”老D语重心长的说,随即又问:“你对当前的需求有没有什么疑问或者觉得不太合理的地方?”
小C回想起自己混迹各网站注册的场景,说:“如果用户这次手误输错了,但他以为他输的是对的密码,注册成功后就进不了这个账号了”
“那如何避免呢?”老D接着问。
“可以加一个确认密码的输入,还可以在此基础上增加一个查看已输入密码明文的按钮。”小C回想着自己的注册过程说道。
“是的,需求文档和设计说明也不一定是对的,我们应该有自己的判断。对于不合理的需求要及时的澄清和质疑,这样才能使我们的产品质量有所保障。”老D转回了身,面向自己的屏幕后又说:“今天先下班吧,明天早会时你说一下这个不合理的点。”
“好的老D大哥,我整理一下明早说。你呢,还不下班么?”
“没忙完呢,加班赶进度。”
小C心里一紧,心想:“完了。”
--回家
小C回到了家,回想着自己第一天的社畜生活,“等价类、边界值、需求分析,要做好一个测试,还需要什么呢?”小C边想边打开了搜索引擎,看着测试设计方法、质量模型、自动化测试、接口测试等等浩如烟海的测试领域知识,紧接着就关闭了浏览器,打开了steam......
管他呢,一切等明天睡起来再说吧
注:
①引自 百度百科,词条 等价类划分
②引自 百度百科,词条 边界值分析法
③测试场景设计仅为举例,需根据实际情况进行进一步分析设计
标签:10,新手村,测试,注册,初入,密码,用户名,萌新,长度 来源: https://blog.csdn.net/qq_24060951/article/details/117961613