测试用例设计

1、测试用例的设计方法

- 观察法

- 等价类、边界值

- 判定表、因果图

- 流程图、场景法

- 错误推测法等

2、常见软件质量模型特性说明:

- 功能性:功能有没有,好不好用

- 性能效率:对应系统的资源耗费程度及响应时间

- 易用性:容易理解、学习、使用

- 兼容性:能够兼容不同的软硬件平台

- 可靠性:不易出问题,万一出问题容易恢复

- 安全性:对于用户的安全保障(外在的人生安全、内在的信息安全等)

- 可移植性:能否在不同环境条件下无故障运行

- 可维护性:对于后期的修复维护是否方便快捷

因此,对于上述登录功能,按照上述质量模型的思路指导,就得到如下的测试点:

3、用例实战:

面试官问:给你一个物件(花瓶、笔、桌子)你怎么测试?

(1)问题分析:
无论是哪个物件,都从以下几个维度出发设计:
1、功能
2、UI
3、易用性
4、性能
5、安全
6、接口
7、兼容性
8、可移植

....也可以适当缩减和增加
(2)参考回答:
给你一个杯子你怎么测,至少写出20条测试用例
1.功能测试:
主要关注水杯基本功能
1.1 水杯是否可以正常装水
1.2 水杯是否可以正常喝水
1.3 水杯是否有盖子,盖子是否可以正常盖住
1.4 水杯是否有保温功能,保温功能是否正常保温
1.5 水杯是否会漏水,盖住盖子拧紧后是否会漏水
2.ui测试:
主要关注水杯外观、颜色、设计等方面
2.1 外观是否完整
2.2 外观是否舒适
2.3 颜色搭配及使用是否让人感到舒适
2.2 杯子外观大小是否适中
2.3 杯子是否有图案,图案是否易磨损
3.易用性测试:
主要关注水杯使用是否方便
3.1 水杯喝水时否方便
3.2 水杯拿起放下是否方便,这里会衍生到水杯形状的测试
3.3 水杯装水是否方便
3.4 水杯携带是否方方便
3.5 水杯是否有防滑功能
3.6 水杯装有低温或者高温水时,是否会让手感到不适
4.性能测试:
4.1 水杯装满水时,是否会漏出来
4.2 水杯最大使用次数
4.3 水杯的保温性是否达到要求
4.4 水杯的耐寒性是否达到要求
4.5 水杯的耐热性是否达到要求
4.6 水杯掉落时,是否可以正常使用
4.7 水杯长时间放置时,是否会发生泄露
5.安全性测试:
主要关注水杯外观和各种异常条件下是否释放有毒物质等
5.1 当水杯装满热水时,水杯是否会烫手
5.2 当水杯装上水后,是否会产生有毒物质
5.3 把水杯放在零下环境时,是否会产生有毒物质
5.4 把水杯放在高温环境时,是否会产生有毒物质
6.接口(杯子没有想到怎么和接口关联起来)
7.兼容性测试:
主要关注水杯是否可以装其他液体,如果汁、汽油、酒精等
8.可移植性测试:
主要关注水杯放置环境等
8.1 将水杯放在常温环境中,使用是否正常
8.2 将水杯放在零下的环境中,使用是否正常
8.3 将水杯放在高于正常温度的环境中,使用是否正常

 1、软件测试的流程是什么?

分析:每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有工作经验,直接按照公司流程回答即可,如果是刚转行或者刚实习,那按标准回答即可,文中回答仅供参考;

回答: 项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书;(需求评审阶段)

需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,计划评审通过后开发人员开始进行程序的开发,测试人员开始测试用例的编写,等程序的第一个版本出来后,开发人员进行第二个版本的迭代,这时测试人员对程序进行测试并记录追踪管理缺陷,直到程序迭代完毕。(产品研发阶段)

程序迭代完毕并修复大部分缺陷后,测试人员开始进行工作的总结,并最终输出一份测试报告书,记录此次的测试工作共,程序存在的相关问题。(产品发布阶段)

2、软件测试有什么策略和阶段?

分析:软件测试的策略就是测试将按照什么样的思路和方式进行如采用什么技术,什么步骤等。

回答 :软件测试的策略主要有:动态测试和静态测试、白盒测试和黑盒测试。测试阶段按照研发顺序分别是:单元测试、集成测试、系统测试,有些公司还会有验收测试;(单元测试开发在调试代码时就完成,集成测试也是,但是有时测试人员也需要进行集成测试;测试人员平时主要的工作就是系统测试,验收测试是有客户参与进行的测试);

3、软件测试有什么类型?

回答: 常见的软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等;

4、测试用例主要有哪些元素?

分析:每个公司因为使用的模板不一样,所以测试用例的内容也是不尽相同的,所以回答时只需要回答出基本的元素即可;

回答: 测试用例主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等;

5、软件缺陷的定义是什么?

分析:什么样的问题才是一个缺陷,需要从客户需求出发;

回答:1、软件未实现需求规格说明书中的要求;   
  2、出现需求规格说明书中指明不应该出现的错误;
  3、软件未实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)
  4、软件出现难以理解、不易使用或者运行速度慢等问题都可以认为是软件缺陷;

6、测试用例是什么?有什么作用?


回答:测试用例就是设计一个特定场景,让软件在这种场景下运行,检验程序是否给出正确的反应,以此验证软件是否正确实现了客户需求。

作用:1、避免盲目测试并提高测试效率;在软件版本更新之后只需修正少部分用例即可开展测试工作,降低工作强度,缩短测试周期;     
 2、可以分清哪些是测试重点,测试用例是测试工作的见证,能知道测试了哪些功能,没测哪些模块; 
 3、测试用例是量化测试工作的方法之一;


 7、如果在测试过程中发现了BUG,可是开发不承认这是Bug,你会怎么办?


 分析:HR问这个问题主要还是想知道你平时是如何处理与同事之间的关系。开发和测试是两个即对立又统一的两个岗位,所以开发和测试之间关系的处理也是HR面试过程中需要考虑的一个点。当然,HR问这个问题也表名该公司有氛围不是很好的风险。

回答:首先还是应该回归到客户需求上面,确认这个问题到底属不属于一个缺陷,如果确实是则要和开发同事解释清楚;如果开发还是坚持自己想法的话,则询问同事或者测试组长的意见,讨论这个问题到底属不属于缺陷问题,如果大家都觉得是则需要和开发解释清楚。

8、你平时是怎么设计测试用例的?

分析:这个问题的点主要考察是否掌握测试用例设计方法,在回答之后,HR可能会继续追问某种设计方法的概念或者实例,这时举例说明即可;如:等价类划分法就是把程序的输入域划分成等价类,从每个部分中选取少数代表性数据当做测试数据。

回答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图还有错误推测法;

9、测试报告里面包含什么内容?

分析:测试报告,是测试工作结束后测试部门输出的一份测试结果,但每个公司的测试报告内容都会有些差别。有些公司的测试报告是有测试部门的负责人一人编写,或者是由每个测试工程师输出自己对应模块的测试报告再由测试组长整合成一份完整的测试报告;

回答:测试报告内容一般有:编写目的、系统简介、测试环境、测试方法和工具、测试执行结果与记录、缺陷汇总、遗留缺陷跟踪、测试用例执行情况、测试结论与建议等;

10、你们公司的需求评审是怎么进行的?

分析:需求评审,就是对客户需求,软件各个模块之间模糊的点进行审查,排除不理解或者没有考虑到的点。

回答:需求评审,在一些分工比较明确的公司,都是由PD(产品设计师)负责,需求确认好后再下发到开发和测试部门;分工不怎么明确的公司可能就是开发测试产品等大家坐在一起共同探讨;评审形式一般分为线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续的评审会议做准备。

11、Linux下的一些常用命令是什么?

分析:Linux系统,也是软件测试工程师必须要掌握的一项基本的技能,由于Linux具有运行稳定等很多优点,软件的服务器大多部署在Linux系统上,搭建测试环境也是测试工程师需要掌握的。

12、MySQL的常用命令有哪些?

分析:数据库知识,是测试工程师必备的一个基本技能,在面试过程中也是经常会遇到的一个考点。对于刚入行的测试,对数据库知识的要求不会太高,只要求能掌握基本的增删改查语句即可。

回答:这里只给出几个标准的语法结构:
增:insert into 表名(列名) values (数据);
删:delete from 表名 where 指定数据;
改:update 表名 set 改变项 where 指定数据;
查:select (查询项) from 表名 where 指定条件;

13、你未来的职业规划是什么?


分析:职业规划问题,是所有面试中最常问的问题,问的人可能是HR、部门主管、经理、甚至是董事长。同一个问题,问的人不同,想要获取的信息也肯定是不一样的。HR更多的想看你在公司的稳定性;技术主管可能更想知道你是否真的喜欢测试这个岗位,后期是否会主动学习型新的技能等;而经理更多的是看你的职业规划符不符合公司的发展方向;软件测试工程师的发展方向主要有:测试开发、产品经理、测试转开发、测试大牛、讲师等岗位;

回答:HR:如果是HR问的话,多从稳定性的角度回答,如:家人、朋友都在公司附近,或者喜欢贵公司的文化氛围等;
       技术:回答之前可以先简单介绍一下自己为什么选择软件测试这个职业,以及自己对这个职业的看法,最后再回答自己的职业发展方向即可;      
       经理or董事长:这个回答回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司的发展方向不是非常了解,所以在回答时可以再带一句,“具体的发展方向,还需要公司的发展方向去调整”。这样回答就会保险一些。


14、还有什么想要问我的吗?

分析:这个问题在每个面试的尾声都会被问到,直接说没有,会让HR觉得你不关心这个岗位,问的多了又会显得面试之前没有做好充分的准备。所以问题一般控制在两到三个比较好。

回答:1、公司的研发团队目前是什么规模?开发、测试分别有多少人?        
2、公司的业务方向是什么?        
3、如果我入职之后,我的工作职责是什么?
 

  • 5
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值