测试 订阅
测试是具有试验性质的测量,即测量和试验的综合。而测试手段就是仪器仪表。由于测试和测量密切相关,在实际使用中往往并不严格区分测试与测量。测试的基本任务就是获取有用的信息,通过借助专门的仪器、设备,设计合理的实验方法以及进行必要的信号分析与数据处理,从而获得与被测对象有关的信息。测试最终的结果是将显示的信息输入到信息处理库中,进行控制。 [1] 展开全文
测试是具有试验性质的测量,即测量和试验的综合。而测试手段就是仪器仪表。由于测试和测量密切相关,在实际使用中往往并不严格区分测试与测量。测试的基本任务就是获取有用的信息,通过借助专门的仪器、设备,设计合理的实验方法以及进行必要的信号分析与数据处理,从而获得与被测对象有关的信息。测试最终的结果是将显示的信息输入到信息处理库中,进行控制。 [1]
信息
中文名
测试
外文名
Test、Measure
拼    音
cè shì
词    性
动词、名词
释    义
测定、检查、试验测试、实验测试
测试词语
由中文“测”与中文“试”两个字组成的词语。词性:动词、名词释义:a、测定、检查、试验、检验b、测验、考试c、进行专业测试心理测试:通过编制量表和软件对心理现象和规律进行总结分析,帮助人们更好地生活和工作d、营销推广的实践活动中,其所谓“测试”指的是“客户免费品尝活动”或“免费赠饮/赠品/试用等的推广活动”。e、医学临床活动中,“测试”是指某种激素或者生理活动的检查方式,是判断健康与否的一个指标1、考查人的知识、技能:专业测试|经测试合格方可录用。2、对机械、仪器和电器等的性能和精度进行测量:每台电视机出厂前都要进行严格测试。根据评分方法不同,测试可以分为主观性和客观性测试。分立式测试和综合式测试分立式测试:建立在结构主义语言学理论基础上的一种测试,它把语言分成语音、语法、词汇等不同的语言要素或语言点来测。分立性测试中的一个项目只测试是否对一个具体的语言知识或语言要素已掌握,针对性强,测试点容易明确。
收起全文
精华内容
下载资源
问答
  • 测试
    千次阅读
    2022-03-14 18:27:09

    测试相同点:都是需要按照需求来进行测试

           测试流程是一样的:制定测试计划,设计测试方案,编写测试用例(每一个环节需要进行评审),执行用例
    
           测试的方法是一样的:每个软件都可以手工测试,都可以实现自动化测试;都可以进行白盒测试,也可以进行黑盒测试,还有灰盒测试...
    
           测试分析和设计的方法是一样的:测试分析指的是如何提取测试项:质量模型分析法(单个功能的测试)
                                                                       功能交互分析法(功能和功能之间集成)
                                                                       用户场景分析法 (全业务流程测试)
                                        测试设计方法指的是设计用例的(11种设计方法):等价类、边界值
    
           测试的管理工具:都会使用缺陷管理工具、测试用例管理工具
    

    测试不同点:细节上不一样

                 性能测试 :web 系统:侧重于多用户使用情况下的性能表现 ,比如 淘宝双11、全运会
                           
                            word 系统:关注打开或者保存一个大的文档时的时间,使用word的时候对资源(cpu)消耗情况
    
                 安全性测试:web 系统 :关注来自网络的攻击,信息安全,比如超市的用户数据,收银系统被黑客攻击,盗取,拿去卖钱
    
                             word 系统:不需要太多关注网络攻击,但是提供了加密功能
    

    app 和 小程序 的对比:

    ------------------------------------ web 测试 ---------------------------------------

    简单来说:WEB 测试适用于所有基于web网站的测试,是浏览器通过 url 来实现网站的功能

    测试点:功能测试、性能测试、用户界面 GUI 测试、兼容性测试、接口测试 、安全测试 等等

    功能测试:

    1、 超链接测试    
           
          1)测试是个超链接
             如果不是,直接提bug,问题:检查标签名和属性名
    
          2)测试超链接能够正常打开,不要出现 404等错误
             常见问题代码:404,500
    
         3)测试超链接的入口和目的地址是否一致,即超链接跳转到的目的地是正确的
    
         4)测试超链接的入口情况:如果是文本入口:文本要简短,精炼,正确没有错别字和歧义
    
                                  如果是图片:图片能够正常显示,图片要形象
    
                                  如果实在是找不到具体形象的图片,最好建议加上 tips
    
          测试超链接可以利用测试工具:xenu 工具等
     
    2、表单测试
    
         表单主要是用来整体提交数据的,post 方法,如果有好几个数据一起提交,就可以放在一个表单中
    
         1)测试正常提交表单,测试基本功能:合法的输入(优先级最高)
         2)测试表单的校验:测试单字段校验:必填项 (是否为空);长度(文本的长度,边界值);格式(日期的格式,邮箱的格式,密码格式);内容(非法的,比如要求数字,填非数字)
                            测试对字段联合校验:字段之间有关联,测试关联性,联动反应(比如:身份证号和出生日期;酒店的软件到店,离店日期)
                           
                            测试多值输入字段(重点关注分隔符):比如入住人,如果是多人,如何分隔,最好给出明确的分隔符提示,或者是换行添加功能
    
                            测试表单的入口和出口
    
                            测试字段取值方式的合理性
                       
                            测试字段顺序的合理性
                         
                            测试字段存在的价值:有一些字段无意义,意义不大,不建议出现
        3)GUI用户界面测试 :测试界面上的信息显示是否正确;
                             测试界面的整体布局是否合理美观;
                             测试界面的默认值;
                             测试放大缩小页面,页面还能否正常显示
    
        4)文件上传测试:测试上传文件的类型(允许的类型)、大小、个数;
                         测试重复上传、同名文件上传;
                         测试上传文件后能够查看文件;
                         测试上传时已选中文件,准备上传,删除该文件;
                         测试文件上传以后,再删除原文件,看系统是否有异常;
                         测试上传的进度:文件大的话,需要有进度条
                         测试上传的过程中取消操作;
                         测试文件删除只有,建议直接存储在磁盘上,并且要被重命名存储,防止发生冲突,数据库中只记录文件的基本信息;
    
        5)cookies 测试:查看是否有敏感信息
    
                         需求:阻止所有cookie 写入,软件cookie 中不能有信息
                         需求:允许一部分cookie 写入,阻止一部分写入 ,软件cookie中的信息是否符合需求
                         需求:测试 cookie 的加密
    
                         测试cookie的过期时间:建议不要超过半年
        6)Session 测试 :测试 session 的过期时间
    
        7)测试设计开发语言(不是重点):
    
        8)数据库测试:不是指去测试数据,而是在测试过程中用到数据库
                        
                       测试点:测试前台页面的数据是否和数据库中存储的数据一致
    

    易用性测试(在测试功能的时候就可以一并测试)

    易用性主要是用来关注有用户的感受,提升用户的感受
    
    先分析用户:年龄(儿童、青少年、老人、中年人)
                地域(中国、外国:使用习惯,比如日期习惯)
                类型(技术类(系统风格科技蓝)、环保类(绿色主题)、金融类
    
    怎么提升:界面上,外观上,要吸引人想去用
              从操作上,跟加简单
              从提示上,简单明了亲切
    

    性能测试:web 系统关注多用户使用情况,需要借助性能测试工具来完成(LR、jmeter)

         关注重点:客户端的响应时间要快(2、5、8 参考)
                   
                   服务器端:资源的使用情况
    

    整体用户界面测试:GUI 测试 排版、布局、颜色、字体等等

    兼容性测试:客户端兼容性 : 测试在不同浏览器上都能正常访问(谷歌、火狐、IE)
    重点要兼容的就是:浏览器不同类型、不同版本
    还需要测试在不同的操作系统上兼容不同的浏览器

           服务器端的兼容性:服务器端的兼容性测试主要是指同一个软件需要测试不同的web服务器版本。
                             连接不同的数据库,或者使用不同的网络环境看看是否能够正常工作。
    

    安全测试:没有完全的安全的测试,道高一尺魔高一丈
    安全测试需要用到编程技术,数据库技术,网络技术,信息安全技术等等
    1)测试认证和授权 也属于功能测试
    认证:只有合法的注册过的用户才能登录使用系统,非法的不让用

                             怎么认证更安全:认证方式:用户名、密码、验证码(图形、输入、短信)
    
                                             密码强度的策略
                                         
                                            适可而止,多则困扰,少则不安全
                             授权:权限控制   :不同级别的权限控制
                                                对不同的用户进行授权
                                                对不同的功能模块进行授权
    
                             通过登录和权限的控制来增加系统安全
                             
                             细节注意:登录失败,系统提示用户名或者密码错误
                                       未登录,直接输入登录后的页面地址,必须要重新登录
                                       连续多次登录失败,锁定用户账号
    
           2)文件上传漏洞   测试可执行文件或者脚本文件不让上传
                             测试不能只根据后缀名来判断文件的上传类型
                             测试上传的文件要有最大最小的限制,否则很容易把硬盘系统塞满
                             限制同一个IP地址不能连续多次上传文件,很有可能是恶意上传攻击
    
           3)攻击   SQL注入  在页面上输入一些特殊的信息,来改变代码中SQL的执行
                              特殊的信息一般放在第一个输入框
                              特殊的信息:比如 单引号 '(跟前面的单引号配对) ,# mysql的注释符 ,但是输入到 oracle 数据库中 ,oracle中注释 --
                     
                     DDOS 拒绝服务攻击:指的是利用合理的服务请求来占用过多的服务器资源,从而使服务器无法正常处理合法用户的请求,甚至直接导致服务器崩溃。
                            
                                        写代码或者网络协议
    
                     XSS跨站点脚本攻击:指的是往页面中插入恶意的HTML或者javascript 代码,当用户浏览网页的时候,嵌入的代码就会被执行
    

    接口测试(专项测试):集成测试阶段测试最合适,系统测试阶段也可以测试。

    ----------------------------------------------- APP 测试 -------------------------------------

    web 系统 和app 软件的对比:web 系统:淘宝网站
    app :微信

    相同点:都是软件,和其他软件的相同点一样

    不同点:架构模式不一样,测试重点不一样

    有哪些不同?

    安装测试 app有安装、升级测试、有卸载
    web 系统客户端使用的是浏览器,不需要安装

    功能测试 正常的功能实现以外,app需要额外考虑和手机的交互性测试(比如:看视频,听歌,来电话了…视频音乐暂停了,挂了电话,恢复)
    还有一些特殊模式:分屏模式,单手模式

    GUI用户界面测试 app考虑横屏,竖屏模式,是否显示正常,投屏模式,触屏滑动等等

    兼容性测试:app 兼容:不同的手机,不同手机品牌,同一品牌不同型号;手机的操作系统

    性能测试:app 耗电量,流量,内存,cpu, 温度;多用户使用

    APP测试最重要的几个测试点:

    1、功能方面目前市场上没有达到自动化水平,主要是手工测试。出现问题最多的就是:特殊符号、边界值、按钮之类。
    2、兼容性方面考虑手机的版本、型号、分辨率。不同版本是否在差异,一般低版本问题比较多。
    3、稳定性方面主要考虑:闪退、系统崩溃、没有响应等之类。
    4、易用性:界面吸引人,容易理解,操作简单,无错别字等等。
    5、性能测试关注的重点CPU占用,内存占用,电池温度。(依靠工具来实现)
    6、安装、卸载、升级必须要测试

    APP专项测试
    1、APP测试的准备
    确定APP的设备(品牌、型号、尺寸、屏幕分辨率)
    确定APP的版本及操作系统类型(iOS和Android)
    用表格记录APP的设备和版本
    2、网络测试:2G,3G,4G,Wifi,移动,联通,电信,弱网,强网
    不同网络下能正常工作,网络中断,连接,切换
    3、多任务处理,切换及意外情况处理
    正常打开被测APP
    运行APP的功能
    突然被其他应用打断(意外,短信、电话、通知)
    切换到该应用、或者、忽略该应用
    被测APP能够继续之前的操作,不发生退出或者系统崩溃
    4、手势 (长按屏幕,上下、左右滑动,双手指捏合、放大放小)
    5、消息通知及显示
    6、使用高内存的处理 (App对于读取大量图片、视频等进行高内存占用操作的处理能力)
    7、支持的文件格式
    8、APP的用户体验(横屏,字体大小设置以及美观,遵循iOS和Android的设计规范)
    9、APP响应不同的设备用户界面
    10、APP的消息显示和通知显示 (锁屏的通知,下拉通知栏的通知,应用程序消息栏)
    11、APP能否及时显示和同步数据(Web端 + PC端 + APP端 同步消息及数据)
    12、安装、升级及卸载测试
    13、安装之后的最大权限最小权限获取能否正常使用app(或给出友好提示而不是白屏)
    13、操作系统升级之后能否访问APP
    14、应用召唤
    15、多台设备登录
    16、交互测试:验证APP与系统事件交互式的运行表现

    注意:升级以后,能够访问APP,特别关注历史数据的校验

    ------------------------------------- 微信小程序的测试 ------------------------------------

    简单来讲:小程序不用安装就能使用;它的体积也非常小,每一个都不超过1M。

    微信小程序:优点 方便,免安装,释放手机内存,桌面整洁,需要的时候再用;
    缺点:依赖微信
    不是所有的用户需求都可以满足:比如游戏类
    推送消息有限制

    微信小程序特殊测试点

    1、小程序包大小不能超过3M,开发版对大小没有限制,但是体验版和正式版都有限制。
    2、页面层级跳转不能超过10次,比如分类-》居家-》布艺软装-》居家-》被枕-》居家-》。。。达到10次就无法跳转了,如果非要有这种跳转方式,需要考虑不让微信觉得是10次跳转。
    3、缓存,微信小程序为了提升用户体验,会缓存用户的页面及数据,方便下次调用时直接使用。可能产生的问题:
    (1)微信小程序缓存的数据是否和服务器端一致。实际测试时可以先访问页面,然后修改服务器上数据,再回看小程序中页面,看数据是否一致。
    (2)切换相似的页面,看是否缓存的数据会产生混乱,比如居家和餐厨两个分类,切换分类的时候,会不会因为缓存导致具体信息不发生变化。

    更多相关内容
  • Kali Linux 网络安全渗透测试

    万人学习 2019-06-02 10:28:53
    为什么学网络安全? 1. 市场巨大 每年各安全厂商收入高达400亿左右,随着5G的发展,万物互联时代,市场将进一步扩大... 注意:视频教学内容仅用于网络安全渗透测试。其他行为,自己承担相应的责任,与作者无关。  
  • Python自动化测试之Selenium

    万人学习 2019-08-07 15:57:44
    本课程详细介绍了Selenium Python版本的自动化测试方法和实践,通过本课程的学习你将掌握如下内容:Selenium 测试环境搭建单元测试、生成测试报告、定位元素、WebDriver属性和方法、WebElement属性和方法、操作form...
  • 2021年软件测试面试题大全

    万次阅读 多人点赞 2020-11-30 15:16:59
    简述测试流程: 1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例(等价类划分法、边界值分析法等)。 5、用例评审...

    目录

     

    一、面试基础题

    简述测试流程:

    什么是软件测试?软件测试的目的与原则

    问:软件生存周期及其模型是什么?

    什么是软件质量?

    自动化测试脚本开发的主要步骤:

    目前主要的测试用例设计方法是什么?

    常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用

    测试的策略有哪些?

    单元测试的策略有哪些?

    正交表测试用例设计方法的特点是什么?

    软件的安全性应从哪几个方面去测试?

    需求测试的注意事项有哪些?

    问:你在测试中发现了一个  bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决。

    问:给你一个网站,你如何测试?

    问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?

    软件的安全性应从哪几个方面 去测试?

    软件质量保证体系是什么 国家标准中与质量保证管理相关的几个标准是什么? ? 他们的编号和全称是什么? ?

    测试人员在软件开发过程中的任务是什么?

    在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

    黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

    什么是系统瓶颈?

    手机APP测试

    什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?

    详细的描述一个测试活动完整的过程。

    在您以往的工作中,一条软件缺陷(或者叫  Bug )记录都包含了哪些内容?如何提交高质量的软件缺陷( Bug )记录?

     您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员 良好的人际关系的关键是什么?

    软件测试项目从什么时候开始?为什么?

    测试结束的标准是什么?

    您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

    请你回答一下性能测试有哪些指标,对一个登录功能做性能测试,有哪些指标,怎么测出可同时处理的最大请求数量

    什么是兼容型测试?兼容性测试侧重哪些方面?

    软件测试项目从什么时候开始,?为什么?

     

    二、测试实战面试题

    我现在有个程序,发现在Windows上运行的很慢,怎么判别是程序存在问题还是软硬件系统存在问题

    一个程序有n个变量采用边界值分析可以产生几个测试用例

    请设计一个关于ATM自动取款机的测试用例。

    如何测试一个 纸杯?

    我手上这支笔,请你根据这支笔设计测试用例

    测试手机开机键 

    如何回答登录功能怎么进行测试?

    如何回答京东购物车功能怎么进行测试?

    支付流程测试

    对于有系统大量并发访问,你会如何做测试,有什么建议

    请对这个系统做出测试用例:一个系统,多个摄像头,抓拍车牌,识别车牌,上传网上,网上展示

    请你说一说PC网络故障,以及如何排除障碍

    微信红包

    微信发朋友圈点赞

    如何对淘宝搜索框进行测试

    就linux下的CP命令设计测试用例。

    请问如果用户点击微博的关注图标但是app上面没有反应,应该怎么排查这个问题

    现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:

     

    三、基础知识点

    什么是桩模块?什么是驱动模块?

    什么是扇入?什么是扇出?

    8020原则:在需求分析开始到集成测试阶段引入测试手段,能发现所有缺陷的80%,系统测试阶段发现16%,在运行维护阶段经过长时间大量运行软件后,能够发现4%。起源于经济学。

    什么是耦合?什么是内聚?

    缺陷严重程度:

    缺陷优先级:

    缺陷状态:

    简单的软件缺陷生命周期:

    复杂的软件缺陷生命周期:

    什么是在线用户数?什么是并发用户数?

    分布式软件架构分为:

    测试人员的能力:

    简述负载测试与压力测试的区别。

    软件缺陷管理工具有哪些

    弱网测试

     

    四、智力题


    一、面试基础题

    简述测试流程:

    • 1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。
    • 2、参加需求评审会议。
    • 3、根据最终确定的需求文档编写测试计划。
    • 4、编写测试用例(等价类划分法、边界值分析法等)。
    • 5、用例评审(主要参与人员:开发、测试、产品、测试leader)。
    • 6、开发提交代码至SVN或者GIT ,配管搭建测试环境。
    • 7、执行测试用例,记录发现的问题。
    • 8、验证bug与回归测试。
    • 9、编写测试报告。
    • 10、产品上线。

    补充测试用例设计过程:
    
    根据需求得出测试需求
    
    设计测试方案,评审测试方案
    
    方案评审通过后,设计测试用例,再对测试用例进行评审

     

    什么是软件测试?软件测试的目的与原则

    使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

    软件测试的目的:

    • 测试是程序的执行过程,目的在于发现错误。
    • 一个成功的测试用例在于发现至今未发现的错误。
    • 一个成功的测试是发现了至今未发现的错误的测试。
    • 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
    • 确保产品满足性能和效率的要求。
    • 确保产品是健壮的和适应用户环境的。

     

    问:软件生存周期及其模型是什么?

    软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。

     

    什么是软件质量?

    软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。

     

    自动化测试脚本开发的主要步骤:

    1、通过某些方式定位到我们要执行的对象、目标( Target)

    2、对这个对象进行什么操作(command)

    3、通过操作对定位到的元素赋值(value)

    4、添加断言操作

     

    目前主要的测试用例设计方法是什么?

    白盒测试:

    • 逻辑覆盖
    • 循环覆盖
    • 基本路径覆盖

    黑盒测试:

    • 边界值分析法
    • 等价类划分
    • 错误猜测法
    • 因果图法
    • 状态图法
    • 测试大纲法
    • 随机测试场景法

     

    常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用

    1)等价类划分划分

    等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

     

    2)边界值分析法

    边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设(面试题目:什么样的工作环境适合你&#from一个常见的软件测试面试题来自end#lt;结束)计测试用例,可以查出更多的错误。

     

    使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

     

    3)错误推测法

    基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

    错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

     

    4)因果图方法

    前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。

     

    5)正交表分析法

    有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。

     

    6)场景分析方法

    指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。

     

    测试的策略有哪些?

    黑盒/白盒/灰盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)

    补充:公测是什么?还有没有其他的测试策略?测试策略和测试方法以及测试类型有什么区别?

    按测试 策略分类:
      1、静态与动态测试
      2、黑盒与白盒测试
      3、手工和自动测试
      4、冒烟测试
      5、回归测试;
      按测试阶段分类:单元测试、集成测试、系统测试;
      其他常见测试方法:1、功能测试 2、性能测试 3、压力测试 4、负载测试 5、易用性测试 6、安装测试 7、界面测试 8、配置测试 9、文档测试 10、兼容性测试 11、安全性测12、恢复测试

    α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha 测试不能由程序员或测试员完成。

    β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta 测试不能由程序员或测试员完成。

    回归测试(对软件的新版本测试时,重复执行上一个版本测试时的用例,是为了验证缺陷是否真正修复,确认修复后是否影响其它功能);

    冒烟测试:对新版本测试之前,先验证下软件的基本功能是否实现,是否具备可测性。

     

    单元测试的策略有哪些?

    逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析

     

    正交表测试用例设计方法的特点是什么?

    答:用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

    补充:什么时候用系统测试,测试的每个阶段是什么,比如单元、集成、系统、公测,每个阶段需要什么技术,有什么要求

     

    软件的安全性应从哪几个方面去测试?

    • (1) 用户认证机制:如数据证书、智能卡、双重认证、安全电子交易协议
    • (2) 加密机制
    • (3) 安全防护策略:如安全日志、入侵检测、隔离防护、漏洞扫描
    • (4) 数据备份与恢复手段:存储设备、存储优化、存储保护、存储管理
    • (5) 防病毒系统

    软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。

    用户认证安全的测试要考虑问题:

      • 明确区分系统中不同用户权限
      • 系统中会不会出现用户冲突
      • 系统会不会因用户的权限的改变造成混乱
      • 用户登陆密码是否是可见、可复制
      • 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)
      • 用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统
      • 系统网络安全的测试要考虑问题
      • 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上
      • 模拟非授权攻击,看防护系统是否坚固
      • 采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,
      • 现在最常用的是 NBSI 系列和 IPhacker IP )
      • 采用各种木马检查工具检查系统木马情况
      • 采用各种防外挂工具检查系统各组程序的外挂漏洞

    数据库安全考虑问题:

      • 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)
      • 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这
      • 个系统的功能实现有了障碍)
      • 系统数据可管理性
      • 系统数据的独立性
      • 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

     

    α测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环

    境下进行的受控测试,Alpha 测试不能由程序员或测试员完成。

    β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在

    测试现场,Beta 测试不能由程序员或测试员完成。

    需求测试的注意事项有哪些?

    •        是否使用了公司的模板
    •   文档内容是否符合规范
    •   所有的需求是分级是否清析适当?
    •   所有的需求是否具有一致性
    •   需求是否可行(即,该需求组合有解决方案)
    •   需求可否用己知的约束来实现
    •   需求是否足够(即,可以把它送到一个规范的开发组织,并有一个生产出所需要产品的合理的可能性)
    •   所有的其它需求是交叉引用是否正确
    •   用户描述是否清楚
    •   是否用客户的语言来描述需求
    •   每个需求描述是否清楚没有岐义,可以移交给一个独立的组去实现时也能理解
    •   是否所有的需求都是可验证的
    •   是否每条需求都具有独立性,即使发生了变化也不会影响其它需求
    •   性能指标是否明确
    •   非功能性需求是否得到充分表现
    •   是否完整列出适用的标准或协议
    •   标准和协议之间是否存在冲突

    问:你在测试中发现了一个  bug ,但是开发经理认为这不是一个  bug ,你应该怎样解决。

    1. 将问题提交到缺陷管理库里面进行备案。
    2. 要获取判断的依据和标准:     根据需求说明书、产品说明、设计文档等,确认实际结果是否与计划有不一致的地方,提供缺陷是否确认的直接依据;     如果没有文档依据,可以根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;   根据用户的一般使用习惯,来确认是否是缺陷;
    3. 与设计人员、开发人员和客户代表等相关人员探讨,确认是否是缺陷;
    4. 合理的论述,向测试经理说明自己的判断的理由,注意客观、严谨,不参杂个人情绪。
    5. 等待测试经理做出最终决定,如果仍然存在争议,可以通过公司政策所提供的渠道,向上级反映,并有上级做出决定。

     

     

    问:给你一个网站,你如何测试?

    1、查找需求说明、网站设计 m 等相关文档,分析测试需求。

    2、制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:

         功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试

    3、设计测试用例:

         功能性测试可以包括,但不限于以下几个方面:

         链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。提交功能的测试。

         多媒体元素是否可以正确加载和显示。多语言支持是否能够正确显示选择的语言等。

         界面测试可以包括但不限于一下几个方面:

    • 页面是否风格统一,美观
    • 文字检查
    • 对于必须但为安装的空间,是否提供自动下载并安装的功能
    • 控件是否正常使用
    • 页面布局是否合理,重点内容和热点内容是否突出                                                       

     

    问:一台客户端有三百个客户与三百个客户端有三百个客户对服务器施压,有什么区别? ?

    300 个用户在一个客户端上,会占用客户机更多的资源,而影响测试的结果。线程之间可能发生干扰,而产生一些异常。300 个用户在一个客户端上,需要更大的带宽。IP 地址的问题,可能需要使用 IP Spoof 来绕过服务器对于单一 IP 地址最大连接数的限制。所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。

    你工作中遇到最具价值的bug,就是重大bug咯,例如app性能测试测哪些,那你就看一看性能测试的视频咯

     

    软件的安全性应从哪几个方面 去测试?

    软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。

    用户认证安全的测试要考虑问题:

    • 明确区分系统中不同用户权限
    • 系统中会不会出现用户冲突
    • 系统会不会因用户的权限的改变造成混乱
    • 用户登陆密码是否是可见、可复制
    • 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)
    • 用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统
    • 系统网络安全的测试要考虑问题
    • 测试采取的防护措施是否正确装配好,有关系统的补丁是否打上
    • 模拟非授权攻击,看防护系统是否坚固
    • 采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,
    • 现在最常用的是 NBSI 系列和 IPhacker IP )
    • 采用各种木马检查工具检查系统木马情况
    • 采用各种防外挂工具检查系统各组程序的外挂漏洞

    数据库安全考虑问题:

    • 系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)
    • 系统数据的完整性(我刚刚结束的企业实名核查服务系统中就曾存在数据的不完整,对于这个系统的功能实现有了障碍)
    • 系统数据可管理性
    • 系统数据的独立性
    • 系统数据可备份和恢复能力(数据备份是否完整,可否恢复,恢复是否可以完整)

     

     

    软件质量保证体系是什么 国家标准中与质量保证管理相关的几个标准是什么? ? 他们的编号和全称是什么? ?

    SQA 由一套软件工程过程和方法组成,以保证(软件的)质量。SQA 贯穿整个软件开发过程,(它)应包括需求文档评审、代码控制、代码评审、变更管理、配置管理、版本管理和软件测试。

     

    测试人员在软件开发过程中的任务是什么?

    1、寻找 Bug;

    2、避免软件开发过程中的缺陷;

    3、衡量软件的品质;

    4、关注用户的需求。

    总的目标是:确保软件的质量。

     

    在您以往的工作中,一条软件缺陷(或者叫 Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

    一条 Bug 记录最基本应包含:编号、Bug 所属模块、Bug 描述、Bug 级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;

    要有效的发现 Bug 需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认

    肯定,然后再向外发布如此才能提高提交 Bug 的质量。

     

     

    黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!

    黑盒测试的优点有:

           比较简单,不需要了解程序内部的代码及实现;与软件的内部实现无关;从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;在做软件自动化测试时较为方便。

    黑盒测试的缺点有:

           不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的 30%;自动化测试的复用性较低。

    白盒测试的优点有:

         帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

    白盒测试的缺点有:

           程序运行会有很多不同的路径,不可能测试所有的运行路径;测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;系统庞大时,测试开销会非常大。

     

     

    什么是系统瓶颈?

    参考答案:

    瓶颈主要是指整个软硬件构成的软件系统某一方面或者几个方面能力不能满足用户的特定业务要求,“特定”是指瓶颈会在某些条件下会出现,因为毕竟大多数系统在投入前。

    严格的从技术角度讲,所有的系统都会有瓶颈,因为大多数系统的资源配置不是协调的,例如CPU使用率刚好达到100%时,内存也正好耗尽的系统不是很多见。因此我们讨论系统瓶颈要从应用的角度讨论:关键是看系统能否满足用户需求。在用户极限使用系统的情况下,系统的响应仍然正常,我们可以认为改系统没有瓶颈或者瓶颈不会影响用户工作。

    因此我们测试系统瓶颈主要是实现下面两个目的:

    -发现“表面”的瓶颈。主要是模拟用户的操作,找出用户极限使用系统时的瓶颈,然后解决瓶颈,这是性能测试的基本目标。

    -发现潜在的瓶颈并解决,保证系统的长期稳定性。主要是考虑用户在将来扩展系统或者业务发生变化时,系统能够适应变化。满足用户目前需求的系统不是最好的,我们设计系统的目标是在保证系统整个软件生命周期能够不断适应用户的变化,或者通过简单扩展系统就可以适应新的变化。

     

    手机APP测试

    :主要包括功能、性能测试、稳定性、兼容性、用户测试。

     

    性能测试:CPU占用/内存占用 /耗电测试 /流量消耗测试 /安装包大小 /加载时间测试 /核心功能相应时间 (①启动时间检测:检测App在终端上首次启动时间。 ②内存、CPU耗用检测:检测App在终端上运行时不同时段占用内存、CPU情况。 ③流量耗用检测:检测App在终端上运行时的网络流量消耗情况。 ④电池温度检测:检测App在终端上运行时,对终端的电池温度等性能指标的影响情况 )

     

    兼容性测试:屏幕分辨率 /网络状态,状态切换 /android版本 /安装卸载升级等 /权限设置 /与其他APP兼容性 (①安装卸载测试:测试App在指定终端上是否可正常安装、正常卸载,准确定位错误原因。 ②遍历测试:自动识别App可执行的功能,在一定时间内遍历App的不同功能界面,通过截图记录操作路径 并输出日志、定位异常现象。 ③运行稳定性测试:类似Monkey的随机性压力测试,测试App运行期的稳定性。 ④UI适配测试:测试App的UI与目标终端的屏幕是否适配,记录是否存在渲染失败、错位、黑边框、黑白屏等现象。)

     

    稳定性测试包括:服务器异常时稳定性 /外部事件影响(电话,短信等) /内存是否有溢出或者泄漏 /多线程问题 。

     

     

     

    什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?

    参考答案:

    在同一时间点,支持多个不同的操作。

    LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。

    集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。集合点失败,则集合点的才操作就会取消,测试就不能进行。

     

     

    详细的描述一个测试活动完整的过程。

    答案:(供参考,本答案主要是瀑布模型的做法)

           项目经理通过和客户的交流,完成需求文档,由开发人员和测试人员共同完成需求文档的评审,评审的内容包括:需求描述不清楚的地方和可能有明显冲突或者无法实现的功能的地方。项目经理通过综合开发人员,测试人员以及客户的意见,完成项目计划。然后 SQA 进入项目,开始进行统计和跟踪开发人员根据需求文档完成需求分析文档,测试人员进行评审,评审的主要内容包括是否有遗漏或者双方理解不同的地方。测试人员完成测试计划文档,测试计划包括的内容上面有描述。测试人员根据修改好的需求分析文档开始写测试用例,同时开发人员完成概要设计文档,详细设计文档。此两份文档成为测试人员撰写测试用例的补充材料。测试用例完成后,测试和开发需要进行评审。测试人员搭建环境开发人员提交第一个版本,可能存在未完成功能,需要说明。测试人员进行测试,发现 BUG后提交给 BugZilla。开发提交第二个版本,包括 Bug Fix 以及增加了部分功能,测试人员进行测试。重复上面的工作,一般是 3-4 个版本后 BUG 数量减少,达到出货的要求。如果有客户反馈的问题,需要测试人员协助重现并重新测试。

     

    在您以往的工作中,一条软件缺陷(或者叫  Bug )记录都包含了哪些内容?如何提交高质量的软件缺陷( Bug )记录?

    在传统的 BugZilla 中,BUG 描述应该包括以下的信息和 BUG 产生对应的软件版本和模块开发的接口人员BUG 的优先级BUG 的严重程度BUG 可能属于的模块,如果不能确认,可以用开发人员来判断BUG 标题,需要清晰的描述现象BUG 描述,需要尽量给出重新 Bug 的步骤BUG 附件中能给出相关的日志和截图。高质量的 BUG 记录就是指很容易理解的 BUG 记录,所以,对于描述的要求高,能提供的信息多且准确,很好的帮助开发人员定位,因此提交高质量的软件缺陷记录需要注意对 BUG 记录的描述质量多且准确。

     

     您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员 良好的人际关系的关键是什么?

           尽量面对面的沟通,其次是能直接通过电话沟通,如果只能通过 Email 等非及时沟通工具的话,强调必须对特性的理解深刻以及能表达清楚。运用一些测试管理工具如 TestDirector 进行管理也是较有效的方法,同时要注意在TestDirector 中对 BUG 有准确的描述。在团队中建立测试人员与开发人员良好沟通中注意以下几点:一真诚二是团队精神三是在专业上有共同语言四是要对事不对人,工作至上当然也可以通过直接指出一些小问题,而不是进入 BUG Tracking System 来增加对方的好感。

     

    软件测试项目从什么时候开始?为什么?

          软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费的成本就越大.

     

    测试结束的标准是什么?

           从微观上来说,在测试计划中定义,比如系统在一定性能下平稳运行 72 小时,目前 BugTracking System 中,本版本中没有一般严重的 BUG,普通 BUG 的数量在 3 以下,BUG 修复率 90%以上等等参数,然后由开发经理,测试经理,项目经理共同签字认同版本 Release。如果说宏观的,则是当这个软件彻底的消失以后,测试就结束了。

     

    您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

    开发过程---需求调研(需求人员)、需求分析(需求人员)、概要设计(设计人员)、详细设计(设计人员)、编码(开发人员)测试过程---需求评审、系统测试设计、概要设计评审、集成测试设计、详细设计评审、单元测试设计、测试执行测试工作的整个过程都做过,擅长做测试设计过程决定质量,软件的过程改进正是为了提高软件的质量,将过往的种种经验和教训积累起来。

    补充

    1.明确测试的目标,增强测试计划的实用性编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确

    2.坚持“5W”规则,明确内容与过程

    “5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。

    3.采用评审和更新机制,保证测试计划满足实际需求

    测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。分别创建测试计划与测试详细规格、测试用例,应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

     

    请你回答一下性能测试有哪些指标,对一个登录功能做性能测试,有哪些指标,怎么测出可同时处理的最大请求数量

    参考回答:

    性能测试常用指标:

    从外部看,主要有

    1、吞吐量:每秒钟系统能够处理的请求数,任务数

    2、响应时间:服务处理一个请求或一个任务的耗时

    3、错误率:一批请求中结果出错的请求所占比例

    从服务器的角度看,性能测试关注CPU,内存,服务器负载,网络,磁盘IO

    对登录功能做性能测试

    单用户登陆的响应界面是否符合预期

    单用户登陆时后台请求数量是否过多

    高并发场景下用户登录的响应界面是否符合预期

    高并发场景下服务端的监控指标是否符合预期

    高集合点并发场景下是否存在资源死锁和不合理的资源等待

    长时间大量用户连续登录和登出,服务器端是否存在内存泄漏

    怎么测出可同时处理的最大请求数量

    可以采用性能测试工具(WeTest服务器性能),该工具是腾讯wetest团队出品,使用起来很简单方便,但测试功能相当强大,能提供10w+以上的并发量,定位性能拐点,测出服务器模型最大并发

     

    什么是兼容型测试?兼容性测试侧重哪些方面?

    兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了

    兼容和配置测试的区别在于,做配置测试通常不是在Clean OS下做测试,而兼容测试多是在Clean OS环境下做的。

    补充:做兼容测试的具体步骤:在列好的软硬件环境清单做冒烟测试,还是每一步都测试。测出不兼容,怎么和开发沟通,开发面对这些不兼容需要做什么。如果修复成本很高,怎么和产品经理沟通。和谁确认表单

     

     

    软件测试项目从什么时候开始,?为什么?

    软件测试应该在需求分析阶段就介入,因为测试的对象不仅仅是程序编码,应该对软件开发

    过程中产生的所有产品都测试,并且软件缺陷存在放大趋势.缺陷发现的越晚,修复它所花费

    的成本就越大.

     

     

    二、测试实战面试题

     

    我现在有个程序,发现在Windows上运行的很慢,怎么判别是程序存在问题还是软硬件系统存在问题

    1、检查系统是否有中毒的特征

    2、检查软件/硬件的配置是否符合软件的推荐标准

    3、确认当前的系统是否独立,即没有对外提供什么消耗CPU资源的服务

    4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成

    5、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况

    补充:每一步该怎么实现,需要用到什么技术

     

    一个程序有n个变量采用边界值分析可以产生几个测试用例

    4n+1

     

    请设计一个关于ATM自动取款机的测试用例。

    1)功能

    a)ATM所识别卡的类型;

    b)密码验证(身份登陆、是否为掩码、输入错误密码时是否提示,连续三次错误吞卡等);

    c)取款功能:

    i、金额多少的限制,单次最大最小提取金额、每天最大提取金额等);

    Ii、取款币种的不同,如人民币、美元、欧元等。

    d)是否提示客户操作完成后,打印相关操作信息;

    e)查询功能是否正常;

    f)转账功能是否正常;

    g)是否提示客户操作完成后,取回客户卡;

     

    2)性能

    a)是否有自动吞卡:非法客户\密码错误客户\规定时间内未完成相关操作功能的客户。(如果有,有无报警功能(保密报警))

    b)平均无故障时间,平均故障修复时间,输入密码后验证时间,出钞票时间,查询余额等待时间。

     

    3)易用性

    a)ATM各个操作功能(硬件)是否正常、易懂;

    b)ATM的界面显示是否友好;

    c)ATM是否支持英文操作;

    d)ATM是否存在异常(断电、黑客入侵)有自动保护(报警)功能;

     

    如何测试一个 纸杯?

    功能度:用水杯装水看漏不漏;水能不能被喝到

    安全性:杯子有没有毒或细菌

    可靠性:杯子从不同高度落下的损坏程度

    可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用

    兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等

    易用性:杯子是否烫手、是否有防滑措施、是否方便饮用

    用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述

    疲劳测试:将杯子盛上水(案例一)放 24 小时检查泄漏时间和情况;盛上汽油(案例二)

    放 24 小时检查泄漏时间和情况等

    压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

     

     

     

    我手上这支笔,请你根据这支笔设计测试用例

       首先我要测它的外观、颜色是否符合要求、所占的空间是多大、是否环保、接下来测它的质量、这支笔是否能够写字流畅、写出的自得颜色是否符合要求、能使用多长时间等

     

     

    测试手机开机键 

    功能测试:按下开机键,屏幕能否亮起

    性能测试:按下开机键,屏幕能否在规定时间内亮起

    压力测试:连续多次按下开机键,观察屏幕是否能一直亮起,到多久时间失灵

    健壮性测试:给定一个中了病毒的手机或者是淘汰许久的老机子,安歇开机键观察屏幕能否亮起

    可靠性测试:连续按下开机键有限次数,比如1万次,记录屏幕未亮起的次数

    可用性测试:开机键按下费不费力,开机键的形状设计是否贴合手指,开机键的位置设计是否方便

     

     

    如何回答登录功能怎么进行测试?

     

    首先,进行界面测试。

    查看界面上的所有元素是否齐全;

    没有输入内容时,是否有相应的提示语;

    验证码是否能够显示;

    移动鼠标,【登陆】按钮默认不能点击;

    【忘记密码】是否有个小问号“?”(其他都有);

     

    第二,进行功能测试。

    输入正确的用户名、密码、验证码,点【登陆】能登陆;

    输入正确的用户名、错误的密码、正确的验证码,提示用户名或密码错误;

    输入错误的用户名、正确的验证码,提示用户名或密码错误;

    输入正确的用户名、密码,错误的验证码,提示验证码错误;

    输入不符合规则的手机号或者邮箱应该提示错误;

    页面长时间不登陆和操作,验证码会不会过期;

    点【记住密码】,登录后退出,再次登陆是不是可以不输入密码;

    点【忘记密码】能够跳转到密码设置页面(至于是什么不用管,就是能不能跳转)

    只点击验证码图案,验证码能不能刷新;

    页面刷新,验证码图案能不能刷新;

    输入栏是否设置快速删除按钮;

    用户名和密码是否大小写敏感;

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

    登陆成功,是否有记住密码功能;

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

    新用户第一次登陆成功,是否有修改密码提示;

    用户登录过程中log中是否有个人信息明文打印;

    是否支持第三方登陆;

    刷新页面时是否会刷新验证码;

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

    不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确;

     

    第三、业务安全测试。

    有没有登陆错误次数的限制;

    每次登陆错误之后有没有限制再次登陆的时间间隔;

    是否支持一个账号多地登陆;

    不同机型登陆,异地登陆是否有提醒  ;

    不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面;

     

    第四、兼容性测试。

    在相同浏览器的不同版本上打开登录页面,效果是否一致;在不同浏览器上打开登录页面,效果是否一致;在不同操作系统的不同浏览器打开登录页面,效果是否一致;在不同的屏幕分辨率下打开登录页面,效果是否一致;

     

    第五、代码安全性测试。

    用户输入登录信息登陆时,个人信息是不是会显示在浏览器地址栏;

    用户登陆的时候,通过抓包工具抓数据,密码是否加密;

    查看页面源代码,验证码是否直接显示在代码中;

    密码在后台储存时是否加密;

    是否可以使用登录的API发送登录请求,并绕开验证码校验;

    用户名和密码的输入框中分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面;

    用户名和密码的输入框中分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改;

     

    第六、页面性能测试。

    单用户登录的响应时间是否小于3秒;

    通过工具向登录页发起大量请求,查看页面响应时间的变化;

    通过工具对登陆功能进行并发测试;通过工具向登录页发起大量请求,查看页面何时崩溃;

    通过工具向登录页发起大量请求,查看页面崩溃后有没有良好的提示信息;

    通过工具向登录页发起大量请求,查看页面崩溃后多长时间能够恢复服务;

    弱网,不同网速时登陆的时间,网络切换和网络延迟时登陆界面是否正常;

     

    最后、易用性测试。

    页面是否美观;

    功能是否都可以使用;

    页面速度快不快;

    页面元素加载是否耗费网络流量;

    能不能第三方登陆;

    为什么不使用手机验证码登陆;

    输入框能否可以以Tab键切换。

     

     

    如何回答京东购物车功能怎么进行测试?

     

    1.功能测试

    a)、未登录时:

    将商品加入购物车,页面跳转到登录页面,登录成功后购物车数量增加。

    b)、登录后:

    所有链接是否跳转正确;

    商品是否可以成功加入购物车;

    没有限购要求的商品,添加数量能不能超过库存数;

    购物车商品总数是否有限制;

    商品总数统计是否正确;

    全选功能是否可用;

    删除功能是否可用;

    删除功能是否有提示;

    价格总计是否正确;

    商品文字太长时是否显示完整;

    购物车中下架的商品是否有标识,是否还能支付;

    新加入购物车商品排序(添加购物车中存在的店铺的商品和购物车中不存在的店铺的商品);

    是否支持快TAB、ENTER等快捷键;

    商品删除后商品总数是否减少;

    收藏功能是否可用;

    账号退出后,购物车添加的内容是否还在;

    购物车结算功能是否可用。

    限购商品按照规则购买完成后,还能不能再次添加购物车并购买;

    2.兼容性测试

    BS架构:不同浏览器测试,比如:IE,火狐,谷歌,360这些。

    APP:在主流的不同类型,不同分辨率,不同操作系统的手机上测试,华为,vivo,oppo等

    3.用户体验测试

    删除商品是否有提示;

    是否支持快捷键功能;

    是否有回到顶部的功能;

    商品过多时结算按钮是否可以浮动显示;

    购物车有多个商品时,能不能只对单个商品结算;

    界面布局、排版是否合理;

    文字是否显示清晰;

    不同卖家的商品是否区分明显。

    4.性能测试

    打开购物车页面要多长时间

     

     

    支付流程测试

    功能测试。

    用等价类和边界值,判断支付的金额;

    如果没有登陆能否支付,支付成功后是否可以正常跳转;

    支付方式是否支持扫码支付,第三方平台支付(支付包,云网等),语音支付,指纹支付;

    支付时是否需要身份验证,支付后有无手机短信提示,是否可以找他人代付;

    用边界值法有无支付额度限制,余额不足时有无提示,支付时是否是动态加密支付;

    待支付状态:订单是否可以正常支付;是否可以取消;有相同订单是否可以支付两次;

    是否可以扫码支付,输入错误的密码会怎样显示,有无错误次数限制;

    若支持扫码支付,二维码是否支持支付包和微信扫码,若两人同时扫描怎么处理;

    有无最小支付金额限制,无意义的支付金额0,重复支付如何处理;

    如果支付包含优惠金额,该怎么处理优惠额度;

     

    性能测试 

    弱网,无网时是否可以支付;

    退款到账时间,耗电量的多少;

    带负载情况下的响应时间和吞吐率,在某个时间段内同时访问系统的用户数量 ;

     

    压力测试

    多人同时付款;

    界面测试;

    支付界面有无错别字,排版是否合理,颜色搭配是否合理;

     

    兼容性测试

    是否可以跨平台,不同电脑机型下显示有无区别;

    安全性测试;

    若支付不成功是否原路退款,若支付成功,有无支付信息提示;

    用fiddler抓包尝试修改价格,对订单金额有无效验;

    直接输入需要权限的页面地址可用访问;

     

    接口测试

    第三方平台支付 

     

     

     

    对于有系统大量并发访问,你会如何做测试,有什么建议

    参考回答:

    如何做高并发系统的测试,一般而言,整体的测试策略是:先针对部分系统进行性能测试及压力测试,得到各部分的峰值处理性能,再模拟整体流程测试,重点测试整体业务流程以及业务预期负荷,着重测试以下几点:

    1、不同省份,不同运营商CDN节点性能,可采用典型压力测试方案

    2、核心机房BGP网络带宽,此部分重点在于测试各运行商的BGP网络可靠性,实际速率,一般采用smokeping,lxChariot等工具

    3、各类硬件设备性能,一般采用专业的网络设备测试工具

    4、各类服务器并发性能,分布式处理能力,可采用压力测试方案工具

    5、业务系统性能,采用业务系统压力测试方案

    6、数据库处理性能,这部分需要结合业务系统进行测试,以获取核心业务场景下的数据库的TPS/QPS,

    7、如果有支付功能,需要进行支付渠道接口及分流测试,此部分相对而言可能是最大的瓶颈所在,此外还涉及备份方案,容灾方案,业务降级方案的测试。

     

    请对这个系统做出测试用例:一个系统,多个摄像头,抓拍车牌,识别车牌,上传网上,网上展示

    参考回答:

    功能:

    1.每个摄像头都能抓拍车牌;

    2.每个摄像头抓拍到的车牌能正常交给系统处理;

    3.系统能够正确识别车牌;

    4.系统能够将识别出的车牌上传;

    5.上传至网络的车牌能够正常展示出来;

    一、功能测试

    1.使用正常的车牌,保持车牌静止,检查每个摄像头是否能抓拍车牌;

    2.使用类似非车牌的写有字的纸板,检查每个摄像头是否抓拍;

    3.使用正常的车牌,保持车牌较高速移动,检查每个摄像头是否能抓拍车牌;

    4.在多种情况下检查每个摄像头抓拍到的车牌能否正常交给系统处理,如临时断电、断网后能否正常将数据交给系统;

    5.使用抓拍到的正常的车牌,交由系统处理,检查系统能否识别车牌;

    6.使用非车牌的其他图片,交由系统处理,检查系统能否识别;

    7.在多种情况下检查系统能否将正常识别出的车牌进行上传,如临时断电、断网后未上传数据是否能继续上传;

    8.构造非车牌的其他内容的数据,检查系统能否将异常内容进行上传;

    9.检查上传至网络的车牌能否正常展示出来;

    10.上传非车牌的其他内容的数据,检查能否正常显示出来。

    二、性能测试

    1.同时向一个摄像头展示多个静止的车牌,检查摄像头能否抓拍到多个车牌;

    2.同时向一个摄像头展示多个较高速运动的车牌,检查摄像头能否抓拍到多个车牌;

    3.抓拍后,检查系统识别车牌的时间是否在需求要求的时间内;

    4.模拟大量抓拍照片同时交由系统处理,检查一定压力下系统能否正常识别车牌;

    5.模拟大量车牌同时上传,检查一定压力下能否上传成功。

    三、安全性测试

    1.检查是否能够通过给车牌加装饰物等方法,使摄像头无法抓拍或抓拍后系统无法正常识别车牌。

     

     

    请你说一说PC网络故障,以及如何排除障碍

    参考回答:

    (1)首先是排除接触故障,即确保你的网线是可以正常使用的。然后禁用网卡后再启用,排除偶然故障。打开网络和共享中心窗口,单击窗口左上侧“更改适配器设置”右击其中的“本地连接“或”无线网络连接”,单击快捷菜单中的“禁用”命令,即可禁用所选网络。接下来重启网络,只需右击后单击启用即可。

    (2)使用ipconfig查看计算机的上网参数

    1、单击“开始|所有程序|附件|命令提示符“,打开命令提示符窗口

    2、输入ipconfig,按Enter确认,可以看到机器的配置信息,输入ipconfig/all,可以看到IP地址和网卡物理地址等相关网络详细信息。

    (3)使用ping命令测试网络的连通性,定位故障范围

    在命令提示符窗口中输入”ping 127.0.0.1“,数据显示本机分别发送和接受了4个数据包,丢包率为零,可以判断本机网络协议工作正常,如显示”请求超时“,则表明本机网卡的安装或TCP/IP协议有问题,接下来就应该检查网卡和TCP/IP协议,卸载后重装即可。

    (4)ping本机IP

    在确认127.0.0.1地址能被ping通的情况下,继续使用ping命令测试本机的IP地址能否被ping通,如不能,说明本机的网卡驱动程序不正确,或者网卡与网线之间连接有故障,也有可能是本地的路由表面收到了破坏,此时应检查本机网卡的状态是否为已连接,网络参数是否设置正确,如果正确可是不能ping通,就应该重新安装网卡驱动程序。丢失率为零,可以判断网卡安装配置没有问题,工作正常。

    (5)ping网关

    网关地址能被ping通的话,表明本机网络连接以及正常,如果命令不成功,可能是网关设备自身存在问题,也可能是本机上网参数设置有误,检查网络参数。

     

     

    微信红包

    功能

    1.在红包钱数,和红包个数的输入框中只能输入数字

    2.红包里最多和最少可以输入的钱数  200  0.01

    3.拼手气红包最多可以发多少个红包  100

    3.1超过最大拼手气红包的个数是否有提醒

    4.当红包钱数超过最大范围是不是有对应的提示

    5.当发送的红包个数超过最大范围是不是有提示

    6.当余额不足时,红包发送失败

    7.在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号,

    7.1是否可以输入它们的混合搭配

    8.输入红包钱数是不是只能输入数字

    9.红包描述里许多能有多少个字符   10个

    10.红包描述,金额,红包个数框里是否支持复制粘贴操作

    12.红包描述里的表情可以删除

    13.发送的红包别人是否可以领取

    13.1发的红包自己可不可以领取   2人

    14. 24小时内没有领取的红包是否可以退回到原来的账户

    14.1  超过24小时没有领取的红包,是否还可以领取

    15.用户是否可以多次抢一个红包

    16.发红包的人是否还可以抢红包   多人

    17.红包的金额里的小数位数是否有限制

    18.可以按返回键,取消发红包

    19. 断网时,无法抢红包

    20.可不可以自己选择支付方式

    21.余额不足时,会不会自动匹配支付方式

    22.在发红包界面能否看到以前的收发红包的记录

    23.红包记录里的信息与实际收发红包记录是否匹配

    24.支付时可以密码支付也可以指纹支付

    25.如果直接输入小数点,那么小数点之前应该有个0

    26.支付成功后,退回聊天界面

    27.发红包金额和收到的红包金额应该匹配

    28.是否可以连续多次发红包

    29.输入钱数为0,"塞钱进红包"置灰

     

    性能

    1.弱网时抢红包,发红包时间

    2.不同网速时抢红包,发红包的时间

    3.发红包和收红包成功后的跳转时间

    4.收发红包的耗电量

    5.退款到账的时间

     

    兼容

    1.苹果,安卓是否都可以发送红包

    2.电脑端可以抢微信红包

     

    界面

    1.发红包界面没有错别字

    2.抢完红包界面没有错别字

    3.发红包和收红包界面排版合理,

    4.发红包和收到红包界面颜色搭配合理

     

    安全

    1.对方微信号异地登录,是否会有提醒   2人

    2.红包被领取以后,发送红包人的金额会减少,收红包金额会增加

    3.发送红包失败,余额和银行卡里的钱数不会少

    4.红包发送成功,是否会收到微信支付的通知

     

    易用性(有点重复)

    1.红包描述,可以通过语音输入

    2.可以指纹支付也可以密码支付

     

     

    微信发朋友圈点赞

    参考回答:

    功能测试:

    点赞某条朋友圈,验证是否成功

    接口测试:

    点赞朋友圈,验证朋友能否收到提示信息

    性能测试

    点赞朋友圈,是否在规定时间显示结果,是否在规定时间在朋友手机上进行提示

    兼容性测试

    在不同的终端比如ipad,手机上点赞朋友圈,验证是否成功

     

     

    如何对淘宝搜索框进行测试

    参考回答:

    一, 功能测试

    1. 输入关键字,查看: 返回结果是否准确,返回的文本长度需限制

    1.1输入可查到结果的正常关键字、词、语句,检索到的内容、链接正确性;

    1.2输入不可查到结果的关键字、词、语句;

    1.3输入一些特殊的内容,如空、特殊符、标点符、极限值等,可引入等价类划分的方法等;

    2. 结果显示:标题,卖家,销售量,单行/多行,是否有图片

    3. 结果排序:价格 销量 评价 综合

    4.返回结果庞大时,限制第一页的现实量,需支持翻页

    5. 多选项搜索:关键字 品牌 产地 价格区间 是否天猫 是否全国购

    6. 是否支持模糊搜索,支持通配符的查询

    7, 网速慢的情况下的搜索

    8. 搜索结果为空的情况

    9. 未登录情况和登录情况下的搜索(登录情况下 存储用户搜索的关键字/搜索习惯)

    二.性能测试:

    1压力测试:在不同发用户数压力下的表现(评价指标如响应时间等)

    2负载测试:看极限能承载多大的用户量同时正常使用

    3稳定性测试:常规压力下能保持多久持续稳定运行

    4内存测试:有无内存泄漏现象

    5大数据量测试:如模拟从庞大的海量数据中搜索结果、或搜索出海量的结果后列示出来,看表现如何等等。

    三. 易用性:交互界面的设计是否便于、易于使用

    1依据不同的查询结果会有相关的人性化提示,查不到时告知?查到时统计条数并告知?有疑似输入条件错误时提示可能正确的输入项等等处理;

    2查询出的结果罗列有序,如按点击率或其他排序规则,确保每次查询出的结果位置按规则列示方便定位,显示字体、字号、色彩便于识别等等;

    3标题查询、全文检索、模糊查询、容错查询、多关键字组织查询(空格间格开)等实用的检索方式是否正常?

    4输入搜索条件的控件风格设计、位置摆放是否醒目便于使用者注意到,有否快照等快捷查看方式等人性化设计?

    四. 兼容性

    1WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用

    2IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下、各种显示分辨率条件下的应用

    3SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试

    4简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试

    5IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试

    6与各相关的监控程序的兼容性测试,如输入法、杀毒、监控、防火墙等工具同时使用

    五. 安全性

    1被删除、加密、授权的数据,不允许被SQL注入等攻击方式查出来的,是否有安全控制设计;

    2录入一些数据库查询的保留字符,如单引号、%等等,造成查询SQL拼接出的语句产生漏洞,如可以查出所有数据等等,这方面要有一些黑客攻击的思想并引入一些工具和技术,如爬网等。

    3通过白盒测试技术,检查一下在程序设计上是否存在安全方面的隐患;

    4对涉及国家安全、法律禁止的内容是否进行了相关的过滤和控制;

     

     

     

     

    就linux下的CP命令设计测试用例。

    功能

     

    拷贝的文件

    1)大小:0k, 1k, 10k, 100k, 1000k…

    2)类型:二进制文件、文本文件、mp3、avi、压缩文件…

     

    文件源目录

    1)文件中包含各种类型的文件

    2)目录深度为0,1,2,3…

     

    文件目标目录

    1)目标目录中存在与源文件同名同类型的文件

    2)目标目录中存在与源文件同名不同类型的文件

    3)目标目录中存在与源文件不同名同类型的文件

    4)目标目录中存在与源文件不同名不同类型的文件

     

    异常

     

    参数异常

    1)包含特殊字符

    2)参数长度超过限制

    3)源目录不存在

    4)目标目录不存在

     

    文件异常

    1)文件没有拷贝权限

    2)非法的文件格式和内容

     

    存储介质异常

    1)存储介质由损坏

    2)拷贝前存储介质已满

    3)拷贝中存储介质存满

     

    执行过程异常

    1)拷贝过程中删除源文件

    2)拷贝过程中删除目标文件

     

    性能

    1)拷贝大文件

    2)拷贝源目录中存在大量小文件

    3)跨文件系统拷贝

    4)跨存储介质拷贝

    5)并发执行拷贝

     

    关注性能点:拷贝完成时间,CPU,内存,磁盘IO

     

     

     

    请问如果用户点击微博的关注图标但是app上面没有反应,应该怎么排查这个问题

    • 是否手机出现故障,是否手机缓存过多造成内存不够用
    • 是否手机网络连接不稳定(弱网/无网),若是,有无网络差提示
    • 是否手机内存溢出(关注人数达上限否)
    • 是否是版本问题或者是安装包问题(更新系统,重新安装安装包)

     

    现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:

    标题:这一组只有一个记录,其内容为输出成绩报告的名字。

    试卷各题标准答案记录:每个记录均在第80个字符处标以数字"2"。该组的第一个记录的第1至第3个字符为题目编号(取值为1一999)。第10至第59个字符给出第1至第50题的答案(每个合法字符表示一个答案)。该组的第2,第3……个记录相应为第51至第100,第101至第150,…题的答案。

     

    每个学生的答卷描述:该组中每个记录的第80个字符均为数字"3"。每个学生的答卷在若干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。若试题数超过50,则第2,第3……纪录分别给出他的第51至第100,第101至第150……题的解答。然后是学生乙的答卷记录。

    学生人数不超过200,试题数不超过999。

    程序的输出有4个报告:

        a)按学号排列的成绩单,列出每个学生的成绩、名次。

        b)按学生成绩排序的成绩单。

        c)平均分数及标准偏差的报告。

        d)试题分析报告。按试题号排序,列出各题学生答对的百分比。

    分别考虑输入条件和输出条件,以及边界条件。给出右表所示的输入条件及相应的测试用例。

     

     

     

    三、基础知识点

    什么是桩模块?什么是驱动模块?

    桩模块:被测模块调用模块

    驱动模块 调用被测模块

     

    什么是扇入?什么是扇出?

    扇入:被调次数,扇出:调其它模块数目

     

    8020原则:在需求分析开始到集成测试阶段引入测试手段,能发现所有缺陷的80%,系统测试阶段发现16%,在运行维护阶段经过长时间大量运行软件后,能够发现4%。起源于经济学。

     

    什么是耦合?什么是内聚

    耦合:对一个软件结构内各个模块之间互连程度的度量。

    内聚:一个模块内各个元素彼此结合的紧密程度。强内聚,松耦合。

     

    缺陷严重程度

    致命(Fatal)、严重(Critical)、一般(Major)、较小(Minor)。

     

    缺陷优先级

    立即解决P1、高优先级P2、正常排队P3、低优先级P4。

     

    缺陷状态

    打开(open)、修正(fixed)、重新打开(reopen)、关闭(closed)、重复(Duplicate)、推迟(Deferred)、保留(On hold)、不修复(wontfix)。

     

    简单的软件缺陷生命周期:

    发现(new)-打开-修复-关闭。

     

    复杂的软件缺陷生命周期:

    新建-打开-Bug审查(设计需要修改/延期/关闭)-关闭。

       新建-打开-是否清楚,可再现(不能再现缺少信息返回到打开状态)-修正-关闭。

     

    什么是在线用户数?什么是并发用户数

    在线用户数:

    用户同时在一定时间段的在线数量

    并发用户数:

    某一时刻同时向服务器发送请求的用户数

     

     

    分布式软件架构分为

    B/S架构(浏览器、web版)       C/S架构:客户端(先进行安装)

     

    测试人员的能力

    搭建环境的能力(配置JDK、数据库、Tomcat/Apace、程序放相应路径下、检查配置是否成功‚数据库管理和设置ƒ程序设计C++④测试方法论⑤工具的使用能力(QC\QTP\LR\Bugfree)

     

    简述负载测试与压力测试的区别。

    参考答案:

     

    压力测试(Stress Testing)

    压力测试的主要任务就是获取系统正确运行的极限,检查系统在瞬间峰值负荷下正确执行的能力。例如,对服务器做压力测试时就可以增加并发操作的用户数量;或者不停地向服务器发送请求;或一次性向服务器发送特别大的数据等。看看服务器保持正常运行所能达到的最大状态。人们通常使用测试工具来完成压力测试,如模拟上万个用户从终端同时登录,这是压力测试中常常使用的方法。

     

    负载测试(Volume Testing)

    用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度。例如,对于信息检索系统,让它使用频率达到最大;对于多个终端的分时系统,让它所有的终端都开动。在使整个系统的全部资源达到“满负荷”的情形下,测试系统的承受能力。

     

    软件缺陷管理工具有哪些

    答:   QC ALM BugFree jira Mantis 禅道

     

    弱网测试

     

     

     

    四、智力题

    一,5只猫 五分钟捉5只老鼠 请问100分钟捉100只老鼠需要多少只猫?

    答案:5只

    二,圆桌,两个人,轮流放硬币,不能重叠,半径为1,某一方不能放下去,则为输。问先手赢 后手赢

    答案:先手赢,圆桌对称,先手先放,后手都可以找对称位置,除了圆心

    三,3升的杯子一个,5升的杯子一个,杯子不规则形状 问怎么得到4升的水 水无限多

    答案:略

    四,晚上有四个人过桥,一次只能过两个人,但是只有一只手电筒,四个人过桥时间分别是1,2,5,8,求最短过桥时间

    答案:甲乙,甲回,丙丁,乙回,甲乙,15分钟

    五,有十张扑克牌,每次可以只出一张,也可以只出两张,要出完有多少种出法

    答案:89 F(9)=N F(8)=P F(10)=F(8)+F(9) F(1)=1 F(2)=2

    六,井盖为什么是圆的

    答案:用料少,受压均匀,成本低

    七,两个盲人各买了一白一黑两双袜子,不小心弄混了,问他们自己怎么分成刚好每人一白一黑

    答案:袜子是连在一起的

    八, 烧一根不均匀的绳子,从头烧到尾总共需要1个小时,问如何用烧绳子的方法来确定15分钟?

    答案:烧两根,一根点两头,一根点一头,烧完,剩下的把另一投点了,烧完,看重合点

    九,海盗分金,五人,过半同意,否则喂鱼,问1方案?

    答案:45,5反对,4喂鱼,所3(100,0,0),故2(98,0,1,1),故1(97,0,1,2,0)

    十,岔路口,通往1,2,两人,一人必说谎,一人永真话,怎么去1

    答案:问一人,另一人会回答那条路去1,回答答案必假

    十一,果冻,有黄色、绿色、红色三种,闭眼抓同种颜色两个,抓取多少个,可确定有两个同色果冻?

    答案:根据抽屉原理,4个

    十二,下水道为什么是圆的

    答案:方便人员进出,井盖不容易掉落,不易如棱角磨损节约材料,保护车辆 和行人的安全

    十三,一共100个球,两人轮流拿,每人每次最多拿5个,最后一个拿的人赢;如果我先拿,怎么拿一定会赢?

    答案:每次拿的球总数控制为6;第一次拿4个;

    十四,有120g面粉,现有一个天平和一个2g的砝码以及一个7g的砝码,最少称几次可以将面粉分为70g与50g

    答案:4次,第一次120g=111g+9g  第二次111g=93g+18g  第三次93g=57g+36g  第四次50g=57g-7g  70g=7g+36g+18g+9g

    十五,扔鸡蛋不碎问题(腾讯校招面试题)?

    答案:14次

    十六,智力题:一千瓶中有一瓶毒药 十只小白鼠找出这瓶毒药

    答案:2^10=1024,小白鼠编号1-10,瓶子编号1-1000,把瓶子的编号转变为二进制数,第几位1,就给第几个小白鼠喝

     

     

     

    第二篇测试面试总结---->测试面试二

    参考资料:

     

    https://www.nowcoder.com/ta/review-test

    https://zhaiyujia.blog.csdn.net/article/details/81604085

    https://blog.csdn.net/weixin_30363263/article/details/80110247?utm_medium=distribute.pc_relevant.none-task-blog-title-2&spm=1001.2101.3001.4242

    https://my.oschina.net/u/4296112/blog/3569084

    https://bbs.huaweicloud.com/blogs/172015

    https://zhuanlan.zhihu.com/p/122493284

    https://blog.csdn.net/weixin_44264744/article/details/104948526?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control#%E4%B8%89%EF%BC%8C%E6%8E%A5%E5%8F%A3%E6%B5%8B%E8%AF%95Jmeter%2CFiddler

     

    展开全文
  • google软件测试之道

    千次下载 热门讨论 2015-03-19 16:18:19
    每天,Google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《Google软件...
  • Jmeter性能(压力、接口)测试

    千人学习 2020-01-12 08:26:45
    本课程详细讲述了Jmeter在性能、接口测试方面的系统用法,内容包括:环境配置、界面属性、取样器、监听器、配置元件、逻辑处理器、前后置处理器和定时器的各种用法。
  • 12种测试视频文件

    千次下载 热门讨论 2016-12-19 13:56:04
    12中测试视频,mp4,mpeg,avi等格式的测试视频,方便做媒体开发用来做测试
  • 软件测试之功能测试

    万次阅读 2021-10-18 14:49:33
    一、功能测试概述 1)功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。 2)功能测试,根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以...

    一、功能测试概述

    1)功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。

    2)功能测试,根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。

    3)Functional testing(功能测试),也称为behavioral testing(行为测试),根据产品特性、操作描述和用户方案,测试一个产品的特性和可操作行为以确定它们满足设计需求。本地化软件的功能测试,用于验证应用程序或网站对目标用户能正确工作。使用适当的平台、浏览器和测试脚本,以保证目标用户的体验将足够好,就像应用程序是专门为该市场开发的一样。

    4)功能测试是为了确保程序以期望的方式运行而按功能要求对软件进行的测试,通过对一个系统的所有的特性和功能都进行测试确保符合需求和规范。

    5)功能测试也叫黑盒测试或数据驱动测试,只需考虑需要测试的各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。

    6)黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。

    二、黑盒设计方法

    黑盒测试用例设计方法,主要包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法等

    1.等价类划分法

          等价类划分法是把程序的输入域分成若干部分,然后从每个部分中选取少数代表性数据作为测试用例。每一类的代表性数据在测试中的作用等价于这一类中的其他值。

    1)应用场景:

         某程序规定:“输入三个整数a,b,c分别作为三边的边长构成三角形.通过程序判定所构成的三角形的类型,当此三角形为一般三角形\等腰三角形及等边三角形时,分别作计算...”.用等价类划分方法为该程序进行测试用例设计.

    2)分析题目中给出和隐含的对输入条件的要求:

    ⑴整数  

    ⑵三个数  

    ⑶非零数  

    ⑷正数  

    ⑸两边之和大于第三边  

    ⑹等腰  

    ⑺等边

    3)如果a、b、c满足条件1-4,则输入下列四种情况之一:

    ①如果不满足条件5,则呈现输出为“非三角形”

    ②如果三条边相等即满足条件7,则呈现输出为“等边三角形”

    ③如果只有两条边相等,即满足条件6,则呈现输出为“等腰三角形”

    ④如果三条边都不相等,则程序输出为“一般三角形”

    4)覆盖有效等价类的测试用例:

      a      b      c               覆盖等价类号码

      3      4      5               1-7

      4      4      5               1-7,8

      4      4      5               1-7,9

      5      4      5               1-7,10

      4      4      4               1-7,11

    5)覆盖无效等价类的测试用例:

    2.边界值分析法

    1)边界值分析法就是对输入火输出的边界值进行测试的一种黑盒测试方法.同城边界值分析法是作为对等价类划分法的补充.

    2)使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或者刚刚小于边界的值作为测试数据.

    3)通常情况下,软件测试所包含的边界检验有几种类型:数字,字符,位置,重量,大小,速度,方位,尺寸,空间等相应地,以上类型的边界值应该在:最大/最小,首位/末位,上/下,最快/最慢,最高/最低,最短/最长,空/满等情况下,利用边界值作为测试数据.

    边界值

    测试用例的设计思路

    字符

    起始-1个字符/结束+1个字符

    假设一个文本输入区域允许输入1个到255个 字符,输入1个和255个字符作为有效等价类;输入0个和256个字符作为无效等价类,这几个数值都属于边界条件值。

    数值

    最小值-1/最大值+1

    假设某软件的数据输入域要求输入5位的数据值,可以使用10000作为最小值、99999作为最大值;然后使用刚好小于5位和大于5位的 数值来作为边界条件。

    空间

    小于空余空间一点/大于满空间一点

    例如在用U盘存储数据时,使用比剩余磁盘空间大一点(几KB)的文件作为边界条件。

    4)应用场景:

    NextDate函数的边界值分析测试用例 

    在NextDate函数中,隐含规定了变量mouth和变量day的取值范围为1≤mouth≤12和1≤day≤31,并设定变量year的取值范围为1912≤year≤2050 

    测试用例

    mouth

    day

    year

    预期输出

    Test1

    Test2

    Test3

    Test4

    Test5

    Test6

    Test7

    6

    6

    6

    6

    6

    6

    6

    15

    15

    15

    15

    15

    15

    15

    1911

    1912

    1913

    1975

    2049

    2050

    2051

    1911.6.16

    1912.6.16

    1913.6.16

    1975.6.16

    2049.6.16

    2050.6.16

    2051.6.16

    Test8

    Test9

    Test10

    Test11

    Test12

    Test13

    6

    6

    6

    6

    6

    6

    -1

    1

    2

    30

    31

    32

    2001

    2001

    2001

    2001

    2001

    2001

    day超出[1…31]

    2001.6.2

    2001.6.3

    2001.7.1

    输入日期超界

    day超出[1…31]

    Test14

    Test15

    Test16

    Test17

    Test18

    Test19

    -1

    1

    2

    11

    12

    13

    15

    15

    15

    15

    15

    15

    2001

    2001

    2001

    2001

    2001

    2001

    Mouth超出[1…12]

    2001.1.16

    2001.2.16

    2001.11.16

    2001.12.16

    Mouth超出[1…12]

     3.错误推断法

      基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.

     4.因果图法

     因果图法师一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法.

     采用因果图法设计测试用例的步骤:

      ① 分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符.

      ② 分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的关系,根据这些关系,画出因果图.

      ③ 由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现,为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件.

      ④ 把因果图转换为判定表

      ⑤ 把判定表的每一列拿出来作为依据,设计测试用例.

      5.判定表驱动法

      1)判定表通常由4个部分组成

      ① 条件桩:列出了问题得所有条件.通常认为列出的条件的次序无关紧要

      ② 动作桩:列出了问题规定可能采取的操作.这些操作的排列顺序没有约束

      ③ 条件项:列出针对它左列条件的取值.在所有可能情况下的真假值.

      ④ 动作项:列出在条件项的各种取值情况下应该采取的动作.

      2)判定表的建立步骤:

      ① 确定规则的个数.加入有n个条件.每个条件有两个取值(0,1),故有2n种规则.

      ② 列出所有的条件桩和动作桩

      ③ 填入条件项

      ④ 填入动作项.等到初始判定表

      ⑤ 简化.合并相似规则

      3)应用场景:

      问题要求:"....对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理...",这里假定,"维修记录不全"和"优先维修处理"均已在别处有更严格的定义.请建立判定表

     4)解答:

      ① 确定规则的个数:这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规则.

      ②列出所有的条件桩和动作桩

      ③ 填入条件项.可从最后1行条件项开始,逐行向上填满.如第三行是:Y N Y N Y N Y N,第二行是:Y Y N N Y Y N N 等等.

      ④ 填入动作桩和动作项.这样便得到形如图的初始判定表.

    条件

    功率大于50马力吗?

    N

    Y

    Y

    Y

    N

    N

    N

    N

    维修记录不全吗?

    Y

    Y

    N

    N

    Y

    Y

    N

    N

    运行超过10年吗?

    Y

    N

    Y

    N

    Y

    N

    Y

    N

    动作

    进行优先处理

    x

    x

    X

    X

    X

    作其他处理

    X

    x

    x

     ⑤ 化简,合并相似规则后得到图.   

    条件

    功率大于50马力吗?

    Y

    Y

    Y

    N

    N

    维修记录不全吗?

    Y

    N

    N

    -

    -

    运行超过10年吗?

    -

    Y

    N

    Y

    N

    动作

    进行优先处理

    x

    x

    X

    作其他处理

    x

    x

     6.正交试验法

      依据Galois理论,从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法.

      7.功能图法

      功能图由状态迁移图和布尔函数组成.状态迁移图用状态和迁移来描述.一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变.同事要依靠判定表或因果图表示的逻辑功能.

      8.场景法

    1)事件触发时的情景便形成了场景,二同一事件不同的触发顺序和处理结果就形成事件流.

    2)应用场景:

    ATM例子的流程示意图.

      

    3)场景设计:

    场景1——成功提款

    基本流

    场景2——ATM内没有现金

    基本流

    备选流2

    场景3——ATM内现金不足

    基本流

    备选流3

    场景4——PIN有误(还有输入机会)

    基本流

    备选流4

    场景5——PIN有误(不再有输入机会)

    基本流

    备选流4

    场景6——账户不存在/账户类型有误

    基本流

    备选流5

    场景7——账户余额不足

    基本流

    备选流6

     4)用例设计:

    TCID

    场景/条件

    PIN

    账号

    输入(或选择)的金额

    账面

    金额

    ATM内的金额

    预期结果

    CW1

    场景1:成功提款

    V

    V

    V

    V

    V

    成功提款

    CW2

    场景2:ATM内没有现金

    V

    V

    V

    V

    I

    提款选项不可用,用例结束

    CW3

    场景3:ATM内现金不足

    V

    V

    V

    V

    I

    警告消息,返回基本流步骤6,输入金额

    CW4

    场景4:PIN有误(还有不止一次输入机会)

    I

    V

    n/a

    V

    V

    警告消息,返回基本流步骤4,输入 PIN

    CW5

    场景4:PIN有误(还有一次输入机会)

    I

    V

    n/a

    V

    V

    警告消息,返回基本流步骤4,输入 PIN

    CW6

    场景4:PIN有误(不再有输入机会)

    I

    V

    n/a

    V

    V

    警告消息,卡予保留,用例结束

     5)数据设计:

    CID

    场景/条件

    PIN

    账号

    输入(或选择)的金额(元)

    账面
    金额(元)

    ATM内的金额(元)

    预期结果

    CW1

    场景1:成功提款

    4987

    809-498

    50.00

    500.00

    2 000

    成功提款。账户余额被更新为450.00

    CW2

    场景2:ATM内没有现金

    4987

    809-498

    100.00

    500.00

    0.00

    提款选项不可用,用例结束

    CW3

    场景3:ATM内现金不足

    4987

    809-498

    100.00

    500.00

    70.00

    警告消息,返回基本流步骤6,输入金额

    CW4

    场景4:PIN有误(还有不止一次输入机会)

    4978

    809-498

    n/a

    500.00

    2 000

    警告消息,返回基本流步骤4,输入PIN

    CW5

    场景4:PIN有误(还有一次输入机会)

    4978

    809-498

    n/a

    500.00

    2 000

    警告消息,返回基本流步骤4,输入PIN

    CW6

    场景4:PIN有误(不再有输入机会)

    4978

    809-498

    n/a

    500.00

    2 000

    警告消息,卡予保留,用例结束

     9.测试用例设计综合策略

      1)Myers提出了使用各种测试方法的综合策略:

      ① 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强

      ② 必要时用等价类划分方法补充一些测试用例

      ③ 用错误推测法再追加一些测试用例

      ④ 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例

      ⑤ 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法

     2)测试用例的设计步骤

      ① 构造更加设计规格得出的基本功能测试用例

      ② 边界值测试用例

      ③ 状态转换测试用例

      ④ 错误猜测测试用例

      ⑤ 异常测试用例

      ⑥ 性能测试用例

      ⑦ 压力测试用例

      3)优化测试用例的方法

      ① 利用设计测试用例的8中方法不断的对测试用例进行分解与合并

      ② 采用遗传算法理论进化测试用例

      ③ 在测试时利用发散思维构造测试用例

    三、黑盒测试发现的错误类型

    (1)功能错误或遗漏
    (2)界面错误
    (3)数据结构或外部数据库访问错误
    (4)性能错误
    (5)初始化和终止错误

    四、测试用例设计方法

    (1)等价类划分方法
    (2)边界值分析方法
    (3)错误推测方法
    (4)因果图方法
    (5)判定表驱动分析方法
    (6)正交实验设计方法
    (7)功能图分析方法

     希望对你有所帮助~

    展开全文
  • 软件测试测试用例)—写用例无压力

    万次阅读 多人点赞 2022-02-15 12:53:03
    软件测试——用例篇 文章目录软件测试——用例篇一、概念二、测试用例总体设计方案1、等价类 ☆...测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、

    软件测试——用例篇

    一、概念

    测试用例的基本概念:

    测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素 。

    主要步骤:

    测试环境——测试步骤——测试数据——预期结果

    网易邮箱注册成功测试用例

    标题:邮箱注册,邮箱输入项测试:

    简单案例:

    image-20220109225709851

    二、测试用例总体设计方案

    基于需求的设计,RBT( Requirements-Based Testing)是基于需求的测试方法,会使测试更加有效,因为 它使测试专注于质量问题产生的根源,即需求。

    1、从整体角度设计分析测试用例:基于需求

    用户需求——(整理出软件需求)产品设计文档(产品经理)——开发——测试——上线

    (1)、验证需求的正确性和合理性

    (2)、分析需求、细化需求、从需求中分解出测试项 ,根据测试项找出功能,进行测试用例的编写。

    案列:

    用户需求:
    购买3000块钱以内的华为智能手机 。

    假如说:有一个活动秒杀 5999 为1块钱,这样也是发河价格的。

    测试用例:

    (1)合理

    (2)分析:

    价格:<=3000;

    品牌:华为

    手机类型:智能手机

    手机基本功能:…

    软件需求:
    事件流

    1. 若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件 。
    2. 每次发送的激活邮件,仅在发送邮件后起24小时之内有效,超过24小时后需重新发送激活邮件

    测试用例:

    1、用户收到邮件,不在此发送激活邮件;

    ​ 用户收到邮件,再次录入电子邮件及密码,提示:已激活邮件;

    ​ 用户未收到邮件,再次发送激活邮件;

    2、24小时以内,有效

    ​ 大于等于24小时 ,无效激活邮件

    ​ 边界值:24小时点击激活,25小时 重新发送邮件

    容易忽略:24小时之内已经点击激活邮件,超过24小时又重新激活,将提示“系统已激活:。

    测试激活邮寄的基本功能:

    • 邮件能不能打开
    • 邮件的格式,内容够是否正确;
    • 邮件里面的激活链接是否正常;

    这些是逻辑来测试用例。

    1、等价类 ☆

    等价类就是把输入划分成若干个等价类,从每一个等价类中取出一个测试用例,如果这个测试用例能够测试通过,那么我们就说这个测试用例代表的等价类测试通过。(衣柜分类衣服的例子)

    通俗来讲,具有某种共同特征的数据集合进行划分!!

    使用场景:测试用例无法穷举,我们无法一样测试。

    • 有效等价类:符合程序规格说明的数据集合

    • 无效等价类:不符合软件需求规格说明的数据集合

    步骤:

    1、明确需求。

    2、确定有效等价类还是无效等价类

    3、提取数据编写测试用例

    案例一:
    需求:验证qq账号的合法性
    要求:6~8为自然数
    

    案例一:

    image-20220213174357895

    案例二(电话):

    需求:验证某城市电话号码的正确性
    要求:
    1.区号:空或者是三位数字
    2.前缀码:非“O”且非“1”开头的三位数字
    3.后缀码:四位数字
    

    image-20220214181555209

    2、边界值 ☆

    针对输入和输出的边界进行测试用例的设计。

    案例:

    购买3000元以内的华为只能手机

    价格:<=3000, 3001就不行

    等价类:

    有效等价类:小于3000

    无效等价类:大于3000

    边界值:2999 3000 3001

    2.1 边界值法设计用例步骤

    1、明确需求

    2、确定有效和无效等价类

    3、确定边界范围值

    4、提取数据编写测试用例

    案例一:

    需求:通过边界值法验证标题长度的合法性
    要求:标题大于0,小于等于30个字符
    

    image-20220214201754883

    补充:边界范围节点:

    1、上点,边界上的点

    2、离点,举例边界上的点最近的点(刚好大于,刚好小于)遵循 开内闭外 原则

    3、内点,范围内的点。

    • 优化:

    边界上的点:开内闭外。

    3、判定表 ☆

    解决多条件的依赖问题。

    1、定义:是一种以表格形式表达多条件逻辑判断的工具。

    2、组成:

    • 条件桩:列出问题中的所有条件
    • 动作桩:列出问题中可能采取的操作
    • 条件项:列出条件对应的取值,所有可能条件下的真假值
    • 动作项:列出条件项的、各种取值情况下应该采取的动作结果。

    规则:
    1、判定表中贯穿条件项和动作项的一列就是一条规则
    2、假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则

    3、步骤:

    ​ 1)、明确需求

    ​ 2)、画出判定表

    • 列出条件桩和动作桩
    • 填写条件项,对条件进行全组合3)、根据条件项的组合确定动作项
    • 简化、合并相似规则(有相同的动作)

    ​ 3)、根据规则编写测试用例

    4、案列一:

    image-20220215111953335

    应用场景:
    1、有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
    2、判定表一般适用于条件组合数量较少的情况(比如4个条件以下)
    3、提示:如果碰到项目中多条件组合大于4个相互依赖,可以使用
    (正交表和因果图来实现)
    

    4、因果图

    输入很多,并且不同的输入组合对应这不同的输出,这个时候用因果图法来分析不同输入组合和输出之间的对应关系。(相当于逻辑图)

    逻辑关系:恒等 与 或 非

    image-20220110195249867

    因果图法设计测试用例的步骤:

    1、分析出所有的输入和输出;

    2、找出输出和输出之间的关系;

    3、画因果图;

    4、画判定图;

    5、把判定表转换成测试用例;

    案例:淘宝618活动,订单满300,或者有红包,测提交订单后享受优惠。

    1、输入和输出

    输入:金额<300,金额>300, 金额==300,有红包,无红包,提交订单

    输出:享受优惠,不享受优惠

    2、输入和输出之间的关系:

    • 订单已提交,金额大于等于300 ,无红包,享受优惠;
    • 订单已提交,金额大于等于300 ,有红包,享受优惠;
    • 订单已提交,金额小于300,有红包,享受优惠;
    • 订单已提交,金额小于300,无红包,无优惠;
    • 订单没有提交,无优惠;

    3、画因果图:

    image-20220110201624623

    4、根据因果图画判定表。

    image-20220110205150297

    5、场景设计法 ☆

    现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,是测试
    用例更容易理解和执行。

    典型的应用是是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向.

    • 案例:

    ATM机取款场景

    功能点:插卡——输入密码——输入钱数——取款(主要功能,核心流程)

    具体功能点:

    (1)、插卡:插反,插错卡(饭卡,会员卡,不是本行卡),注销,消磁,冻结,有不良记录的卡

    (2)、输入密码:密码错误,密码输入正确,密码三次错误,第一次密码错第二次密码对,前两次密码错第三次密码对

    (3)、输入钱数:钱数<=银行卡余额,输入钱数>=银行卡余额,输入的不是整百,ATM机余额不足,超过每日取款限额,超过每次取款最大上限,超过每次取款最大次数。

    (4)、取款:确认取款钱数后,ATM机吐出对应钱数;ATM机吐钞规则,操作超时,长时间不吐钱;

    (5)、其他:ATM机断网,断电,出现故障;超时,所有的操作如果超时,那么会出现吞卡(安全机制)

    每个具体功能点都是可以写测试用例的。

    如:1、插卡插反:第二次重新插入正确插入,仍可以正常取钱;卡冻结/注销,无法正常取钱;

    ​ 2、输入三次密码错误,账户冻结,无法取款;前两次密码错第三次密码对,仍可以正常取钱

    • 测试用例:

    image-20220215121219113

    6、错误猜测法

    根据测试人员的直觉,知识,经验,判断软件的那一块有问题,专门针对性的设计测试用例,适合作为一种补充设计测试用例的方法。

    如:1、验证码大小写不区分;

    ​ 2、空格搜索,把输入的搜索信息前后空格忽略;

    7、正交排列

    研究多因素多水平的一种方法,根据正交性选出最优的水平组合进行实验,用实验的结果来分析这个测试用例的结果。(选择最优的组合)

    因素:输入的变量;

    水平:因素的取值;

    因素数:变量的个数;

    水平数:变量取值的最大个数;

    正交表的性质:

    1、每一列不同数据出现的次数一样多;

    2、任意两列各数据组合出现的次数一样多;

    image-20220110221335796

    正交表设计测试用例的步骤:

    1、找出所有的输入变量(因素),确定因素数;

    2、确定变量的取值,确定水平数;

    3、确定正交表的行和列;

    4、根据正交表的性质去填写正交表

    5、把正交表的每一行对应写成一个测试用例;

    6、补充你认为重要的但没有体现在正交表中的测试用例;

    例子:姓名,邮箱,密码,确认密码,验证码(输入和不输入)——不用正交表要列出2^5=32情况

    1、因素:5

    2、水平数:2(输入和不输入)

    3、行:(水平数-1)*因素数+1=6

    ​ 列:因素数:5

    4、填写正交表

    image-20220110223037980

    5、测试用例:

    (1)、姓名输入,邮箱不输入,密码输入,确认密码输入,验证码不输入;

    (2)、姓名输入,邮箱输入,密码不输入,确认密码不输入,验证码输入;

    (3)、姓名输入,邮箱输入,密码输入,确认密码不输入,验证码不输入;

    (4)、姓名不输入,邮箱不输入,密码不输入,确认密码输入,验证码输入;

    (5)、姓名输不不入,邮箱输入,密码输入,确认密码输入,验证码输入;

    (6)、姓名不输入,邮箱输入,密码不输入,确认密码不输入,验证码不输入;

    三、实际操作中注意的点

    3.1测试用例的注意点

    image-20220212211347313

    作用:方便评审,方便执行
    1、用例标题:预期结果(测试点)
    2、验证码测试点:为空,正确,错误,过期
    3、前置条件和测试步骤,测试步骤是按前置条件后进行的,要么前置条件写的多,要么测试步骤写的多。
    

    合格测试用例标题:

    image-20220212212136181

    四、缺陷介绍

    软件中使用中任何问题都为缺陷,简称:bug

    1、缺陷的判定标准

    • 软件为实现需求(规格)说明书中明确要求的功能 — 少功能
    • 软件出现了需求(规格)说明书中致命不应该出现的错误 —功能错误
    • 软件实现的功能超出需求(规格)说明书指明的范围 —多功能 (例:理发店)
    • 软件未实现需求(规格)说明书中虽然为明确指明但应该实现的要求—隐形功能错误 (例:手机点餐,显示有哪些菜)
    • 测试人员认为软件难以理解,不易使用,运行缓慢,用户体验不好 —不易使用

    2、缺陷产生的原因:

    image-20220212152748622

    是软件就有缺陷!!!!!!

    3、软件缺陷的核心内容

    image-20220212160436183

    image-20220212161010041

    4、缺陷类型

    • 功能错误
    • 界面(Ui)错误 ,兼容性 (前端)
    • 数据,易用性,改进建议,架构
    1、如何区分是前端bug还是后端bug
    1)、如果是界面和兼容性问题——前端问题
    2)、如果是功能错误,需要 抓包 查看请求和响应!
    
    • 扩展:什么是抓包

    image-20220213163149180

    5、缺陷编写

    1、缺陷报告示例:

    image-20220212202318168

    2、缺陷的跟踪流程

    image-20220212203125572

    面试题:发现bug后,首先会怎么办? ——确认bug可复现。

    5.1缺陷练习

    错误示范:

    image-20220212212231694

    1、缺陷Id:使用了用例id
    2、标题:操作数据描述+预期+实际
    		测试数据结果描述+实际结果+预期
    		测试数据结果描述+实际结果+需求
    3、缺陷描述:操作步骤+数据
    
    • 正确示范:

    image-20220215123649487

    缺陷标题实例:

    1、测试数据描述+实际结果+预期:

    • 不合格的4位qq验证合格(预期:不合格)
    • 空密码登录成功(预期:登录失败,提示密码不可为空)

    2、测试数据结果描述+预期+实际

    • 验证4位qq不合格(实际:合格)
    • 验证空密码登录不成功(实际:登录成功)

    3、测试数据描述+实际结果+需求

    • 不合格的4位qq验证合格(需求:6-10自然数)
    • 空密码登录成功(需求:密码位6-12位数字+字母)

    以上三个模板都是可以套用的。


    ​ 以上就是软件测试用例的全部方法,重点掌握等价类,边界值,判定表,场景设计法,因为这四个是实际运用的多的,因果图和正交排列可以看看,知道下概念,写测试用例的时候尤其注意标题,标题可能影响你测试用例的好还,缺陷用例也是一样。铁汁们,觉得笔者写的不错的可以点个赞哟❤🧡💛💚💙💜🤎🖤🤍💟,收藏关注呗,你们支持就是我写博客最大的动力!!!!

    展开全文
  • 软件测试面试题(含答案)

    万次阅读 多人点赞 2021-03-01 15:15:38
    软件测试面试题(含答案)
  • 测试概述 软件测试的目的,一方面是为了检测出软件中的Bug,另一方 面是为了检验软件系统是否满足需求。 然而,在传统的软件开发企业中,测试工作往往得不到技术人员的足够重视。随着Web应用的兴起,特别是以微服务...
  • 文章目录1 软件测试流程2 软件测试过程模型2.1 V模型(重点)2.2 W模型(重点)2.3 H模型2.4 X模型3 软件测试过程理念 1 软件测试流程 软件测试流程独立于开发之外的流程。在执行测试时,与开发有交集。 牢记该流程...
  • 免费的软件测试模板,免费分享
  • 分享一份适合练手的软件测试实战项目

    万次阅读 多人点赞 2020-11-21 19:28:50
    最近,不少读者托我找一个能实际练手的测试项目。开始,我觉得这是很简单的一件事,但当我付诸行动时,却发现,要找到一个对新手友好的练手项目,着实困难。 我翻了不下一百个web网页,包括之前推荐练手的政府网站...
  • 六种格式的测试视频,包含.avi.wmv.mkv.mp4.mov.rm格式
  • 测试工程师

    千次阅读 2022-03-06 09:55:00
    1 测试基本功 2 编程语言 3 数据库 4 计算机网络 4.1 基本理论知识 1 计算机网络的分层模型,五层模型分别包含什么,每一层主要解决的问题是什么 2 在数据链路层的MAC地址和网络层的IP地址间的区别是什么 3 交换机和...
  • 测试知识汇总

    千次阅读 2021-10-20 10:12:42
    软件测试开发流程 需求分析 评审测试用例 执行测试 提交 Bug 并推动 Bug 解决 回归测试 编写并提交测试报告 软件测试方法 白盒测试 黑盒测试 等价类 灰盒测试 动态测试 α测试 β测试 冒烟测试 回归...
  • 软件测试基础知识 + 面试理论(超详细)

    万次阅读 多人点赞 2021-02-25 10:47:13
    三、软件测试工程师的工作内容四、常见的软件生命周期模型五、软件开发的几个阶段六、软件bug的五个要素七、软件测试的分类八、什么是测试用例九、测试用例几大要素【面试理论知识】1、你的测试职业发展是什么?...
  • 软件工程导论—软件测试

    万次阅读 多人点赞 2020-05-13 21:26:49
    1. 软件测试基础 2. 单元测试 3. 集成测试 4. 确认测试 5. 白盒测试技术 6. 黑盒测试技术 7. 调试 8. 软件可靠性
  • 性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。本文简单讲述了性能测试以及性能测试工具Jemeter...
  • 单元测试与集成测试

    万次阅读 多人点赞 2019-09-17 08:25:00
    测试策略和过程,软件测试分为单元测试、集成测试、确认测试和系统测试。 按软件系统工程,测试是软件质量保证的最后的一关。 高质量的程序取决于以下几个方面: 高质量的设计 规范的编码 有效的测试 开发部...
  •  (2)项目开发阶段,测试人员收集测试准备素材,包括测试用例准备、测试数据准备、自动化准备。  (3)项目测试阶段,测试执行。  (4)验收阶段,准备环境供产品负责人验收。  (5)上线后,进行线上验证。...
  • 自动化测试框架总结

    万次阅读 多人点赞 2021-12-26 15:05:36
    目录 1. 单元测试框架 2. Web自动化测试框架 3. iOS自动化测试框架 4. Android自动化测试框架 ...unittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可..
  • 软件测试——集成测试

    万次阅读 2021-11-30 19:06:18
    软件测试 是软件开发周期中的一个阶段,在此阶段中,对关键业务软件进行正确性,质量和性能验证。 软件测试中有四个基本级别,每个级别都在开发过程中从独特的角度检查软件功能。下图显示了软件测试的四个级别。 ...
  • 软件测试——白盒测试

    万次阅读 2022-03-17 21:19:22
    关于白盒测试的一些笔记和案例,帮助更好的理解白盒测试
  • 功能测试测试开发的正确姿势

    千次阅读 2021-12-18 14:19:20
    测试的职业道路
  • 软件测试理论

    千次阅读 2022-03-01 19:00:08
    1.软件的定义: 一系列按照特定顺序组织的计算机数据和指令的集合。 软件 = 数据 + 指令 + 文档 ...2.软件测试的定义与原则 软件测试的定义 通过人工或自动化的方式来验证软件的实际结果与用户需求是否一致的过程
  • 软件测试

    万次阅读 2022-01-13 15:32:36
    以题会题 一、单选题 1、对软件进行测试的根本目的是什么?( C ) A、提高软件的质量 B、确保程序符合用户的需求 C、找出程序中的缺陷 D、确保程序没有缺陷 2、在软件生命周期哪个...B、测试结果就是测试用例的实际
  • 软件测试之性能测试面试题合集

    千次阅读 2022-03-01 19:04:28
    软件测试之性能测试面试题合集 1、描述一下你们公司的性能测试流程? 1)分析性能需求(用户使用最频繁的场景进行测试),确定性能指标(例如:事务通过率100%,top99%是5秒,最大并发是2000,CPU和内存都是70%以下...
  • 接口测试常见问题

    万次阅读 2021-10-09 22:42:52
    接口测试常见问题 原文地址:接口测试常见问题 接口测试需要考虑的点/如何设计接口测试的用例? 接口测试用例编写除了使用功能测试中最基本的等价类,边界值,因果图,错误推测,场景设计等方法外,还要考虑一些...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,654,435
精华内容 3,461,774
关键字:

测试