分享我从功能测试转型到测试开发的真实故事
由于这段时间我面试了很多家公司,也经历了之前公司的不愉快。所以我想写一篇文章来分享一下自己的面试体会。希望能对我在之后的工作或者面试中有一些帮助,也希望能帮助到正在找工作的你。找工作
我们总是草率地进入一个自己不了解的公司工作,之后发现自己并不喜欢这份工作,造成生活没有激情,容易疲惫,导致我们频频离职,只为了再找一个好工作。然而频频请假去面试也是一个费时费力的事情,所以找工作的时候,我建议不要采取广撒网的方式。
我们需要充分了解该公司这个职位需要什么样的人才,需要具备什么样的职业技能,是否和自己所学的职业技能相匹配;我们还得去了解该公司的历史,规模,从事行业,业界评价等等;以此来判断自己是否有兴趣加入这个公司。我当时想从功能测试转岗测试开发,可是工作经历中没有测试开发经验,于是决定通过培训学习Python测试开发。
HR简短电话面试
一般如果双方都觉得不错的时候,HR通常会先打个电话了解一下你的信息,也会简单的介绍他们公司的经营内容,该岗位的一些基本信息。由于我们之前有了解过该公司,我们可以提出我们的一些疑问和关心的方面,以此更充分的了解该公司以及该岗位。如果我们仍然感兴趣,就可以和面试官预约一个时间进行笔试和面试。
笔试
笔试的话我们需要揣测具体会考什么内容,我们可以通过招聘信息去了解该公司需要什么样的技能,以此来准备笔试。一般必考的内容会有编程,测试用例设计,工作流程,逻辑思维等内容,除此之外每个公司可能还会关注其他方面,例如网络行业会考网络基本知识,大数据行业会考数据结构等。
附一些我遇到的笔试题:
1、Python:请写一个Python逻辑,计算一个文件中的大写字母数量
>>> import os
>>> os.chdir('C:\Users\lifei\Desktop')
>>> with open('Today.txt') as today:
count=0
for i in today.read():
if i.isupper():
count+=1
print(count)
运行结果:
26
2、软件测试:软件测试分几个阶段?各阶段重点测试什么?
开发的5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试。(回归测试)(软件发布后)。
每阶段都有5个步骤:测试计划、测试设计、用例设计、执行结果、测试报告
1、单元测试是对软件中的基本组成单元进行测试,如一个模块、一个过程等等,它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件最基本组成单元的正确性。
2、集成测试在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。其主要目的是检验软件各单位之间的接口是否正确。实践表明,一些模块虽然可以单独工作,但并不能保证连接起来也能正常工作。程序在某些局部反映不出来的问题,在全局上可能暴露。测试重点是模块间的衔接以及参数的传递等。
3、确认测试确认测试的目标是验证软件的功能和性能以及其他特性是否与用户的要求一致。确认测试一般包括有效性测试和软件配置复查。一般由第三方测试机构进行。
4、系统测试是对已经集成好的软件系统进行彻底的测试,已验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确。重点:整个系统的运行以及与其他软件的兼容性。
5、验收测试旨在向软件的购买者展示该软件满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。
回归测试是在软件的维护阶段,对软件进行修改之后进行的测试,其目的是检验对软件的修改是否正确。
面试
面试这一块的话,主要是看自己的临场发挥。面试一定要注意诚实,自信。
面试官通常会针对一个知识点一直往深了问,以此来了解我们到底掌握了多少。有些知识点我们可能不太清楚,这时不要去猜,不要去编,我们可以坦诚的告诉面试官,我们暂时未涉及到这部分知识,但是如果公司需要,我们可以在入职前提前学习。
我们也别因为某个问题答不上来就觉得自己会被fail掉,导致我们开始忧心忡忡,无心应对接下来的问题,我们要时刻保持自信去面对后续的问题。
附一些面试题:
1、软件测试:给你一个杯子如何测试?
界面测试:查看杯子的外观是否得体。(外形、图案)
易用性:杯子是否烫手、是否有防滑措施、是否方便饮水、是否易用手端着或手拿。
安全性:使用过程中杯口是否容易给身体造成伤害,,杯子有没有毒和细菌。
可靠性:杯子从不同高度掉下的损坏程度。
稳定性:杯子一直盛着水,时间长了是否会漏水。
兼容性:是否可容纳高温度水、果汁、酒精、汽油等。
2、Python:在Python中如何实现多线程?
Python并不支持真正意义上的多线程,一个线程就是一个轻量级进程,多线程能让我们一次执行多个线程。我们都知道,Python是多线程语言,其内置有多线程工具包。
Python中的GIL(全局解释器锁)确保一次执行单个线程。一个线程保存GIL并在将其传递给下个线程之前执行一些操作,这会让我们产生并行运行的错觉。但实际上,只是线程在CPU上轮流运行。当然,所有的传递会增加程序执行的内存压力。
入职前的准备
一旦我们得到了offer我们就觉得万事大吉了,但是别忘了我们还有试用期,我们一定要提前为入职做好准备。有时候我们因为不了解进入公司后具体会做些什么而感到恐慌,担心自己是否能胜任这份工作。这时我的建议是可以提前询问自己的领导,我在入职前的这段时间可以事先了解、学习哪些知识。这也对我们更快地融入工作有很好的帮助。
希望我的这篇文章能对你有一些帮助,也祝软件测试工程师们都能找到一个自己心仪的工作!
页:
[1]