让我们一起看一下为大家收录的面试题:
为什么要在一个团队中开展软件测试工作?
因为没有经过测试的软件很难在发布之前知道该软件的质量,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。
你认为做好测试用例设计工作的关键是什么?
1、需求和设计文档的理解程度,对系统的熟悉程度
2、用较少的用例覆盖尽可能多的需求,从用户角度出发,颗粒度大小要均匀,测试场景方法,能够被其他测试人员执行
3、测试用例的编写要根据测试对象特点、团队的执行能力等各个方面综合起来决定编写策略。最后要注意的是测试人员一定不能抱怨,力争在不断提高测试用例编写水平的同时,不断地提高自身能力
现在有个程序,发现在 Windows 上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
1、检查系统是否有中毒的特征;
2、检查软件/硬件的配置是否符合软件的推荐标准;
3、确认当前的系统是否是独立,即没有对外提供什么消耗 CPU 资源的服务;
4、如果是 C/S 或者 B/S 结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对 CPU/内存的访问情况。
和用户共同在uat测试 ,有哪些需要注意的地方?
用户验收测试不通过的话,就可能影响到钱、以及公司的形象,以及作为测试人员的你在领导心中的印象等。
实际上用户现场测试更趋于是一种演示。在不欺骗用户的前提下,我们向用户展示我们软件的优点,最后让“上帝”满意并欣然掏出“银子”才是我们的目标。
因此用户测试要注意下面的事项:
(1)用户现场测试不可能测试全部功能,因此要测试核心功能。这需要提前做好准备,这些核心功能一定要预先经过测试,证明没有问题才可以和用户共同进行测试。测试核心模块的目的是建立用户对软件的信心。当然如果这些模块如果问题较多,不应该进行演示。
(2)如果某些模块确实有问题,我们可以演示其它重要的业务功能模块,必要时要向用户做成合理的解释。争得时间后,及时修改缺陷来弥补。
(3)永远不能欺骗用户,蒙混过关。道理很简单,因为软件是要给用户用的,问题早晚会暴露出来,除非你可以马上修改。和用户进行测试还要注意各种交流技巧,还要为后面的合作打好基础。
接口测试用例怎么设计?
我的理解,这个其实就是在问接口测试用例的测试点
1、从功能的角度,考虑正常场景和异常场景
2、考虑业务规则的边界以及输入/输出参数的边界,覆盖所有必选参数,组合所有可选参数,以及参数的不同数据类型等
3、考虑接口的幂等性(重复提交),并发测试、事务、分布式、环境异常以及大数据量等场景
4、查看接口的性能
5、考虑接口的安全性相关的内容,是否存在sql注入之类等安全漏洞,敏感信息是否加密返回/不返回
什么是系统瓶颈?
参考答案:瓶颈主要是指整个软硬件构成的软件系统某一方面或者几个方面能力不能满足用户的特定业务要求,“特定”是指瓶颈会在某些条件下会出现。严格的从技术角度讲,所有的系统都会有瓶颈,因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求。在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为改系统没有瓶颈或者瓶颈不会影响用户工作。
因此我们测试系统瓶颈主要是实现下面两个目的:
1、发现“表面”的瓶颈。主要是模拟用户的操作,找出用户极限使用系统时的瓶颈,然后解决瓶颈,这是性能测试的基本目标。
2、发现潜在的瓶颈并解决,保证系统的长期稳定性。
主要是考虑用户在将来扩展系统或者业务发生变化时,系统能够适应变化。满足用户目前需求的系统不是最好的,我们设计系统的目标是在保证系统整个软件生命周期能够不断适应用户的变化,或者通过简单扩展系统就可以适应新的变化。
列举几个python2和python3区别?
1、Python3 使用 print 必须要以小括号包裹打印内容,比如 print('hi')
Python2 既可以使用带小括号的方式,也可以使用一个空格来分隔打印内容,比如 print 'hi'
2、python2 range(1,10)返回列表,python3中返回迭代器,节约内存
3、python2中使用ascii编码,python3中使用utf-8编码
4、python2中unicode表示字符串序列,str表示字节序列
python3中str表示字符串序列,byte表示字节序列
5、python2中为正常显示中文,引入coding声明,python3中不需要
6、python2中是raw_input()函数,python3中是input()函数
当面试官告知你你所用的语言和他们公司不一致的时候怎么办?
我相信有很多的小伙伴经常会遇到,自己面试的公司用的语言跟自己所学的不一致,比如你用的是java,应聘的公司用的是python,那这个时候怎么办呢,站起身来转头就走吗?
1、你可以告诉面试官,语言不是关键,很多框架设计的思想都是相通的,而且要表明自己的态度:只要公司愿意给机会,自己愿意尝试去学习新的语言。事实上,像那些高级开发,在公司根本就不会局限于语言,如果公司有机会,或者项目需要,要用到其他语言的时候,他们有这个能力能在短时间内快速上手。
2、平时的话,python和java不管你学的是哪一个,建议对另一个都要有一些简单的了解,可以多跟同行交流一下,看一下在方案设计上是否有可取之处,互相融合。
你认为做好测试计划工作的关键是什么?
在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试;
1. 要有明确的测试目标,对被测对象有清晰的认知和了解
2.坚持“5W”规则,明确内容与过程“5W”规则指的是“What (做什么)”、 “Why(为什么做)”、 “When(何时做)”、 “Where(在哪里)”、“How(如何做)”。利用 “5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3.采用评审和更新机制,保证测试计划满足实际需求
如何减少测试人员跳槽带来的影响?
作为测试管理者,只有从日常工作中开始做起,才能最大限度的减少损失。建议我们从以下两个方面做起:
1、加强部门内员工之间的互相学习,互相学习是建立学习型组织的基本要求,是知识互相转移的过程。在此基础上,可以把个人拥有的技术以知识的形式沉积下来,也就完成了隐性知识到显性知识的转化。
2、通常情况下,企业能为员工提供足够大的发展空间时,如果不是待遇特别低,员工都不会主动离开企业。因此我们要想留住员工,管理者就应该把员工的个人 成长和企业的发展联系起来,为员工设定合理发展规划并付诸实现。不过这项要求做起来比较,要有比较好的企业文化为依托。