测试开发面试问题整理(一)测试用例相关

技术标签: 测试  面试

测试方法、测试用例相关

1、杯子的测试

冒烟测试:速度装一杯水,是否漏水
功能测试:漏水测试,透明度测试,卫生情况测试,杯口平滑测试,重量测试,均匀度测试
压力测试:抗摔测试,抗高温测试

2、描述bs这类模块的功能,设计测试用例

3、CP命令设计测试用例

主要从异常、功能和性能三方面考虑:

异常:

参数异常:源和目标参数异常:包含特殊字符;参数超长;指定的位置实际不存在
拷贝对象异常:非法的执行权限;存储介质有损坏;非法的文件格式和内容
执行过程异常:拷贝到一半断电;拷贝过程中硬盘满;拷贝过程中源或目的被删除

功能:

文件
不同文件大小:0,1k,10k。。。
不同的文件类型:文本,二进制,设备文件。。。
目录
包含各种文件类型
包含子目录,目录深度
目录文件数量很多
针对文件和目录分别验证拷贝的准确性,完整性。

性能:

场景:
拷贝大文件
拷贝目录中存在大量小文件
跨文件系统间拷贝
跨存储介质间拷贝(硬盘到 U 盘。。。)
构造源的各种磁盘分布(磁盘扇区分布。。。)
并发执行拷贝
关注的性能点:拷贝时间, CPU,内存,磁盘 IO

4、如何测试模板

展现检查:文字图片内容,链接,一致性
数据传递:字符串长短与截断;特殊字符;中英文;空格;下拉条提示
兼容性检查:不同浏览器,不同操作系统,不同分辨率
用户行为:窗口拉大,放小;字号大小;编码格式;刷新;前进后退

5、本流程图描述了某子程序的处理流程,现要求用白盒测试法对子程序进行测试

要求:根据白盒测试常用的以下几种方式:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖(条件组合覆盖)、路径覆盖六种覆盖标准,
从供选择的答案中分别找出满足相应覆盖标准的最小的测试数据组并简述各种测试方法。

这里写图片描述
供选择的答案
A、 x=3 y=3 z=0;x=1 y=2 z=1
B、 x=1 y=2 z=0;x=2 y=1 z=1
C、 x=4 y=2 z=0; x=3 y=3 z=0; x=2 y=1 z=0; x=1 y=1 z=1
D、 x=4 y=2 z=0; x=1 y=2 z=1; x=2 y=1 z=0; x=1 y=1 z=1
E、 x=4 y=2 z=0
F、 x=4 y=2 z=0;x=1 y=1 z=1
参考答案:
语句覆盖 E:语句覆盖是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个语句至少被执行一次,语句覆盖是一种比较弱的覆盖标准
判定覆盖 A:也称分支覆盖,是指选择足够的测试用例,使得运行这些测试用例时,被测程序的每个判定的所有可能结果至少出现一次
条件覆盖 B:是指选择足够的测试用例,使得运行这些测试用例时,判定中的每个条件的所有可能结果至少出现一次
判定/条件覆盖 F:是指选择足够的测试用例,使得运行这些测试用例时,判定中每个条件的所有可能结果至出现一次,并且每个判定本身的所有可能结果也至少出现一次
多重条件覆盖 D:是指选择足够的测试用例,使得运行这些测试用例时,每个判定中条件结果的有可能组合至少出现一次
路径覆盖 C:是指选择足够的测试用例,使得运行这些测试用例时,程序的每条可能执行到的路径都至少经过一次

6、聊天消息收发的测试思路

参考答案:主要从以下几个方面来考察:正常测试、异常测试、不同的消息类型、组合测试、长度极值、是否延迟、是否丢失、是否被篡改、安全性

7、登录界面测试

参考答案:希望可以对测试点做分类划分,如功能、 UI、性能、安全 。

功能测试(Function test)

  0.什么都不输入,点击提交按钮,看提示信息。

  1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。

  2.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。

  3.登录成功后能否能否跳转到正确的页面

  4.用户名和密码,如果太短或者太长,应该怎么处理

  5.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况

  6.记住用户名的功能

  7.登陆失败后,不能记录密码的功能

  8.用户名和密码前后有空格的处理

  9.密码是否加密显示(星号圆点等)

  10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用

  11.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确

  12.输入密码的时候,大写键盘开启的时候要有提示信息。

界面测试(UI Test)

  1.布局是否合理,2个testbox 和一个按钮是否对齐

  2.testbox和按钮的长度,高度是否复合要求

  3.界面的设计风格是否与UI的设计风格统一

  4.界面中的文字简洁易懂,没有错别字。

性能测试(performance test)

  1.打开登录页面,需要几秒

  2.输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒

安全性测试(Security test)

  1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)

  2.用户名和密码是否通过加密的方式,发送给Web服务器

  3.用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证

  4.用户名和密码的输入框,应该屏蔽SQL 注入攻击

  5.用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)

  6.错误登陆的次数限制(防止暴力**)

  7.考虑是否支持多用户在同一机器上登录;

  8.考虑一用户在多台机器上登录

可用性测试(Usability Test)

  1. 是否可以全用键盘操作,是否有快捷键

  2. 输入用户名,密码后按回车,是否可以登陆

  3.输入框能否可以以Tab键切换

兼容性测试(Compatibility Test)

  1.主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)

  2.不同的平台是否能正常工作,比如Windows, Mac

  3.移动设备上是否正常工作,比如Iphone, Andriod

  4.不同的分辨率

本地化测试 (Localization test)

  1. 不同语言环境下,页面的显示是否正确。

软件辅助性测试 (Accessibility test)

  软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能

  1. 高对比度下能否显示正常 (视力不好的人使用)

8、测试自动贩卖机

题目: 测试自动贩卖机,场景:贩卖机将用在露天的繁华的大街上(考察点: 主要考察逻辑思维、思维的发散性)
参考答案:
大概可以从以下几个方面来考虑:
考虑到管理员的功能:如添加货物功能、定价等功能
考虑到界面外观、用户说明的
容错考虑比较多的
有效的等价类有:
金额刚够,顺利出货
金额超出,找零出货
金额超出, 没钱找零,出货.
金额不足,进行提示,把货币退出
金额足够,取消交易
假币,不出货
无效等价类:
投入金额,不出货,不找零
投入金额,不出货,退钱
金额超出,出货,不找零
金额超出,不出货,找零
金额不足,出货,找零l
金额不足,出货,不找零
金额不足,不出货,不退款
金额刚够,不出货,退款
金额刚够,出货,找零
金额刚够,不出货,找零
不投金额,直接出货

9、输入以年月表示的日期,等价划分测试用例

这里写图片描述
这里写图片描述

10、三角形测试

这里写图片描述
这里写图片描述

来源:网络


智能推荐

【测试开发知识】常见的测试用例设计方法都有哪些?

文章目录 1、等价类划分 2、边界值分析法 3、错误推测法 4、因果图方法 5、正交表分析法 6、场景分析方法 1、等价类划分 划分等价类: 等价类是指某个输入域的子集合.等价类划分法就是将所有测试用例划分为几个互不相交的子集,他们的并集就是全集,再从每个子集中选取若干具有代表性的值作为测试用例。.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用...

redis中的hash扩容渐进式rehash过程

背景: redis字典(hash表)当数据越来越多的时候,就会发生扩容,也就是rehash 对比:java中的hashmap,当数据数量达到阈值的时候(0.75),就会发生rehash,hash表长度变为原来的二倍,将原hash表数据全部重新计算hash地址,重新分配位置,达到rehash目的 redis中的hash表采用的是渐进式hash的方式: 1、redis字典(hash表)底层有...

不同系统下的回车\r和换行\n,及其历史

2019独角兽企业重金招聘Python工程师标准>>>      我们平时按下键盘上的‘回车键’,就能实现回车换行【我们在屏幕上所看到的就是光标移到了下一行的开头位置!!ps:不讨论软件实现的特殊功能,如word里的回车智能缩进】。因此对这个按键更准确说应该叫做‘回车换行键’ 就且将这种将光标移到下行开...

windows操作系统,python环境下django的自动安装

首先,在Windows操作系统下安装python,完成python环境的搭建。(我看有的博客需要配置环境变量,其实不必要,因为我们在安装的时候只要勾选如下图所示即可避免不必要的麻烦) 第二步,使用快捷键windows+R或者点击如下图所示,之后点击运行 在其中输入cmd即可进入dos命令。 第三步,输入以下命令 就会自动安装,等待安装完成即可。 第四步,检测django是否安装成功,如果出现如下图...

Qt之日志输出文件

    做过项目的童鞋可能都使用过日志功能,以便有异常错误能够快速跟踪、定位,Qt也提供的类似的机制。之前用Qt4做项目时使用的是Qt::qInstallMsgHandler(),到了Qt5,使用了新的Qt::qInstallMessageHandler()来替代,详情请查看Qt助手(C++ API changes)。 描述     助手中在C++ API ...

猜你喜欢

基于雇员流失率数据进行多分类模型训练及阈值调整实践-大数据ML样本集案例实战

版权声明:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:[email protected],如有任何学术交流,可随时联系。 1 数据的预处理分析 2 数据标准化处理 3 sklearn多模型封装(已废弃,学思想) 4 阈值概率调整 5 总结 方便复习,整成笔记,内容粗略...

Exception: java.lang.OutOfMemoryError

  最近在跑公司的项目的过程中我发现,当一个tomcat中运行多个项目的时候,就会报这个错误。我以前由于使用Maven-tomcat插件方式运行项目,所有没有遇到过这种情况。   自己查了一下资料,但是后来我发现有些帖子中描述的解决方法:window–preferences—tomcat—JVM Setting ——append to J...

【C#】关于WinForm窗体程序的退出方法总结

很多人对于关闭窗口都有不同的需求,以下是关闭窗体的几种方法: 一、关闭窗体 1. this.Close();仅仅是关闭当前窗口,若不是主窗体的话程序无法退出。 2. Application.Exit();强制所有消息终止,退出所有的窗体。 3. Application.ExitThread();强制终止调用线程上的所有消息。 4. System.Environment.Exit(0);最彻底的退出...

采用eclipse+jboss开发ejb3.0学习笔记

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,2...

NSIS使用

NSIS使用   NSIS是一款很流行的开源安装程序制作工具,可以通过编写脚本生成功能丰富的安装程序。   一. NSIS语法 语法结构与shell类似,支持函数定义,插件DLL调用,功能非常强大。NSIS脚本包括安装属性(Installer Attributes)和段(Sections)/函数(Functions)。   1.1 安装页 安装页显示,可灵活选择其中几...

问答精选

How to get the sum of rows using a vector and the make the result in a column

I have a dataframe and i want to calculate the sum of variables present in a vector in every row and make the sum in other variable after i want the name of new variable created to be from the name of...

Call a custom class in zend framework

I have a very rough project that done partially in zend framework (not ZF2). The 'application', 'library' and 'public' folders are on the same root. Now i need to create a library 'Anil' in the 'libra...

Hide Some Of The Categories In Magento?

I want to hide some of the categories from magento home page. I have created some categories like New Arrivals, Special Offer Which I would like to show in some different way may be in left panel or r...

Reading an internal file in Android Studio

I am writing to an internal file in Android Studio The code lets me write lines of data split with commas. I am able to then go to another activity and read it all out at once. However I want to be ab...

Rails Acts_as_votable Gem Like/Unlike Buttons with Ajax

I'm new to Ruby On Rails, I used the acts_as_votable gem to create Like and Unlike Buttons to make Users like and unlike Posts but I can't make them change from Like to Unlike (and viceversa) and upda...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答