2023软件测试大赛总结
文章目录
- 2023软件测试大赛总结
- 软件下载方式
- 比赛方式
- 个人总结
- 断言使用
- java基础
- 预选赛
- 省赛
- 国赛
软件下载方式
进入官网下载插件(直接下载一个完整的Eclipse就可以,这样比较方便)
需要保证jdk版本和要求的一致,不然可能会打不开软件
下载jdk配置环境变量就可以。
配置maven
-
下载maven(大赛应该会说明版本,可以去官网看看)
-
先配置环境变量
-
修改一下setting.xml文件(不然下载的时候会很慢)
-
修改为国内的镜像就可以,我这用的是阿里云的
-
<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
-
配置完打开软件就可以了。(这一步骤网上有很多博客可以参考)
比赛方式
-
进入官网报名后,复制秘钥到Eclipse
-
点击登录,输入密钥后,下载即可。
个人总结
我只参加了开发者测试,所以以下内容都是与开发者测试相关的。
大赛题目给出java代码,两个题,一个题可能有好多个类,也可能只有一个类,我们的任务就是用白盒测试的方法把java代码测试一遍,尽力提高覆盖率,简单来说,就是把代码都跑一遍就行。
在src/test/java中建立测试类,写测试代码
绿色部分表示运行过的,红色部分表示失败,黄色表示没有实现分支覆盖
比如下面这一部分,返回值有多个结果,但是我的测试代码没有实现分支覆盖,此处就会黄色显示。
断言使用
assertEquals(expected, actual);
assertTrue(condition);
assertFalse(condition);
assertNull(object);
assertNotNull(object);
基本上常用的就这几个
java基础
会用java就可以参加,考的内容基本就是图、树等一些数据结构的东西,也有文件相关的,也不怎么用看懂,只要能跟着代码往下走就可以。
反射的知识可以参考我的博客,写了一些常用到的,如果想要详细学习,可以去找找视频看。
使用反射调用类的私有内部类的私有方法
预选赛
在比赛开始时,一定要先提交一次测试环境,避免最后写完了提交不上。
预选赛很简单,一般只要能交上,不是特别烂就能进省赛,今年(2023)预选赛我只写了一个题,覆盖率只有60%都进省赛了。
个人认为,没必要把所有的题目都做一遍,看一下大体题型就可以,今年预选赛就吃了没咋看题的亏,看到私有方法就想着用反射,这样就导致效率很低。这些私有方法一般都能通过共有方法来调用,没必要使用反射。不要慌,稳住就行,new了一个对象后,看看源码是怎么走的,跟着往下调用方法就可以。
省赛
省赛的题要比预选赛的题简单,覆盖率都很高。在提高覆盖率的基础上要多用断言,基本上有返回值的就用断言来写,要是不知道返回结果是什么,可以输出一下,看看结果,实在不行,assertEquals的两个参数都调用方法(这种方法不知是否可取,这能保证运行没有错误,但是不知道主办方会不会给算分数,本人未在比赛时用过,慎用)
国赛
国赛的题要比省赛的题难些,考到了测试界面的东西。
第一个题比较简单,但是我提交的时候出了一些问题,交不上代码,这就让人很捉急。但是此时也不要慌,举手示意监考人,让他们来帮忙解决,自己先写下一题。第一个题写了90的覆盖率,第二个题覆盖率55,分支只有44,主要看的是分支覆盖。
如果以开始能交上代码,但是写完之后交不上,可能是代码不知道哪里出了问题,我是一个方法一个方法测的。先把出问题的那个题的所有代码都注释掉,然后提交,结果可以交上,所以应该是有部分代码影响了提交,于是一步步解开所有代码,最后找到了出问题的地方,注释掉那段代码覆盖率降了20%,别先管他影响了多少覆盖率,先交上代码再说。最后报告给评委,评委让我把代码发到他邮箱测评。
emmm…上海很美,哈哈哈。(附上两张照片)
加油!