关于全国大学生软件测试大赛总结与反思

软件测试 专栏收录该内容
1 篇文章 0 订阅

关于全国大学生软件测试大赛总结与反思

一、软件测试大赛简介

       由教育部软件工程专业教学指导委员会、全国高等院校计算机基础教育研究会、中国计算机学会软件工程专业委员会、中国软件测评机构联盟、中国计算机学会系统软件专业委员会和中国计算机学会容错计算专业委员会主办,南京大学、陆军工程大学、金陵科技学院、江苏软件产业人才发展基金会、江苏省软件新技术与产业化协同创新中心总承办的“全国大学生软件测试大赛”,于2016年举办首届,2017年举办第二届,2018年举办第三届,参赛人次已超过25000人,涉及高校超过330所。 为了继续深化软件工程实践教学改革、探索产教研融合的软件测试专业培养模式、推进高等院校软件测试专业建设、建立软件产业和高等教育的产学研对接平台,举办2019年“全国大学生软件测试大赛”。

       2019大赛面向所有在校大学生设置个人赛,包括专科、本科、研究生。开发者测试、移动应用测试和自主可控测试均采用慕测内置系统,分别为xUnit、Appium和Selenium测试脚本;提供WebIDE和Eclipse插件两者方案;性能测试采用Jmeter。Web安全测试和嵌入式测试采用集成慕测的第三方比赛平台。 本次大赛题目来自开源社区和软件企业,大赛分为预选赛、分区决赛和总决赛,每个分项赛独立评分和颁奖。

二、可能出现的错误

1、 is not click able at point (298, 563). Other element would receive the click
答:如果用的是click(),可以换成submit(),把点击换成提交
2、The path to the driver executable must be set by the webdriver.chrome.driver
答:可以给相应驱动配置环境变量,主要原因电脑的环境变量中没有他的路径。

3、The ANDROID_HOME environment variable is not set to the Android SDK root directory path. ANDROID_HOME is required for compatibility with SDK 23+. Checking along PATH for adb.

答:打开appium后,点击编辑配置,配置ANDROID_HOME的目录为sdk的根目录。

4、“android sdk content loader”加载出问题

答:删除c:\users\Admin\.android

5、发生网络错误
在这里插入图片描述
答:每次提交代码前必须有一次下载操作,这种情况出现在没下载试题,提交,可能之前下载了,但在本次登录未下载,提交也会发生,可以先备份代码,然后下载后拷贝代码过去。

6、同一版本浏览器和驱动器不匹配

答:这种情况在你的电脑是64位的,下载了32位的浏览器,出现无法驱动浏览器错误,解决方法是重新下载对应版本的64位浏览器

7、在jmeter中发现csv文件无法读取

答:尽量放在当前操作的脚本目录下面,这种情况发生在脚本和csv文件不在同一个磁盘,比如脚本放在u盘,csv放在硬盘中。

三、个人总结与反思

       对于这次竞赛,其实从暑假就学校开始组织学习,暑假有一个月度赛,很遗憾,我没能通过预选,当时因为有点过度自信,因为对于这个赛事来说,更多注重练习,就是对出现各种情况练习。而我喜欢理解了就不在练习了。而且当时我进入了一个思维屏障,怎么都想着一题一题的做下去,我就在第一题花费了很多时间,最后完全没时间做后面的,特别对于自控,最好先做性能测试,在做众包,最后做功能确定测试。

       对于软件测试竞赛一定要有一个性能不错的电脑,不要经常更换电脑,因为这样会大部分浪费在配置上面,及时关注官网,对环境更新及时了解,并且做好充分的时间使用,以了解更新以后出现的问题,保证环境更新后不会影响竞赛,还有一些细节,特别注意,这些都需要多练习,特别多跑跑慕测发出的题目确定环境问题,如果在赛场出现环境问题,如果在确定自己解决不了,及时向监考老师发出求救,不要一直想办法,到赛场里尽量不要突然更换环境配置或者更新软件。

       对于细节部分,比如自控中,使用360或者qq都用急速模式才可以测试,最好配置google的浏览器,因为这样你在竞赛的时候,提交可以用qq或者360,本地跑代码系统会直接使用google。这样确保你的代码的完整性,同时因为google浏览器特殊性,可以一定的加快网页浏览速度和测试速度,减少在竞赛多次调试所消耗的时间,这里建议一次把代码写好,然后慢慢调试,不要害怕可能代码多看不出来,基本竞赛代码行数很少,官方主要测试你的代码熟练度。

       对于这个竞赛,对于电脑性能和手机性能都有一定要求,对于我的电脑和手机基本刚好支持,非常卡,这就非常影响比赛心情和效果,平时做移动测试最好用真机,虚拟机最好和官方要求一样,在竞赛时,我用了逍遥模拟器出现了很多问题,在竞赛前我测试了很多遍,但是还是出错了。在一定程度上逍遥模拟器比其他模拟器性能都好很多,但是连接很麻烦,比如用雷神你不要手动连接模拟器,而逍遥模拟器需要手动连接模拟器。建立实体机,版本越高越好,因为版本高的好处是该系统有优化,跑起软件会有提升。

       还有最大的一个坑,这个就是我们平时思路是,预选赛考过了,就不会考该系统了,但是这是不对的,在预选赛做过的题目好好复习,特别对于预选赛考的系统还没考的的地方多加练习,对于重点地方多加理解。比如自控页面移动,框架间移动要非常熟悉。

       如果可以,尽可能的和同学交换笔记,这样别人遇到的问题,你也可以轻易的解决。竞赛总共五项,建议选择其中三项专研比较好,如果好奇可以了解,最多参加完预选赛就停止其中一些项目的进度,把精力放在重点项目中来。集中精力做一件事才能让你做的更好,对于这次省赛就被淘汰的我是非常遗憾的,因为我大三了,很可能大四就不参加了,有机缘的话读研后会参加,但是目前没定下来,很可能不会读计算机研究生。

四、谈谈软件测试工程师

       软件测试工程师指理解产品的功能要求,并对其进行测试,检查软件有没有缺陷,测试软件是否具有稳定性、安全性、易操作性等性能,写出相应的测试规范和测试用例的专门工作人员 。高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估;中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。

       软件测试工程师是一个正在发展的行业,也是一个走向稳定的行业,基础测试将会更稳定,这是一个很好的行业,在未来也是一个很有前景的行业,但是这个行业要求技术很高,特别是软件的相关的一些理论,不仅需要具备测试技术能力,同时也得具备一定的管理能力。测试组长可以向上发展为测试部经理、质量经理,也可以横向发展为项目经理,而且通常待遇相对较高些。 作为一名优秀的测试工程师 应该具有一些基本的个人素养 ,要做到专心、细心、耐性、责任心、自信心。 “五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多 ,作为一个测试人员我们的要求是:

1、质量意识:在整个软件测试的各个环节中,质量意识一定要贯穿其中。理解功能需求,书写测试案例,执行测试计划,发现问题,提交问题,描述问题,协助解决问题,以及问题的跟踪等,在所有的环节中,一定要注重质量,并且从质量的角度来思考问题。

2、细心并且系统:软件测试可能每天要重复同样的操作,其工作可能会枯燥无味,并且发现的问题可能很微小或者很杂乱无章、现象不一。在这样的情况下,软件测试人员一定要细心不放过任何微小的错误,并且从很多杂乱的现象中找出一定的规律和复现性。并且在测试中有很好的规划性,先测什么而后测什么,不放过任何软件的死角。在测试中,一定要系统的看待问题,功能模块A的改动会否影响到其他模块的功能,不能想当然,一定要系统性的看待。有时候一个内存地址的改变,都有可能引起准给软件的崩溃。所以一定要系统性的去处理和看待软件中修改的任意一处代码。

3、软件测试理论的掌握以及开发工具和平台的应用:黑盒测试,白盒测试,功能/系统/压力/性能等等。但不管测试任何东西,基本理论是不变的。需求文档,设计文档,根据文档制作测试用例(划分等价、边界测试、路径测试、用户体验、等等),执行测试,提交并跟踪问题。当然,行业的不同,其测试用的工具和方法也不太一样。手机App该如何测试,无线通讯产品该如何测试,C/B-S应用该如何测试,这些产品的差异性很大,其用到的工作也很不一样,但是其基本的测试理论还是一致的。

4、站的高看的细:不能光有理论,对测试的很多文档可以提出很多有建设性的意见,但当执行测试时却不能发现问题。这其中有几个原因,一是可能提出的意见并没有写进测试案例中,二是有可能执行不仔细总是忽视问题的存在,三可能就是没有去实施。所以一定要站在一定的高度去看待软件测试,但是又要很细致的实施。只有通过实践,才能发现问题改进问题到最后解决问题。

5、团队合作:这个无需多讲,在这个产品日渐复杂的年代,很难有一己之力就可以在各个方面做的最好。要充分发挥团队每个人员的工作能力和效率。

6、怀疑:有些书是这样定义软件测试的,软件测试不会去证明软件是正确的,而是去证明是错误的,但是我们不可能发现所有的错误。所以有很多时候要去怀疑要去假设。

1、测试的三个阶段

(1)手工测试:现在比较普及,大多数测试都还停留在手工测试阶段。

(2)自动化测试:是趋势,但目前用自动化测试的还比较少,需要适当的代码编写工作。做一段手工测试后,积累一定经验,可以慢慢步入自动化测试阶段,如果自动化测试比较熟练,月薪1万没问题,和开发工资差不多。

(3)性能测试:性能测试人员现在稀缺人群,一般能做性能测试,且做得可以的一般月薪都在1.6万以上,比开发要高。

2、就业优势

       在这个行业,相对计算机专业的话,是没太多的技术含量的,所以入门的门槛非常低,不管你是计算机专业的还是非计算机专业的都非常容易上手。但是这个毕竟是计算机的专场,在一定程度成计算机专业的会有很大优势,比如入门,也就是作为初级测试员我们可以向程序员发展,当成为测试组长就可向项目经理发展。但是非计算机专业向其他方向发展很困难。

3、就业要求

  1. 计算机及相关专业 专科及以上学历,2年以上的相关工作经验;
  2. 熟悉软件测试理论、流程和方法,具有较强的逻辑思维能力,认可测试工作,热爱软件测试工作。拥有较好的沟通技巧,良好的团队合作精神,较强的责任感,工作细致、耐心,思路开阔,工作条理性强,并能承受一定的工作压力和挑战;
  3. 熟悉软件测试理论、测试流程及主流测试工具,有软件测试执行的实际经验和能力;
  4. 有WEB或APP的测试经验,掌握一种以上数据库(MySQL, SQL Server等),有性能测试,压力测试,APP测试工作经验者或测试脚本开发经验者优先;
  5. 了解Linux平台下常用命令,了解以下一种开发语言(Java,.NET,PHP等);
  6. 稳定性测试(Monkey)、压力并发测试(Jmeter)、性能测试(GT、Jmeter)、抓包、弱网测试(Fiddler)接口测试(postman、Jmeter),超链接测试(Xenu)、了解使用 Python+selenuim.进行一般的自动化测试。
  7. 有智慧交通、智慧出行类工作经验优先。
  8. 熟悉软件测试理论、流程和方法,3-5年以上软件测试工作经验,至少1个大型项目的核心测试,金融类测试项目优先;
  9. 拥有较好的沟通技巧,良好的团队合作精神,较强的责任感,工作细致、耐心,思路开阔,工作条理性强,并能承受一定的工作压力和挑战;
  10. 具有产品/项目业务需求分析,测试用例编写的能力,熟练掌握一种Bug管理工具,熟悉业界常用的测试工具;
  11. 有大型项目性能测试经验的优先;
  12. 了解以下一种开发语言(Java,.NET,PHP等);
  13. 掌握一种以上数据库(MySQL, SQL Server等)。

4、参考薪资

根据不同工资报价可能有出入,大概在6-10万左右。

  • 3
    点赞
  • 1
    评论
  • 19
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值