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

    千人学习 2020-07-17 14:09:37
    本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、...
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友

    万次阅读 多人点赞 2020-10-11 15:00:46
    这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经...

    这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    “长江后浪推前浪,前浪死在沙滩上”,曾经一句让人会心一笑的调侃,而今变成了软件测试行业的真实写照。由于软件测试行业入门门槛低,薪资报酬高,不断有新鲜血液冲刷着软件测试行业的“前行者”们,给我们带来了非常大的压力。

    那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。因此,现在大部分初级功能测试人员都在向自动化、性能、安全靠拢。

    但是还是有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明“泰山崩于前而面色如土”却只能眼睁睁看着自己被行业淘汰吗?

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    并不是,下面的软件测试工程师发展方向知识架构体系图,会告诉你该往哪里努力:

    一、Linux必备知识

    linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    二、Shell脚本

    掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    三、互联网程序原理

    自动化必由之路:前端开发基础知识以及互联网网络必备知识。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    四、Mysql数据库

    软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    五、抓包工具

    Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    六、接口测试工具

    接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    七、Web自动化测试Java&Pyhton

    了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    八、接口与手机自动化

    专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    九、敏捷测试&TestOps构建

    揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    十、性能测试&安全测试

    软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

    如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以关注我们:爱码小士, 公众号里面有各种软件测试资源和技术交流。

    加油吧,测试员!路就在脚下,成功就在明天!

    未来的你肯定会感谢现在拼命的自己!

    展开全文
  • 软件测试常见面试题(一)

    万次阅读 多人点赞 2019-06-23 20:39:09
    我主要从事web测试,搭建环境,对程序进行集成测试、系统测试、回归测试。还有编写测试用例,使用手册,功能测试文档。 3、开发说不是bug怎么办? 将自己的见解告诉开发,不行就把见解和bug提交项目经理决定。 4、...

    1、开发犯低级错误怎么办?
    开发首先要规范好编码,出低级错时不要职责,内心指出错误。让他们自己进行测试,反思找出错误。

    2、你进行过那些测试,擅长什么?
    我主要从事web测试,搭建环境,对程序进行集成测试、系统测试、回归测试。还有编写测试用例,使用手册,功能测试文档。

    3、开发说不是bug怎么办?
    将自己的见解告诉开发,不行就把见解和bug提交项目经理决定。

    4、你的职业规划?*
    巩固基础测试知识,提高理解需求能力。
    学习自动化测试,并且运用。技术到尾后学习带领测试团队。
    最后争取达到测试经理水平。

    5、什么测试用例才是合格?*
    能覆盖到所有测试点

    6、缺陷报告测试组成?
    缺陷编号、缺陷标题、缺陷描述缺陷有限等级、
    缺陷优先程度、缺陷所属模块、缺陷所属版本、缺陷所属开发人员、
    输入数据、输出结果、缺陷分析等。

    C/S模式,使用交替方法确认是client还是server端问题

    7、测试用例包括那些
    用例编号、测试环境、用例标题、输入数据、预期结果

    8、软件评审的人员和目的
    人员:客户、项目经理、开发人员、测试人员
    目的:查看软件是否还存在问题。是否在不同平台正常运行,是否有和客户理解不一致的地方,是否有改进的地方

    * 9、什么事软件测试?目的? *
    通过人工或者自动化的操作,运行软件程序,查看他们是否满足客户需求。
    目的:最短时间找出尽可能多的软件确缺陷

    10、兼容测试
    检查软件在不同软件、硬件平台是否可以正常运行。
    主要查看在不同操作系统、浏览器、数据库、不同版本是否正常运行

    11、为什么进行软件测试?
    没经过测试的软件无法保证质量,好比iso质量认证一样。
    测试中发现问题,即是提交开发改进,在软件发布时得出软件质量。

    12、软件测试类型有那些?区别与联系?
    常见:功能测试、性能测试、界面测试。

    功能测试:占比最大,也叫黑盒测试(不看代码)。进行动态测试时,需要测试软件功能,不需要测试软件内部结构和处理过程。
    技术方法有:等价类划分法、边界值分析、错误推测、因果图和综合策略。

    性能测试:通过自动化测试工具模拟多种正常、异常、峰值条件,对系统各项性能指标测试。
    负载测试、压力测试属于此。负载测试:确定各项工作负载下的系统性能,目标是负载主键增加时,系统各项性能指标变化;压力测试:通过系统的瓶颈,获得系统能提供的最大服务级别。

    界面测试:界面好坏决定用户对软件第一印象。合理的界面带来轻松愉悦感受,失败界面有挫败感,让强大的功能付诸东流。

    区别:功能测试关注软件功能,每个功能可能存在的问题。性能测试软件多用户并发的稳定性和强壮性。界面测试关注用户体验和易用性。

    13、好的测试用例关键?
    白盒测试:较少的用例覆盖尽可能多的内部程序逻辑结果。
    黑盒测试:较少的用例覆盖模块输出和输入接口。一最少用例在合理时间内发现最多的问题。

    对可行和不可行的都要考虑,(1)输入 (2)详细操作步骤 (3)预期输出 (4)实际输出

    14、黑盒、白盒、单元、集成、系统、验收测试的区别与联系?
    黑盒:已知功能设计规格,测试正门每个功能是否复合要求。
    白盒:已知内部工作过程,测试正门每种内部操作复合设计规格。
    黑盒意味着测试在软件的接口出进行,把测试对象看做一个黑盒子,不考虑程序内部逻辑结构和内部特性,仅看需求说明书检查功能是否复合需求。黑盒-》功能测试(或者 数据驱动测试)

    15、软件开发过程与角色分工?
    测试配合开发等进行需求分析和讨论,根据需求说明书指定《项目测试计划》,编写测试用例,建立测试环境。
    测试负责新产品测试,原有产品的升级测试,负责软件问题解决过程跟踪,软件开发文档、开发工作的规范化,管理开发部门的产品文档,制作用户手册、操作手册,产品上限测试,监督软件开发过程执行,提高软件质量。

    16、软件开发过程与角色分工?
    开发与测试开会讨论需求。需求分析人员写出需求分析说明,三部门讨论可行性。给出详细设计说明书,开发编码,给出系统流程图。测试根据此,给出bug统计。

    17、不同测试类型的联系与区别?
    功能、性能、可靠性、安全性、负载测试,
    压力、安装\卸载、启动\停止、兼容、互联测试,
    文档、回归、可使用性、容量测试

    18、测试计划工作包括?
    时对工作内容的有效组织和规划,保证测试工作有效展开。包括测试目标,测试范围定义,测试方法选择,测试进度里程碑,测试资源管理和配置。
    测试目标最重要,因为他是软件测试的最终达到结果

    19、性能测试工具,院里、实际应用
    LoadRunner。能够录制测试的操作步骤,对其模拟出多个用户播放出来。
    (1)visural user genertor:创建脚本,选择协议,录制操作,编辑操作
    (2)中央控制器 controller:调度虚拟用户。创建场景,选择脚本,建立虚拟用户,设计shedual,设置ip spoofer
    (3)运行脚本,分析shedual
    (4)分析测试结果

    20、兼容性
    平台兼容、网络兼容、数据库兼容、数据格式兼容。

    缺陷等级分类
    极高:测试过程司机、系统崩溃、数据跌势、功能没有实现
    很高:导致软件功能不稳定、功能实现错误、流程错误
    中级:校验错误、罕见故障、错别字,不影响功能,影响体验
    低级:没影响的小问题

    21、缺陷生命周期
    新建bug–提交bug–确认bug–非配bug–修复bug–验证bug–关闭bug

    22、测试结束标准
    1)一二级缺陷数目达到项目质量管理目标要求,测试暂停返回开发
    2)项目出现重大估算和进度偏差,需要暂停或者终止
    3)新需求变更大,需修改测试计划和测试用例再进行
    4)开发暂停,测试也暂停,备份暂停时的数据
    5)所有功能、性能测试用例100%进行

    23、测试生命周期
    需求测试计划指定和评审–测试用例编写–测试用例执行–bug管理–测试报告输出

    24、自我介绍套路
    1)很高兴获得面试机会……想证明我是何氏的人选……想获得您的认可……
    2)反问面试官:您看我继续介绍项目还是您提问关心的问题?

    25、项目介绍
    1)先整体再局部介绍,项目五大维度:规模(代码规模、需求规模、用例规模、工作量、进度、质量、成本),测试流程,角色与职责,项目中自己角色,自己的特色(做得好的、遇到的困难、做得差的),最后是心得体会。

    26、数据库问题
    数据库增删改查(insert、delete、update、select);
    表结构增删改查(create、drop、alter、describe);
    存储过程;
    触发器等

    27、Linux系统
    常见50个命令(find、-name、type、perm、user、group、ctime、atime)
    熟悉vi、熟悉linux搭建测试环境。LAMP环境搭建。

    28、缺陷相关
    缺陷跟踪流程(流程基本要素)、整体流程(会画)、缺陷单的20个属性、属性的意义、如何描述好缺陷单、缺陷单的5C原则、缺陷重现步骤。你认为最经典的bug

    29、用例相关
    用例格式要素、用例设计工程方法论、方法要求
    如何利用。
    如何评审用例,从那些维度评审,设计好用例需要那些只是结构

    30、软件测试流程
    熟悉产品/项目–需求评审–测试需求–测试计划–测试方案–测试用例–预测试,第一轮正式测试–第二轮回归测试–第三轮测试,测试报告–总结–测试指南
    31、网络相关
    基本网络知识(重点TCP/IP协议)

    32、测试工具
    性能测试工具:
    自动化测试工具:
    测试管理工具:

    如何去测试给定软件
    技巧:从质量模型、测试工具、测试方法、测试流程、探索式测试,宏观解决,再围观讲解用例设计

    33、卓越工程师素质
    沟通、五心工程师、追求完美

    34、你还有什么想要问的吗?
    满意情况:先表示感谢,问如果有下一轮面试,什么时候,做什么准备;
    一般般情况:感谢,对自己表现不太满意,能否给我一些建议;
    很糟糕:感谢,认识到不足,希望给建议

    35、测试用例编写结构
    功能性、界面UI、易用性、安全性、兼容性

    36、STAR法则
    S(situation):项目属于什么类型,周期多长
    T(task):团队分工,你的角色
    A(action):具体实施,自己做了什么
    R(result):最后成果,你的收获

    37、如何测试纸杯
    功能性:是否漏水;是否喝到水
    安全性:有没有细菌
    可靠性:摔下来的损坏程度
    可移植性:不同地方、温湿度使用
    兼容性:容纳果汁、啤酒、汽水、汽油等
    易用性:是否烫手、防滑、方便饮用水
    用户文档:使用手册对用法、限制、使用条件描述
    疲劳测试:分别装上水、汽油等24小时,泄露情况
    压力测试:用镇不断加压,承受多达压强

    展开全文
  • 测试面试问题总汇

    万次阅读 多人点赞 2018-12-17 20:51:24
    给你一个全新的软件,你就是负责人,你怎么去开展测试工作 参考回答: 第一步:需求分析:我会对这个全新的软件需求进行全面分析,主要的分析点有:1.软件的版本需求合理性,是否可测试;2.项目人员配置(遇到什么...

    给你一个全新的软件,你就是负责人,你怎么去开展测试工作

    参考回答:
    第一步:需求分析:我会对这个全新的软件需求进行全面分析,主要的分析点有:1.软件的版本需求合理性,是否可测试;2.项目人员配置(遇到什么问题找谁,有多少人投入测试,测试环境,硬件,软件);3.要测试的软件的主流程,异常流程,测试重点;4。项目整体规划(发布时间

    第二步:指定测试策略、测试计划和bug定义标准,这一步主要是针对需求,在已有的和可协调到的资源上做出具体的,可执行的计划,这个阶段的输出是测试计划。测试计划中明确包含测试范围,测试策略,比如功能测试,性能测试,自动化测试,可用性测试,云测,mokey等

    第三步:按计划执行,编写测试用例,(编写测试用例的方法:等价类,边界值,错误猜测法,因果图,正交分解法等等)(编写测试用例需要注意的点,用例区分等级,特殊场景考虑:为空(接口空、数据空)、加载超时、网络异常、重复提交、异常中断、缓存冲突、系统兼容、流程迂回、流程中断;如果是PC,要注意浏览器(IE,chrome,火狐,苹果的),操作系统(xp,win7,win8,win10,linux,mac)的兼容,如果是手机,注意手机的品牌,操作系统,android版本,手机屏幕尺寸,手机网络等等场景),写完用例,如果有条件,就要评审测试用例

    第四步:执行用例,补充场景,记录bug,回归bug(注意开发提测的需求需要冒烟测试通过)

    第五步:功能合入,回归测试(各个功能点测试通过之后,再合入)

    第六步:提交验收(回归测试通过之后,提交给验收人员进行验收)

    第七步:发布上线(全新的软件,先是小范围内测,观察线上数据(如:crash,用户反馈,运营数据等)如果有产品认为严重的问题,则需要修复后重发,符合预期才能扩大发布)

    如果你发现了bug但是开发不认为是bug,怎么办

    首先找证据支持我说这个是bug,(比如需求文档这么写的,竞品这么做的等等),如果找不到足够的证据支持你的观点,那就将问题升级到小组内讨论,一级一级的上升,直到PM或者项目经理拍板定义

    ,你觉得bug需要修改,很紧急,但是开发没时间,怎么办

    这个你需要先把这个问题说清楚,问题影响范围有多大,然后给PM或者项目经理还有拉上开发一起评审,说明这个问题遗留的风险,如果PM和项目经理接受这个风险,那就可以发布,否则必须修改了才能发布

    即使他们接受了,发布之后,也要注意线上的表现,并知会出来

    如果线上这个问题表现超过预期,那么就要要求发布hotfix

    面试题:如何测试登录模块

    注册登录在软件测试中是基础,但也会有漏测的情况出现,尤其是对于普通账户密码登录的情况,需要考虑账户密码的长度限制、字符类型、匹配判断等等。
    目前市场上常用的登录方式也有很多,账密登录里又支持邮箱、账号、手机号登录。对于同时支持多种登录方式,测试时除了考虑每种方式是否能够登录成功以外,特别需要考虑不同登录方式的优先级、对于用户习惯登录方式的设置和记忆、各种登录方式之间的切换、不同设备的不同方式登录等等。
    今天我与大家一起对登录方式及测试重点进行梳理,主要关注一些特殊点,以及容易出现漏测的情况。
    下面说一下测试点

    功能测试

    输入正确的用户名和密码登录成功
    输入错误的用户名密码登录失败
    用户名正确,密码错误,是否提示输入密码错误?
    用户名错误,密码正常,是否提示输入用户名错误?
    用户名和密码都错误,是否有相应提示?
    用户名密码为空时,是否有相应提示?
    如果用户未注册,提示请先注册,然后进行登录
    已经注销的用户登录失败,提示信息友好?
    密码框是否加密显示?
    用户名是否支持中文、特殊字符?
    用户名是否有长度限制?
    密码是否支持中文,特殊字符?
    密码是否有长度限制?
    密码是否区分大小写?
    密码为一些简单常用字符串时,是否提示修改?如:123456
    密码存储方式?是否加密?
    登录功能是否需要输入验证码?
    验证码有效时间?
    验证码输入错误,登录失败,提示信息是否友好?
    输入过期的验证能否登录成功?
    验证码是否容易识别?
    验证码换一张功能是否可用?点击验证码图片是否可以更换验证码?
    用户体系:比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。
    如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等

    界面测试

    布局是否合理、美观,输入框是否对齐
    风格和提示信息用语是否符合语境
    登录页面显示是否正常?文字和图片能否正常显示,相应的提示信息是否正确,按钮的设置和排列是否正常
    页面默认焦点是否定位在用户名的输入框中
    首次登录时相应的输入框是否为空?或者如果有默认文案,当点击输入框时默认方案是否消失?
    相应的按钮如登录、重置等,是否可用;页面的前进、后退、刷新按钮是否可用?
    快捷键Tab,Esc,Enter 等,能否控制使用
    兼容性测试:不同浏览器,不同操作系统,不同分辨率下界面是否正常

    性能测试

    单用户登录系统的响应时间是否符合"3-5-8"原则
    用户数在临界点时并发登录是否还能符合"3-5-8"原则
    压力:大量并发用户登录,系统的响应时间是多少?系统会出现宕机、内存泄露、cpu饱和、无法登录吗?
    稳定性: 系统能否处理并发用户数在临界点以内连续登录N个时的场景?

    安全性测试

    1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
    2.用户名和密码是否通过加密的方式,发送给Web服务器
    3.用户名和密码的验证,应该是前端验证+服务器端验证, 而不能单单是在客户端用javascript验证
    4.用户名和密码的输入框,无SQL 注入攻击风险
    5.用户名和密码的的输入框,不能输入脚本 (防止XSS攻击)
    6.错误登录的次数限制(防止暴力破解)
    7.验证码不能被轻易破解、欺骗

    兼容性测试

    1.主流的浏览器下能否显示正常
    2.不同的操作系统是否能正常工作
    3.移动设备上是否正常工作
    4.不同的分辨率

    易用性测试

    1.根据场景,考试是否提供记住用户名密码、自动登录的功能
    2.输入账号后,回车登录
    连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录。

    其他测试

    用户session过期后,重新登录是否还能重新返回这前session过期的页面?
    用户名和密码输入框是事支持键盘快捷键?如:撤销、复制、粘贴等等
    是否允许同名用户同时登录进行操作?考虑web和app同时登录
    手机登录时,是否先判断网络可用?
    手机登录时,是否先判断app存在新版本?
    是否支持单点登录?
    是否有埋点接口

    http和https的区别

    HTTPS和HTTP的区别主要如下:

    1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

    2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

    3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

    4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

    扩展资料:

    HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

    HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

    HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

    支付模块的测试

    链接:https://blog.csdn.net/jiangbqing/article/details/61917979
    正常流程:
      正常使用支付宝、微信、银行卡(目前使用最多的第三方支付方式)支付(正常金额的支付),功能是否正常。
      异常流程:
      1、支付账号和密码错误,系统如何处理;
      2、余额不足,系统如何处理;
      3、取消支付,系统如何处理;
      4、重复支付,系统如何处理;
      5、微信或支付宝账号未登录时支付,系统如何处理;
      6、手机上没有支付宝APP时选择支付宝支付,系统如何处理;
      7、支付期间突然断网,系统如何处理;
      8、取消支付后再次支付,系统如何处理;
      9、金额上:最小值金额的支付,最大值金额的支付,错误金额的支付(如金额格式的错误、不允许使用的货币等等);

    如何设计一个好的测试case

    链接:http://www.sohu.com/a/247756141_165433

    “好的”测试用例一定是一个完备的集合,它能够覆盖所有等价类以及各种边界值,而跟能否发现缺陷无关。
    一个“好的”测试用例,必须具备以下三个特征。

    1.整体完备性:“好的”测试用例一定是一个完备的整体,是有效测试用例组成的集合,能够完全覆盖测试需求。

    2.等价类划分的准确性:指的是对于每个等价类都能保证只要其中一个输入测试通过,其他输入也一定测试通过。

    3.等价类集合的完备性:需要保证所有可能的边界值和边界条件都已经正确识别。

    做到了以上三点,就可以肯定测试是充分且完备的,即做到了完整的测试需求覆盖。

    一,检查标准

    1.准确性(Accurate)
    测试覆盖了描述部分需要测试的内容。

    2.经济性(Economical)
    测试用例没有冗余的步骤

    3.可重复性(Repeatable)
    测试用例应该是独立一致的,不管任何人执行,结果都一致。

    4.可追踪(Traceable)
    测试用例应该追溯到具体需求。

    5.自我清理(Self cleaning)
    测试结束后,恢复到原有干净的状态,不应该对原有系统造成影响。

    6 结构化和可测试性(Structure and testability)
    测试用例应该是结构化。一般可以根据一个横向维度,对测试用例进行功能模块的划分;同时纵向维度上可以根据测试类别对测试用例进行纵向结构的划分。
    测试同时应该是可测试性的。对于无法执行的测试用例是没有意义的。

    7.规范性
    命名 + 编号

    目的

    测试方法

    环境, 数据, 前提,权限。

    步骤, 期望结果。

    清理数据,还原系统。

    这里其实包含一个测试用例的组成部分:

    命名, 编号(一般会结合功能进行命名)
    目的描述
    测试类型(该测试用例属于功能测试,性能测试,单元测试,系统测试等等)
    环境
    测试数据
    前提
    步骤
    期望结果
    实际结果
    测试结果(通过还是失败)

    一般来说测试用例,不会说明备份系统,还原系统的步骤,这两个步骤一般都会由自动化脚本自动执行。

    8.简洁性

    不超过15步。

    执行时间不要超过20分钟。这两点其实是希望测试用例的规模比较小,粒度不要太大。这点在大型系统不太适用。

    这里给出了一个测试用例编写的指导规范。尽量简洁,精悍。

    9.完整性
    自动化脚本应该包含必要的注释,包括,目的,输入,预期结果。

    如果可能,提供不同的前置条件下的测试。

    测试用例应该尽量完整,包含自动化脚本。

    10.有效性
    测试用例是否符合商业案例?

    11.独立性
    测试用例应该保持独立性,一个测试用例最好是能独立运行,不依赖于其他的测试用例的输出结果。出于结构的考虑,有些特殊测试用例设计本身就是作为setup来设计的,这个除外。

    二, 测试用例的配置管理
    采用命名和编号规范归档。

    用例版本是否与当前被测试软件版本一致(对应)。测试用例最好有版本控制

    包含用例需要的相应测试对象,如特定数据库。

    存档阅读。

    存档时按角色控制访问方式

    当网络备份时存档。

    离线归档。

    压力测试,负载测试和性能测试关系?

    链接:http://www.51testing.com/html/06/n-3721106.html
    性能测试是动力,负载测试载重,压力测试强度

    压力测试stresstest:是在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响。

    负载测试Loadtest:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。

    软件测试风险分析

    在这里插入图片描述

    测试计划都包括什么?

    1. 概述 1.1 编写目的 1.2 项目背景 1.3 项目质量目标 1.4 预期读者 1.5 参考资料
    2. 测试环境 2.1 系统架构 2.2 软硬件环境要求 2.3 测试环境部署图
    3. 测试规划 3.1 测试范围 3.2 测试工具 3.3 人员、角色及职责
    4. 测试策略 4.1 系统框测试 4.2 业务流程测试 4.3 功能点测试 4.4 UI界面测试 4.5 性能测试 4.6 兼容性测试 4.7 安全测试
    5. 测试进度安排
    6. 工作汇报

    web测试和手机测试有什么区别

    WEB测试和App测试从流程上来说,没有区别。都需要经历测试计划方案,用例设计,测试执行,缺陷管理,测试报告等相关活动。从技术上来说,WEB测试和APP测试其测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI测试等测试类型。

    他们的主要区别在于具体测试的细节和方法有区别,比如:性能测试,在WEB测试只需要测试响应时间这个要素,在App测试中还需要考虑流量测试和耗电量测试。

    兼容性测试:在WEB端是兼容浏览器,在App端兼容的是手机设备。而且相对应的兼容性测试工具也不相同,WEB因为是测试兼容浏览器,所以需要使用不同的浏览器进行兼容性测试(常见的是兼容IE6,IE8,chrome,firefox)如果是手机端,那么就需要兼容不同品牌,不同分辨率,不同android版本甚至不同操作系统的兼容。(常见的兼容方式是兼容市场占用率前N位的手机即可),有时候也可以使用到兼容性测试工具,但WEB兼容性工具多用IETester等工具,而App兼容性测试会使用Testin这样的商业工具也可以做测试。

    安装测试:WEB测试基本上没有客户端层面的安装测试,但是App测试是存在客户端层面的安装测试,那么就具备相关的测试点。

    还有,App测试基于手机设备,还有一些手机设备的专项测试。如交叉事件测试,操作类型测试,网络测试(弱网测试,网络切换)

    交叉事件测试:就是在操作某个软件的时候,来电话、来短信,电量不足提示等外部事件。

    操作类型测试:如横屏测试,手势测试

    网络测试:包含弱网和网络切换测试。需要测试弱网所造成的用户体验,重点要考虑回退和刷新是否会造成二次提交。弱网络的模拟,据说可以用360wifi实现设置。

    从系统架构的层面,WEB测试只要更新了服务器端,客户端就会同步会更新。而且客户端是可以保证每一个用户的客户端完全一致的。但是APP端是不能够保证完全一致的,除非用户更新客户端。如果是APP下修改了服务器端,意味着客户端用户所使用的核心版本都需要进行回归测试一遍。

    还有升级测试:升级测试的提醒机制,升级取消是否会影响原有功能的使用,升级后用户数据是否被清除了。

    selenium 和 Appium 是怎么联系的?有什么关系?

    一 、 selenium是专门做web端的自动化测试工具

    Selenium与其他测试工具相比,最大好处是:

    Selenium 测试直接在浏览器中运行,就像真实用户所做的一样。Selenium 测试可以在 Windows、Linux 和 Macintosh上的 Internet Explorer、Chrome和 Firefox 中运行。其他测试工具都不能覆盖如此多的平台。使用 Selenium 和在浏览器中运行测试还有很多其他好处。

    下面是主要的两大好处:

    通过编写模仿用户操作的 Selenium 测试脚本,可以从终端用户的角度来测试应用程序。通过在不同浏览器中运行测试,更容易发现浏览器的不兼容性。Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。

    二 、appium是手机app端的自动化,它继承了webdriver(也就是selenium 2)

    不过appium仍然需要通过selenium最后做测试工具,但是appium起到了一个连接手机端非常好的桥梁工作!可以连接到电脑上非常方便的调用selenium工具来做测试。

    Selenium 1.0版包括三个部分,分别是Selenium IDE(插件,用于录屏,并转化代码)、Selenium Grid(扩展工具集)和Selenium RC(Remote Controller),其中最主要部分为Selenium RC。

    但是Selenium与WebDriver合并后,Selenium2.0就等价为WebDriver了,所以学习Selenium2.0的话,相当于主要学习WebDriver API了。

    3.0版本直到2016年才发布,该版本彻底移出了Selenium RC,对开发环境也有了限制(例如只支持jvav8以上版本,对不同的浏览器也有最低版本要求)。相对而言,2.0版的通用性更高。

    搜索功能的测试用例包括哪些?

    功能测试

    搜索内容为空,验证系统如何处理
    搜索内容为空格,查看系统如何处理
    边界值验证:在允许的字符串范围内外,验证系统的处理
    超长字符串输入,系统是否会截取允许的长度来检验结果
    合法的字符串长度后,加空格验证检索结果
    多关键字中间加入空格,逗号,tab验证系统的结果是否正确
    验证每种合法的输入,结果是否正确
    是否支持检索内容的复制、粘贴、编辑等操作
    是否支持回车键搜索
    多次输入相同的内容,查看系统的检索结果是否一致
    特殊字符、转义字符、html脚本等需要做处理
    敏感词汇,提示用户无权限等
    输入的内容是否支持快捷键操作等
    只能输入允许的字符串长度等
    输入链接是否正确跳转,
    搜索的历史纪录是否显示在下面
    搜索内容有没有联想功能
    界面测试

    查看UI是否显示正确,布局是否合理
    是否有错别字
    搜索结果显示的布局是否美观
    已查看的结果链接,链接的颜色要灰化处理,
    结果数量庞大时,页面的分页布局是否合理
    安全性测试

    脚本的禁用
    SQL的注入,检索SQL SELECT语句等
    敏感内容的检索是禁止的
    特殊字符的检索
    被删除、加密、授权的数据,不允许被查出来,是否有安全设计控制
    兼容性测试

    多平台Windows,mac
    移动平台android,ios
    多浏览器火狐、chrome、IE等
    性能测试

    搜索页面的链接打开速度是否满足设计要求
    搜索出结果消耗时间,是否满足设计要求

    阶段评审与同行评审的区别?

    同行评审目的:发现小规模工作产品的错误,只要是找错误;

    阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性

    同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导

    阶段评审人数:5人左右 评审人必须是专家 具有系统评审资格

    同行评审内容:内容小 一般文档 < 40页, 代码 < 500行

    阶段评审内容: 内容多,主要看重点

    同行评审时间:一小部分工作产品完成

    阶段评审时间: 通常是设置在关键路径的时间点上

    验收测试包括?

    功能测试、易用性测试、兼容性测试、安装测试、文档测试等等

    兼容性测试是指软件可以在不同的平台下运行,包括软件环境(比如LINUX的各个版本等)、硬件环境(比如android的各款手机等)。

    安装测试,也叫部署测试,确保软件安装后可以正常使用,包括不同的安装方式、不同平台下的安装等。

    文档测试只要是测试文档,文档也是软件交付的产品之一,包括用户手册、使用说明等等。

    非正式验收包括Alpha 测试、Beta 测试。Alpha 测试一般是在开发者所提供的场所进行测试,由用户来执行。Beta 测试完全脱离开发者的环境,完全交给用户进行测试。

    测试策略有哪些?

    链接:https://blog.csdn.net/hongfuqiang/article/details/78786187

    设计系统测试需要参考的项目文档

    软件测试计划
    软件需求规范
    迭代计划

    文档测试

    Namaste,guys ~此博客Val主要分享关于文档测试的概念。

    一、文档测试的内容:
    1、文档的完整性:主要是测试文档内容的全面性与完整性,从总体上把握文档的质量。例如用户手册应该包括软件的所有功能模块。

    2、描述与软件实际情况的一致性:主要测试软件文档与软件实际的一致程度。例如用户手册基本完整后,我们还要注意用户手册与实际功能描述是否一致。因为文档往往跟不上软件版本的更新速度。

    3、易理解性:主要是检查文档对关键、重要的操作有无图文说明,文字、图表是否易于理解。对于关键、重要的操作仅仅只有文字说明肯定是不够的,应该附有图表使说明更为直观和明了。

    4、文档中提供操作的实例:这项检查内容主要针对用户手册。对主要功能和关键操作提供的应用实例是否丰富,提供的实例描述是否详细。只有简单的图文说明,而无实例的用户手册看起来就像是软件界面的简单拷贝,对于用户来说,实际上没有什么帮助。

    5、印刷与包装质量:主要是检查软件文档的商品化程度。有些用户手册是简单打印、装订而成,过于粗糙,不易于用户保存。优秀的文档例如用户手册和技术白皮书,应提供商品化包装,并且印刷精美。

    二、软件文档测试对象与目的
    1、文档测试对象主要如下:
    包装文字和图形;
    市场宣传材料、广告以及其它插页;
    授权、注册登记表;
    最终用户许可协议;
    安装和设置向导;
    用户手册;
    联机帮助;
    样例、示范例子和模板;

    2、文档测试的目的:
    提高易用性和可靠性,降低支持费用,因为用户通过文档就可以自己解决问题。
    因此文档测试的检查内容主要如下:

    读者对象——主要是文档的内容是否能让该级别的读者理解;
    术语——主要是检查术语是否适合读者;
    内容和主题——检查主题是否合适、是否丢失、格式是否规范等;
    图标和屏幕抓图——检查图表的准确度和精确度;
    样例和示例——是否与软件功能一致;
    拼写和语法;
    文档的关联性——是否与其它相关文档的内容一致,例如与广告信息是否一致;
    文档测试是相当重要的一项测试工作,不但要给予充分的重视,更要要认真的完成,象做功能测试一样来对待文档测试。

    三、做好文档测试需要注意:
    仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例;
    检查文档的编写是否满足文档编写的目的;
    内容是否齐全、正确、完善;

    软件的缺陷等级应如何划分?

    致命的:致命的错误,造成系统或应用程序崩溃、死机、系统悬挂,或造成数据丢失、主要功能完全丧失等。
    严重的:严重错误,指功能或特性没有实现,主要功能部分丧失,次要功能完全丧失,或致命的错误声明。
    一般的:不太严重的错误,这样的软件缺陷虽然不影响系统的基本使用,但没有很好地实现功能,没有达到预期效果。如次要功能丧失,提示信息不太准确,或用户界面差,操作时间长等。
    微小的:一些小问题,对功能几乎没有影响,产品及属性仍可使用,如有个别错别字、文字排列不整齐等。

    测试过程中输出的文档

    测试计划,测试文档,测试用例,测试日志,bug报告,测试总结报告

    软件质量评估指标

    1、功能性的质量指标
      功能的正确性:系统功能和用户的实际需求、已定义的产品规范一致。
      功能的准确性:系统产生的结果在精度允许的误差范围内。
      功能的完整性:所有功能及其定义清楚、可用。
      2、可用性的质量指标
      可操作性:容易使用和操作,包括理解用户界面、适应一些特殊用户的可选项等。
      通用性:数据显示、网络通信接口和用户界面等都遵守已有的软件标准。
      一致性:在软件开发整个生命周期内建立和使用相同的标准,保证全局变量、数据类型、出错处理的命名和使用一致。
      3、可靠性的质量指标
      自我恢复能力:当系统的某个功能失效发生时,系统在当前环境下能实现故障自动转移,重新自动配置、继续执行的能力,软件系统具有自我检测、容错、备份等机制,尽量做到独立于硬件的编码、硬件设备之间的通信协议一致等。
      健壮性:各种恶劣环境(大数据量、大用户量)下系统能正常工作。
      分布性:软件系统的某些子功能或子系统被定位于不同的处理主机、存储设备。
      4、性能的质量指标
      有效性:系统在通信、处理、存储等方面占有很少资源或者对所使用的资源进行了优化。
      完整性:系统具有良好的安全管理,能防止不安全存取系统、防止数据丢失病毒入侵等。
      易存取性:对系统的存取权限设置清楚,存取操作方便,存取操作有记录。
      5、可维护性的质量指标
      模块化:指讲一个复杂的软件系统分解为分别命名并具备最小耦合性、很强凝聚性、结构化的组件。
      灵活性:容易为系统增加一个新功能或者新的数据而不需要进行大量的代码修改或者设计修改。
      可测试性:测试软件组件或者集成产品时查找缺陷的简易程度。
      可追溯性:对一个特殊需求容易找出相应的代码,反之,也可以根据代码找出特定的需求。
      兼容性:软件、硬件、通信系统之间协调及兼容其他系统的能力。
      可解释性:相关文档齐全、符合标准、逻辑清晰、描述准确、用词恰当,容易理解和定位。
      6、可移植性质量指标
      适应性:系统不依赖于环境,即系统不做修改或作很少的修改即可运行在其他环境下。
      易安装性:与在指定的环境下安装软件所需努力有关的软件属性。如在线更新、安装包自动生成等。
      可重用性:一个软件组件除了在最初开发的系统之外应用于其他系统的能力。
      互操作性:软件系统与其他系统交换数据和服务的难易程度。
      可替换性:与软件在该环境中用来替代指定的其他软件的机会和努力有关的软件属性。

    测试用例的维护、

    软件产品的版本是随着软件的升级而不断变化的,而每一次版本的变化都会对测试用例集产生影响,所以测试用例集也需要不断地变更和维护,使之与产品的变化保持一致。以下原因可能导致测试用例变更:

    1)软件需求变更:软件需求变更可能导致软件功能的增加、删除、修改等变化,应遵循需求变更控制管理方法,同样变更的测试用例也需要执行变更管理流程。

    2)测试需求的遗漏和误解:由于测试需求分析不到位,可能导致测试需求遗漏或者误解,相应的测试用力也要进行变更。特别是对于软件隐性需求,在测试需求分析阶段容易遗漏,而在测试执行过程中被发现,这时需要补充测试用例。

    3)测试用例遗漏:在测试过程中,发现测试用例未覆盖全部需求,需要补充相应的测试用例。

    4)软件发布后,用户反馈的缺陷:表明测试不全面,存在尚未发现的缺陷,需要补充或者修改测试用例。

    对于提供软件服务的产品,其多个版本常常共存,而对应的测试用例也是共存的,而且测试用例需要专人定期维护,并遵循以下原则:

    1)及时删除过时的测试用例

    需求变更可能导致原有部分测试用例不再适合新的需求要求。例如,删除了某个功能,那么针对该功能的测试用例也不再需要。所以随着需求的每一次变更,都要删除那些不再使用的测试用例。

    2)及时删除冗余的测试用例

    在设计测试用例时,可能存在两个或者多个用例测试相同内容,降低回归测试效率,所以要定期整理测试用例集,及时删除冗余的测试用例。

    3)增加新的测试用例

    由于需求变更、用例遗漏或者版本发布后发现缺陷等原因,原有的测试用例集没有完全覆盖软件需求,需要增加新的测试用例。

    4)改进测试用例

    随着开发工作进行,测试用例不断增加,某些用例随着系统输入和当前状态的变化而变得不再适用,这些用例难以重用,影响回归测试的效率,需要进行改进,使之可重用可控制。

    总之,测试用例的维护是一个长期的过程,也是一个不断改进和完善的过程。

    展开全文
  • 软件测试入门视频教程

    万人学习 2019-06-25 10:59:08
    软件测试入门视频培训教程:该课程将带你走进“软件测试”的大门,具体内容包括软件测试环境搭建、软件开发模型、产品模型、CMM模型、测试用例、等价类划分、边界值划分、白盒测试、单元测试、bugfree搭建、系统测试...
  • 软件测试习题附答案

    千次阅读 2018-12-06 11:00:30
    转载 ... 单项选择题:共20小题,每小题1 分,满分20分;请将答案填入题后括号中。 1.&nbsp;在软件生命周期的哪一个阶段,软件缺陷修复费用最低 &nbsp;...nbsp...
    转载 https://blog.csdn.net/qq_23994787/article/details/73699212

    单项选择题20小题,每小题1 分,满分20分;请将答案填入题后括号中。

    1. 在软件生命周期的哪一个阶段,软件缺陷修复费用最低                                  A   )

       A)需求分析(编制产品说明书)              B)设计

    (C) 编码                                  D)产品发布

    2. 单元测试中用来模拟被测模块调用者的模块是                                          C   )

     (A) 父模块                               B)子模块

      C)驱动模块                                D)桩模块

    3. 为了提高测试的效率,应该                                                          D   )

       A)随机地选取测试数据;

       B)取一切可能的输入数据作为测试数据;

       C)在完成编码以后制定软件的测试计划;

       D)选择发现错误可能性大的数据作为测试数据。

    4. 侧重于观察资源耗尽情况下的软件表现的系统测试被称为                               B    )

       A)强度测试                                B)压力测试

    (C) 容量测试                              D)性能测试

    5. 必须要求用户参与的测试阶段是                                                      D   )

       A)单元测试                                B)集成测试

    (C) 确认测试                              D)验收测试

    6. 软件测试员究竟做些什么。                    C   )

       A)软件测试员的目的是发现软件缺陷

    B)软件测试员的目的是发现软件缺陷,尽可能早一些

    (C)软件测试员的目的是发现软件缺陷,尽可能早一些,并确保其得以修复

    D)软件测试员的目的是发现软件缺陷,尽可能早一些,并将其得以修复

    7. 下面四种说法中正确的是                                                      C  )

       A)因果图法是建立在决策表法基础上的一种白盒测试方法;

       B)等价类划分法是边界值分析法的基础;

       C)健壮性等价类测试的测试用例要求在有效等价类中取值;

       D)在任何情况下做黑盒测试皆应首先考虑使用错误推断法。

    8. 不属于单元测试内容的是                                                           A    )

       A)模块接口测试                            B)局部数据结构测试

    (C) 路径测试                              D)用户界面测试

    9. 划分软件测试属于白盒测试还是黑盒测试的依据是                                      C   )

       A)是否执行程序代码

       B)是否能看到软件设计文档

       C)是否能看到被测源程序

       D)运行结果是否确定

    10. 下列项目中不属于测试文档的是                                                    C  )

       A)测试计划                                B)测试用例

    (C) 程序流程图                            (D)测试报告

    11. 几乎没有产品计划、进度安排和正规的开发过程的软件开发模式是                        B   )

       A)大棒模式                                B)边写边改模式

    (C) 瀑布模式                              (D)快速原型开发模式

    12. 如果某测试用例集实现了某软件的路径覆盖,那么它一定同时实现了该软件的              A   )

       A)判定覆盖                                 B)条件覆盖

    (C) 判定/条件覆盖                         D)组合覆盖

    13. 下列说法不正确的是                                                              D   )

       A)测试不能证明软件的正确性;

       B)测试员需要良好的沟通技巧;

       C)QA与testing属于一个层次的概念;

       D)成功的测试是发现了错误的测试。

    14. Web网站进行的测试中,属于功能测试的是                                 (   B   )

       A)连接速度测试                           (B)链接测试

       C)平台测试

                                   D)安全性测试

    15. 在进行单元测试时,常用的方法是                                                  B   )

       A)采用黑盒测试,辅之以白盒测试;

       B)采用白盒测试,辅之以黑盒测试;

       C)只使用黑盒测试;

       D)只使用白盒测试。

    16. 使用白盒测试方法时,确定测试数据的依据是指定的覆盖标准和                          B   )

       A)程序的注释

       B)程序的内部逻辑

       C)用户使用说明书

       D)程序的需求说明

    17.下列___不是软件自动化测试的优点                                        (  D    )

    (A)速度快、效率高                                      (B)准确度和精确度高

    (C)能提高测试的质量                                    (D)能充分测试软件

    18. 配置测试               (    C  )

    (A) 是指检查软件之间是否正确交互和共享信息    (B) 是交互适应性、实用性和有效性的集中体现

    (C) 是指使用各种硬件来测试软件操作的过程      (D) 检查缺陷是否有效改正

    19. 下列各项中___不是一个测试计划所应包含的内容                            (  B    )

    (A)测试资源、进度安排                                  (B)测试预期输出

    (C)测试范围                                            (D)测试策略

    20.下列不属于正式审查的方式是                                            (   D   )

    (A)同事审查

    (B) 公开陈述

    (C) 检验

    (D) 编码标准和规范

    二、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。

    1. 好的测试员不懈追求完美。                                                        ×  )

    2. 软件测试是有效的排除软件缺陷的手段。                                             √  )

    3. 程序员与测试工作无关。                                                          ×   )

    4. 程序员兼任测试员可以提高工作效率。                                               ×   )

    5. 产品说明书(需求文档)的变更应当受到控制。                                       √   )

    6. 白盒测试的“条件覆盖”标准强于“判定覆盖”。                                   (   ×   )

    7. 软件开发全过程的测试工作都可以实现自动化。                                       ×   )

    8. 找出的软件缺陷越多,说明剩下的软件缺陷越少。                                    ×    )

    9. 采用自动化测试有可能延误项目进度。                                               √   )

    10.测试应从“大规模”开始,逐步转向“小规模”                                     ×   )

    三、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处

    1. 软件缺陷产生的原因包括软件说明书设计编写代码 以及其他原因。

    2. 软件开发模式包括大棒模式边写边改模式流水模式螺旋模式

    3. 黑盒测试用例设计方法包括等价类划分法边界值法以及因果图法错误推测法等。

    4. 测试过程中,____测试计划_______________描述用于描述测试的整体方案,________缺陷报告__描述依据测试案例找出的问题。

    5. 传统的等价类划分测试的实现分两步进行,一是___划分等价类表____,二是_边界值分析法______。

    6. 在兼容性测试中,______向前兼容_________是指可以使用软件的以前版本, ___向后兼容_____是指可以使用软件的未来版本。

    7. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试___,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为___静态白盒测试_____________。

    8. 不需要修复软件缺陷的原因包括______没有时间__、不能算真正的软件缺陷、___风险太大__、不值得修复。

    9. 白盒测试又称为_结构测试或逻辑结构测试_,黑盒测试又称为___功能测试或给予规格说明书的测试_。

    10. 动态测试的两个基本要素是___被测试程序___、_____测试数据___。

    四、名词解释:5小题,每小题3分,满分15分

    1. 软件缺陷   

    1).软件未达到产品说明书的功能

     2).软件出现了产品说明书指明不会出现的错误

     3).软件功能超出产品说明书指明范围

     4).软件未达到产品说明书虽未指出但应达到的目标

     5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

     

    2. β测试

    β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。

    3.测试的配置管理

    配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。一般来说,软件测试配置管理包括4个最基本的活动:(1)配置标识;(2)变更控制;(3)配置状态报告; (4)配置审计。

     

    4.测试用例

    测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。

    5.黑盒测试

    黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。

    五、简答题:共3小题,每小题5分,满分15分。

    1. 如何划分等价类?

    1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

    2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。

    3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。

    4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。

    5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

    6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

     

    2. 软件验收测试应完成哪些主要测试工作?

    1)文档资料的审查验收

    2)功能测试

    3)性能测试

    4)强化测试

    5)性能降级执行方式测试

    6)检查系统的余量要求

    7)安装测试

    8)用户操作测试

     

    3. 简述软件开发-软件测试的对用关系。

     

    六、综合题:共1小题,每小题20分,满分20分。

    1. 某城市的电话号码由三部分组成。这三部分的名称和内容分别是

            地区码:空白或三位数字;

                缀:非’0’或’1’开头的三位数;

                缀:四位数字。

    假定被调试的程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的号码,试用等价分类法来设计它的调试用例。

    解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。

    输入条件

    有效等价类

    无效等价类

    地区码

    空白(1),3位数字(2)

    有非数字字符(5),少于3位数字(6),多于三位数字(7)

    前缀

    从200到999之间的3位数字(3)

    有非数字字符(8),起始位为"0"(9),起始位为"1"(10),少于3位数字(11),多于3位数字(12)

    后缀

    4位数字(4)

    有非数字字符(13),少于4位数字(14),多于4位数字(15)

      第二步:确定调试用例。

    调试数据

    范围

    期望结果 

    (   )  276-2345

    等价类(1),(3),(4)

    有效 

    (635)  805-9321

    等价类(2),(3),(4)

    有效 

    对11个无效等价类,要选择11个调试用例,如下所示:

     调试数据 

    范围

     期望结果

    (20A)  123-4567    

    无效等价类(5)

    无效 

    (33 )  234-5678  

    无效等价类(6)

    无效 

    (7777) 345-6789   

    无效等价类(7)

    无效 

    (777)  34A-6789

    无效等价类(8)

    无效 

    (234)  045-6789

    无效等价类(9)

    无效 

    (777)  145-6789

    无效等价类(10)

    无效 

    (777)  34-6789   

    无效等价类(11)

    无效 

    (777)  2345-6789    

    无效等价类(12)

    无效 

    (777)  345-678A  

    无效等价类(13)

    无效 

    (777)  345-678

    无效等价类(14)

    无效 

    (777)  345-56789  

    无效等价类(15)

    无效 

        选取的调试数据可以不同,关键是与调试内容相符。

     

    软件测试技术(A卷)答案及评分标准

    一、 单选题(20×1=20分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    A

    C

    D

    B

    D

    C

    C

    A

    C

    C

    题号

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    答案

    B

    A

    D

    B

    B

    B

    D

    C

    B

    D

    二、 判断题(10×1=10分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    ×

    ×

    ×

    ×

    ×

    ×

    ×

     

    三、 填空题(20×1=20分)

    1.编写说明书;  编写代码

    2.大棒模式;  流水模式

    3.等价类划分;  边界值分析法

    4.测试计划;  缺陷报告

    5.划分等价类表;  设计相应的测试用例

    6.向前兼容;  向后兼容

    7.动态黑盒测试;  静态白盒测试

    8.没有时间;  风险太大

    9.结构测试或逻辑驱动测试;

      功能测试或数据驱动测试或基于规格说明书的测试

    10.被测试程序;  测试数据(测试用例)

    四、 名词解释(5×3=15分)

    1.软件缺陷:(符合下列规则的叫软件缺陷):

     1).软件未达到产品说明书的功能

     2).软件出现了产品说明书指明不会出现的错误

     3).软件功能超出产品说明书指明范围

     4).软件未达到产品说明书虽未指出但应达到的目标

     5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

    2.β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况,提出批评意见。

    3.配置管理的目的是建立和维护在软件生命周期中软件产品的完整性和一致性。一般来说,软件测试配置管理包括4个最基本的活动:(1)配置标识;(2)变更控制;(3)配置状态报告; (4)配置审计。

    4.测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。

    5.黑盒测试也称功能测试或数据驱动测试,前提是已知产品所具有的功能,通过测试来检测每个功能是否都正常使用。 

    五、 简答题(3×5=15分)

    1.

    1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。

    2).在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,则可以确立一个有效等价类和一个无效等价类。

    3).在输入条件是一个布尔量的情况下,可以确立一个有效等价类和一个无效等价类。

    4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可以确立n个有效等价类和一个无效等价类。

    5).在规定了输入数据必须遵守的规则的情况下,可以确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。

    6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。

    2. 软件验收测试应完成哪些主要测试工作?

    1)文档资料的审查验收

    2)功能测试

    3)性能测试

    4)强化测试

    5)性能降级执行方式测试

    6)检查系统的余量要求

    7)安装测试

    8)用户操作测试

    3. 简述软件开发-软件测试的对用关系

     

    六、 综合题(1×20=20分)

    解:第一步:划分等价类,包括4个有效等价类,11个无效等价类。

    输入条件

    有效等价类

    无效等价类

    地区码

    空白(1),3位数字(2)

    有非数字字符(5),少于3位数字(6),多于三位数字(7)

    前缀

    从200到999之间的3位数字(3)

    有非数字字符(8),起始位为"0"(9),起始位为"1"(10),少于3位数字(11),多于3位数字(12)

    后缀

    4位数字(4)

    有非数字字符(13),少于4位数字(14),多于4位数字(15)

      第二步:确定调试用例。

    调试数据

    范围

    期望结果 

    (   )  276-2345

    等价类(1),(3),(4)

    有效 

    (635)  805-9321

    等价类(2),(3),(4)

    有效 

    对11个无效等价类,要选择11个调试用例,如下所示:

     调试数据 

    范围

     期望结果

    (20A)  123-4567    

    无效等价类(5)

    无效 

    (33 )  234-5678  

    无效等价类(6)

    无效 

    (7777) 345-6789   

    无效等价类(7)

    无效 

    (777)  34A-6789

    无效等价类(8)

    无效 

    (234)  045-6789

    无效等价类(9)

    无效 

    (777)  145-6789

    无效等价类(10)

    无效 

    (777)  34-6789   

    无效等价类(11)

    无效 

    (777)  2345-6789    

    无效等价类(12)

    无效 

    (777)  345-678A  

    无效等价类(13)

    无效 

    (777)  345-678

    无效等价类(14)

    无效 

    (777)  345-56789  

    无效等价类(15)

    无效 

        选取的调试数据可以不同,关键是与调试内容相符。

    一、 单项选择题20小题,每小题1 分,满分20分;请将答案填入题后括号中。

    1. 软件测试的目的是                                                          B   )

    (A)发现程序中的所有错误                          (B)尽可能多地发现程序中的错误

    (C)证明程序是正确的                              (D)调试程序

    2. 下列___不属于测试原则的内容                                             ( D     )

    (A)软件测试是有风险的行为                        (B)完全测试程序是不可能的      

    (C)测试无法显示潜伏的软件缺陷                    (D)找到的缺陷越多软件的缺陷就越少

    3. 导致软件缺陷的最大原因是                                                   A   )

    (A)编制说明书                                    (B)设计  

    (C)编码                                          (D)测试

    4. 修复软件缺陷费用最高的是____阶段:                                   (   D   )

       A)编制说明书                         B)设计

    (C) 编写代码                         D)发布

    5. 白盒测试是根据程序的__C__来设计测试用例,黑盒测试是根据软件的规格说明来设计测试用例。

     (A)功能                                          (B)性能        

    (C)内部逻辑                                      (D)内部数据

    6. 条件覆盖的目的是                                                          A   )

    (A)使每个判定的所有可能的条件取值组合至少执行一次

    (B)使程序中的每个判定至少都获得一次“真”值和“假”值。

    (C)使程序中的每个判定中每个条件的可能值至少满足一次。

    (D)使程序中的每个可执行语句至少执行一次。

    7. 一个程序中所含有的路径数与____有着直接的关系。                         (   A   )

    (A) 程序的复杂程度                                     (B) 程序语句行数

    (C)程序模块数                                          (D)程序指令执行时间

    8. 动态黑盒子测试:                                                         B   )

       A)直接测试底层功能、过程、子程序和库           B)可估算执行测试时代码量和具体代码

    (C)从软件获得读取变量和状态信息的访问权          (D)测试的是软件在使用过程中的实际行为

    9. 在自低向上测试中,要编写称为___B_的模块来测验正在测试的模块。

     (A) 测试存根                               (B) 测试驱动模块

    (C)桩模块                                  (D) 底层模块

    10. 下列___不是软件自动化测试的优点                                        (  D    )

    (A)速度快、效率高                                      (B)准确度和精确度高

    (C)能提高测试的质量                                    (D)能充分测试软件

    11. 配置测试                  C   )

    (A) 是指检查软件之间是否正确交互和共享信息    (B) 是交互适应性、实用性和有效性的集中体现

    (C) 是指使用各种硬件来测试软件操作的过程      (D) 检查缺陷是否有效改正

    12. 下列各项中___不是一个测试计划所应包含的内容                            (  B    )

    (A)测试资源、进度安排                                  (B)测试预期输出

    (C)测试范围                                            (D)测试策略

    13.  下列不属于正式审查的方式是                                              D    )

    (A)同事审查(B) 公开陈述(C) 检验(D) 编码标准和规范

    14.  在没有产品说明书时使用____:                                           (  A    )

    (A)探索测试(B) 功能测试(C) 动态测试(D) 静态测试

    15. 调试是                                                                   D    )

    (A)发现与预先定义的规格和标准不符合的问题

    (B)发现软件错误征兆的过程

    (C)有计划的、可重复的过程

    (D)消除软件错误的过程

    16. 在软件底层进行的测试称为                                                 C    )

    (A) 系统测试  (B)  集成测试  (C) 单元测试       (D) 功能测试

    17. 在确定黑盒测试策略时,优先选用的方法是                                     B   )

    (A) 边界值分析法      (B) 等价类划分   

    (C)错误推断法                        (D)决策表方法

    18. 下列___不属于软件缺陷                                                   (   A   )

    (A) 测试人员主观认为不合理的地方

    (B) 软件未达到产品说明书标明的功能

    (C)软件出现了产品说明书指明不会出现的错误

    (D)软件功能超出产品说明书指明范围

    19. 产品发布后修复软件缺陷比项目开发早期这样做的费用要高_____               (  D    )

    (A)1~2倍   (B)10~20倍  (C)50倍                   (D)100倍或更高

    20. _____把黑盒子测试和白盒子测试的界限打乱了。                                (  A    )

     (A) 灰盒子测试     B)动态测试 (C)静态测试    D)失败测试

    二、填空题:共10小题20个空格,每个空格1分,满分20分;请将答案填入指定的空白处。

    11. 软件缺陷产生的原因包括_____编写说明书_____、设计、______编写代码_____以及其他原因。

    12. 软件开发模式包括________大棒模式___________、边写边改模式、_____流水模式__、螺旋模式。

    13. 黑盒测试用例设计方法包括___等价类划分法___、____边界值分析法___以及因果图法,错误推测法等。

    14. 测试过程中,___测试计划_____用于描述测试的整体方案,__缺陷报告_描述依据测试案例找出的问题。

    15. 传统的等价类划分测试的实现分两步进行,一是划分等价类表_,二是_设计相应的测试用例_。

    16. 在兼容性测试中,_ 向前兼容_是指可以使用软件的以前版本, _____向后兼容是指可以使用软件的未来版本。

    17. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为__动态黑盒测试____,在不执行代码的条件下有条理地仔细审查软件设计、体系结构和代码,从而找出软件缺陷的测试方法称为 静态白盒测试_。

    18. 不需要修复软件缺陷的原因包括___没有时间____、不能算真正的软件缺陷、______风险太大__、不值得修复。

    19. 白盒测试又称为_____结构测试___,黑盒测试又称为____功能测试__。

    20. 动态测试的两个基本要素是____被测试程序____、____测试数据___。

    三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。

    1. 白盒测试的条件覆盖标准强于判定覆盖。                                      ×  )

    2. 验收测试是以最终用户为主的测试。                                           √ )

    3. 测试程序仅仅按预期方式运行就行了。                                       ×   )

    4. 自底向上集成需要测试员编写驱动程序。                                      √  )

    5. 好的测试员不懈追求完美。                                                  ×  )

    6. 软件测试工具可以代替软件测试员。                                          ×  )

    7. 最重要的用户界面要素是软件符合现行标准和规范。                            √  )                                            

    8. 自动化测试可能延误项目进度。                                              √  )

    9. 软件测试员可以对产品说明书进行白盒测试。                                   √ )

    10. 静态白盒测试可以找出遗漏之处和问题。                                     √   )

    四、名词解释;共5小题,每小题3分,满分15分

    1.软件缺陷2. 单元测试3.白盒测试4.回归测试5.等价类

    五、简答题:共3小题,每小题5分,满分15分。

    1. 什么是测试用例?为什么要设计测试用例?

    2. 简述增量式集成测试的自顶向下和自底向上两种测试方法。

    3.分析单元测试和代码调试的区别。

    六、:综合题:共1小题,每小题20分,满分20分。

    1.按要求给出下列程序的测试用例(要求写出必要的说明):

    (1) 语句覆盖

    (2) 判定覆盖

    (3) 条件覆盖

    (4) 判定-条件覆盖

    (5) 条件组合覆盖

     

     

    软件测试技术(B卷)答案及评分标准

    七、 单选题(20×1=20分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    B

    D

    A

    D

    C

    A

    A

    D

    B

    D

    题号

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    答案

    C

    B

    D

    A

    D

    C

    B

    A

    D

    A

     

    八、 填空题(20×1=20分)

    1.编写说明书;  编写代码

    2.大棒模式;  流水模式

    3.等价类划分;  边界值分析法

    4.测试计划;  缺陷报告

    5.划分等价类表;  设计相应的测试用例

    6.向前兼容;  向后兼容

    7.动态黑盒测试;  静态白盒测试

    8.没有时间;  风险太大

    9.结构测试或逻辑驱动测试;

      功能测试或数据驱动测试或基于规格说明书的测试

    10.被测试程序;  测试数据(测试用例)

    九、 判断题(10×1=10分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    ×

    ×

    ×

    ×

     

    十、 名词解释(5×3=15分)

    1.软件缺陷:(符合下列规则的叫软件缺陷):

     1).软件未达到产品说明书的功能

     2).软件出现了产品说明书指明不会出现的错误

     3).软件功能超出产品说明书指明范围

     4).软件未达到产品说明书虽未指出但应达到的目标

     5).软件测试员认为难以理解、不易使用、运行速度缓慢、或者最终用户认为不好

    2.单元测试:单元测试是对软件设计的最小单元——模块进行正确性检验的测试工作,主要测试模块在语法、格式和逻辑上的错误。

    3.白盒测试

    白盒测试也称为结构测试或逻辑驱动测试,前提是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的机构测试程序,检测程序中的每条通路是否都能够按预定要求正确工作,而不管产品的功能,主要用于软件验证。

    4.回归测试

    指软件系统被修改或扩充(如系统功能增强或升级)后重新进行的测试,是为了保证对软件所做的修改没有引入新的错误而重复进行的测试。

    5.等价类:指某个输入域的子集合,在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。

    十一、 简答题(3×5=15分)

    1. 所谓的测试用例就是将软件测试的行为活动,做一个科学化的组织归纳。

    使用测试用例的好处主要体现在以下几个方面:

    • 在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。

    • 测试用例的使用令软件测试的实施重点突出、目的明确。

    • 在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。

    • 功能模块的通用化和复用化使软件易于开发,而相对于功能模块的测试用例的通用化和复用化则会使软件测试易于开展,并随着测试用例的不断精化其效率也不断攀升

    2. 自顶向下增量式测试的主要优点在于它可以自然地做到逐步求精,一开始便能让测试者看到系统的框架。它的主要缺点是需要提供被调用模拟子模块,被调用模拟子模块可能不能反映真实情况,因此测试有可能不充分。

           自底向上测试的优点在于,由于驱动模块模拟了所有调用参数,即使数据流并未构成有向的非环状图,生成测试数据也没有困难。它的缺点在于,直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。

    3. 表面上这两项技术很相似,因为它们都包括查看代码、运行程序和处理软件缺陷的过程,但是它们的目标不同:单元测试是为了发现软件缺陷,而代码调试的目标是修复软件缺陷。在分离和查找软件缺陷原因时这两个过程发生交叉。

    十二、 综合题(1×20=20分)

    中共4条路径:P1ace)、P2abd)、P3abe)、P4acd)。

    1P1正好满足语句覆盖的条件。可以设计如下的输入数据:

    A2B0x4

    2.测试用例如果能够测试路径P1(ace)和P2(abd),就可以满足判定覆盖要求。可以设计如下两组输入数据:

    A=2,B=0,x=4

    A=1,B=1,x=1

    3.条件:A>1,B=0,A=2,x>1。需要有足够的测试用例使得上述四个条件都能有满足和不满足的情况。以下这两组输入数据能满足这些要求:

    A=2,B=0,x=4

    A=1,B=1,x=1

    4.判定/条件覆盖

    A=2,B=0,x=4

    A=1,B=1,x=1

    5.可能的条件组合:

    (1)A>1,B=0(2)A>1,B≠0(3)A≤1,B=0(4)A≤1,B≠0(5)A=2,x>1

    (6)A=2,x≤1(7)A≠2,x>1(8)A≠2,x≤1

    相应的输入数据:

    A=2,B=0,x=4   满足(1)和(5)

    A=2,B=1,x=1    满足(2)和(6)

    A=1,B=0,x=2    满足(3)和(7)

    A=1,B=1,x=1    满足(4)和(8)

    不定项选择题(每题2 分,20)请将答案填入题后括号中。

    1.软件验收测试的合格通过准则是:(  ABCD    )

    A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

    B. 所有测试项没有残余一级、二级和三级错误。

    C. 立项审批表、需求分析文档、设计文档和编码实现一致。

    D. 验收测试工件齐全。

    2.软件测试计划评审会需要哪些人员参加?( ABCD     )

    A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组

    3.下列关于alpha 测试的描述中正确的是:(  AD    )

    A.alpha 测试需要用户代表参加

    B.alpha 测试不需要用户代表参加

    C.alpha 测试是系统测试的一种

    D.alpha 测试是验收测试的一种

    4.测试设计员的职责有:(  BC    )

    A.制定测试计划B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动

      5.下面哪些属于动态分析(  CD     )

    A. 代码覆盖率B. 模块功能检查C. 系统压力测试D. 程序数据流分析

      6.下面哪些属于静态分析(       )

    A、 代码规则检查B、 程序结构分析C、 程序复杂度分析D、 内存泄漏

      7.软件实施活动的进入准则是(     )

    A、 需求工件已经被基线化B、 详细设计工件已经被基线化

    C、 构架工件已经被基线化D、 项目阶段成果已经被基线化

    8.不属于单元测试内容的是   (      )

       A)模块接口测试    B)局部数据结构测试(C) 路径测试       D)用户界面测试

      9.软件测试设计活动主要有(      )

    A、 工作量分析B、 确定并说明测试用例C、 确立并结构化测试过程D、 复审并评估测试覆盖

      10.不属于集成测试步骤的是(     )

    A、 制定集成计划B、 执行集成测试C、 记录集成测试结果 D、 回归测试

    二、填空题:共3小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。

    21. 通过画因果图来写测试用例的步骤为___________________、___________________、___________________、把因果图转换为状态图___________________及共五个步骤。

    22. 软件测试主要分为___________________、___________________、___________________、___________________四类测试。

    23. 软件缺陷产生的原因包括___________________、设计、___________________以及其他原因。

    三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。

    1.软件测试的目的是尽可能多的找出软件的缺陷。(    )

    2.Beta 测试是验收测试的一种。(    )

    3.验收测试是由最终用户来实施的。(    )

    4.项目立项前测试人员不需要提交任何工件。(    )

    5.单元测试能发现约80%的软件缺陷。(    )

    6.代码评审是检查源代码是否达到模块设计的要求。(    )

    7.自底向上集成需要测试员编写驱动程序。(    )

    8.负载测试是验证要检验的系统的能力最高能达到什么程度。(    )

    9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(   )

    10.代码评审员一般由测试员担任。(    )

    四、名词解释;共5小题,每小题3分,满分15分

    1.α测试2. β测试3.驱动模块4. 桩模块5. 静态测试

    五、简答题:共3小题,每小题5分,满分15分。

    1. 阶段评审与同行评审的区别。

    2 . 什么是软件测试。

    3 . 简述集成测试的过程。

    六、综合题:共1小题,每小题20分,满分20分。

      在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。给出程序伪代码、控制流程图、找出基本测试路径。

    软件测试技术(C卷)答案及评分标准

    十三、 单选题(10×2=20分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    ABCD

    ABCD

    AD

    BC

    CD

    ABC

    ABC

    D

    ABCD

    D

     

    十四、 填空题(20×1=20分)

    1. 分析程序规格说明的描述中,哪些是原因,哪些是结果 分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的因果图在因果图上使用若干个特殊的符号标明特定的约束条件把判定表中每一列表示的情况写成测试用例

    2. 单元测试集成测试系统测试验收测试

    3. 需求编码

    十五、 判断题(10×1=10分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    ×

    ×

    ×

    ×

    ×

    十六、 名词解释(5×3=15分)

    1.α测试

    有时也称为室内测试,是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。

    2. β测试

    是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。

    3.驱动模块

    驱动模块就是用来代替主模块,用它来调用子模块

    4. 桩模块

    集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。

    5. 静态测试

    就是不执行程序的测试,包括代码走查,编码规则检查,质量评审,设计评审等。

    十七、 简答题(3×5=15分)

    1.区别阶段评审的与同行评审

    同行评审目的:发现小规模工作产品的错误,只要是找错误;

    阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性

    同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导

    阶段评审人数:5人左右 评审人必须是专家 具有系统评审资格

    同行评审内容:内容小 一般文档 <  40页, 代码 < 500行

    阶段评审内容: 内容多,主要看重点

    同行评审时间:一小部分工作产品完成

    阶段评审时间: 通常是设置在关键路径的时间点上。 

    2.什么是软件测试

    最简单的说:为了发现程序中的错误而执行程序的过程

    3简述集成测试的过程

    系统集成测试主要包括以下过程:

    1. 构建的确认过程。

    2. 补丁的确认过程。

    3. 系统集成测试测试组提交过程。

    4. 测试用例设计过程。

    5. 测试代码编写过程。

    6. Bug的报告过程。

    7. 每周/每两周的构建过程。

    8. 点对点的测试过程。

    9. 组内培训过程。

    十八、 综合题(1×20=20分)

    1. Program triangle2

    2. Dim a,b,c As Integer

    3. Dim IsATriangle As Boolean

    4. Output(“Enter 3 integers which are sides of a triangle”)

    5. Input(a,b,c)

    6. Output(“Side A is ”,a)

    7. Output(“Side B is ”,b)

    8. Output(“Side C is ”,c)

    9. If (a<b+c) AND(b<a+c)AND(c<a+b)

    10. Then IsATriangle =True

    11. Else IsATriangle =False

    12. EndIf

    13. If IsATrangle

    14. Then if(a=b)AND (b=c)

    15. Then Output(“Equilateral”)

    16. Else  If(a<>b)AND(a<>c)AND(b<>c)

    17. Then    Output(“Scalence”)

    18. Else     Output(“Isosecles”)

    19. EndIf

    20. EndIf

    21Else Output(“NOT a Triangle”)

    22EndIf

    23End triangle2

      圈复杂度是 5

    基本路径  (略)。

    选择题(每题2 分,20)请将答案填入题后括号中。

    1.从供选择的答案中选出应填入下列(   )中的字句。

    软件测试的目的是( A )。为了提高测试的效率,应该( B )。使用白盒测试方法时,确定测试数据应根据( C )和指定的覆盖标准。与设计测试数据无关的文档是( D )。

    软件的集成测试工作最好由( E )承担,以提高集成测试的效果。

    供选择的答案:

    A.      ① 评价软件的质量                        ② 发现软件的错误

    ③ 找出软件中的所有错误            ④ 证明软件是正确的

    B.      ① 随机地选取测试数据                  

    ② 取一切可能的输入数据作为测试数据

    ③ 在完成编码以后制定软件的测试计划

    ④ 选择发现错误的可能性大的数据作为测试数据

    C.      ① 程序的内部逻辑                        ② 程序的复杂程度

    ③ 使用说明书                        ④ 程序的功能

    D.      ① 该软件的设计人员                  ② 程序的复杂程度

    ③ 源程序                              ④ 项目开发计划

    E.      ① 该软件的设计人员                  ② 该软件开发组的负责人

    ③ 该软件的编程人员                  ④ 不属于该软件开发组的软件设计人员

    2.请从供选择的答案中选出应填入下列(   )中的字句。

    程序的三种基本控制结构是( A )。它们的共同点是( B )。结构化程序设计的一种基本方法是( C )。软件测试的目的是( D )。软件调试的目的是( E )。

    供选择的答案:

    A.      ① 过程,子程序,分程序                  ② 顺序,条件,循环

    ③ 递归,堆栈,队列                        ④ 调用,返回,转移

    B.      ① 不能嵌套使用                              ② 只能用来写简单的程序

    ③ 已经用硬件实现                              ④ 只有一个入口和一个出口

    C.      ① 筛选法            ② 递归法            ③ 归纳法            ④ 逐步求精法

    D.      ① 证明程序中没有错误                  ② 发现程序中的错误

    ③ 测量程序的动态特性                  ④ 检查程序中的语法错误

    E.      ① 找出错误所在并改正之                  ② 排除存在错误的可能性

    ③ 对错误性质进行分类                  ④ 统计出错的次数

    3.从下列关于软件测试的叙述中,选出5条正确的叙述。

    (1) 用黑盒法测试时,测试用例是根据程序内部逻辑设计的。

    (2) 尽量用公共过程或子程序去代替重复的代码段。

    (3) 测试是为了验证该软件已正确地实现了用户的要求。

    (4) 对于连锁型分支结构,若有n个判定语句,则有2n条路径。

    (5) 尽量采用复合的条件测试,以避免嵌套的分支结构。

    (6) GOTO语句概念简单,使用方便,在某些情况下,保留GOTO语句反能使写出的程序更加简洁。

    (7) 发现错误多的程序模块,残留在模块中的错误也多。

    (8) 黑盒测试方法中最有效的是因果图法。

    (9) 在做程序的单元测试时,桩(存根)模块比驱动模块容易编写。

    (10) 程序效率的提高主要应通过选择高效的算法来实现。

    4.从供选择的答案中选出同下列关于软件测试的各条叙述关系最密切的字句。

    A.对可靠性要求很高的软件,例如操作系统,由第三者对源代码进行逐行检查。

    B.已有的软件被改版时,由于受到变更的影响,改版前正常的功能可能发生异常,性能也可能下降。因此,对变更的软件进行测试是必要的。

    C.在意识到被测试模块的内部结构或算法的情况下进行测试。

    D.为了确认用户的需求,先做出系统的主要部分,提交给用户试用。

    E.在测试具有层次结构的大型软件时,有一种方法是从上层模块开始,由上到下进行测试。此时,有必要用一些模块替代尚未测试过的下层模块。

    供选择的答案:

    A~E: ① 仿真器       ② 代码审查   ③ 模拟器       ④ 桩             ⑤ 驱动器

    ⑥ 域测试       ⑦ 黑盒测试   ⑧ 原型         ⑨ 白盒测试       ⑩ 退化测试

    二、填空题:共4小题10个空格,每个空格2分,满分20分;请将答案填入指定的空白处。

    24. 对面向过程的系统采用的集成策略有___________________、___________________两种。

    25. 软件测试主要分为_____、__________、___________________、___________________四类测试。

    26. 黑盒测试用例设计方法包括______、_____________以及___________________,错误推测法等。

    27. 测试工作就是进行输入、接受输出、检验结果,不深入代码细节,这样的测试方法称为_______,

    三、判断题:共10小题,每小题1分,满分10分;请将答案以“√”、“×”形式填入题后括号中。

    1. 好的测试员不懈追求完美。(    )

    2. 测试程序仅仅按预期方式运行就行了。(    )

    3. 不存在质量很高但可靠性很差的产品。(    )

    4. 在没有产品说明书和需求文档的条件下可以进行动态黑盒测试。(    )

    5. 静态白盒测试可以找出遗漏之处和问题。(    )

    6. 测试错误提示信息不属于文档测试范围(    )

    7. 单元测试能发现约80%的软件缺陷。(    )

    8. 代码评审是检查源代码是否达到模块设计的要求。(    )

    9. 自顶向下集成需要测试员编写驱动程序。(    )

    10. 总是首先设计黑盒测试用例(    )

    四、名词解释;共5小题,每小题3分,满分15分

    1.验收测试2.失败测试3.驱动模块4. 桩模块5. 白盒测试

    五、简答题:共3小题,每小题5分,满分15分。

    1. 怎样做好文档测试?

    2. 什么是软件测试?软件测试与调试有什么区别?

    3. 软件测试包括哪些类型的测试?这些测试之间的区别是什么?

    六、:综合题:共1小题,每小题20分,满分20分。

    针对以下问题:某一种8位计算机,其十六进制常数的定义是以0x或0X开头的十六进制整数,其取值范围为-7f~7f(不区分大小写字母),如0x13、0x6A、-0x3c。请采用等价类划分的方法设计测试用例。

    软件测试技术(D卷)答案及评分标准

    十九、 单选题(20×1=20分)

    题号

    1A

    1B

    1C

    1D

    1E

    2A

    2B

    2C

    2D

    2E

    答案

    题号

    3

    3

    3

    3

    3

    4A

    4B

    4C

    4D

    4E

    答案

    (4)

    (5)

    (6)

    (7)

    (10)

     

    二十、 填空题(20×1=20分)

    1. 自顶向下集成自底向上集成

    2. 单元测试集成测试系统测试验收测试

    3. 等价类划分边界值分析因果图

    4. 黑盒测试

    二十一、 判断题(10×1=10分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    ×

    ×

    ×

    ×

    二十二、 名词解释(5×3=15分)

    1.验收测试

    是软件产品完成了功能测试和系统测试之后,在产品发布之前所进行的软件测试活动。

    2.失败测试

    纯粹为了破坏软件而设计和执行的测试案例,被称为失败测试。

    3.驱动模块

    驱动模块就是用来代替主模块,用它来调用子模块

    4. 桩模块

    集成测试前要为被测模块编制一些模拟其下级模块功能的“替身”模块,以代替被测模块的接口,接受或传递被测模块的数据,这些专供测试用的“假”模块称为被测模块的桩模块。

    5.白盒测试

    也称为结构化测试、基于代码的测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。

    二十三、 简答题(3×5=15分)

    1. 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。

    检查文档的编写是否满足文档编写的目的

    内容是否齐全,正确

    内容是否完善

    标记是否正确

    2. 软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

    软件测试与调试在目的、技术和方法等方面存在很大的区别,主要表现在如下方面:

      (1) 测试是为了发现软件中存在的错误;调试是为了证明软件开发的正确性。

      (2) 测试以已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试一般是以不可知的内部条件开始,除统计性调试外,结果是不可预见的。

      (3) 测试是有计划的,需要进行测试设计;调试是不受时间约束的。

      (4) 测试经历发现错误、改正错误、重新测试的过程;调试是一个推理的过程。

      (5) 测试的执行是有规程的;调试的执行往往要求开发人员进行必要推理以至知觉的"飞跃"。

      (6) 测试经常是由独立的测试组在不了解软件设计的条件下完成的;调试必须由了解详细设计的开发人员完成。

      (7) 大多数测试的执行和设计可以由工具支持;调式时,开发人员能利用的工具主要是调试器。

    3.软件测试包括单元测试、集成测试、确认测试和系统测试等。单元测试集中于单个模块的功能和结构的检验;集成测试集中于模块组合的功能和软件结构检验;确认测试主要检查软件是否符合合同要求,包括需求规格说明、设计规格说明和用户手册等;系统测试集中检验系统所有元素之间协作是否合适,整个系统的性能和功能是否达到。

    六.综合题(1×20=20分)

    输入条件

    有效等价类

    无效等价类

    开头字符

    由0x或0X开头

    (1)

    以字母开头 以非0数字开头

    (2)(3)

    数值字符

    数字或A—F的字母

    (4)

    A—F以外的字母

    (5)

    数值字符个数

    ≥1个

    (6)

    0个

    (7)

    数值

    ≥-7f且≤7f

    (8)

    <-7f

    >7f

    (9)(10)

    用例1:0x7F,      覆盖等价类(1)(4)(6)(8)

         用例2:-0Xb,      覆盖等价类(1)(4)(6)(8)

         用例3:0X0,       覆盖等价类(1)(4)(6)(8)

         用例4:0x,        覆盖等价类(1)(7)

         用例5:A7,        覆盖等价类(2)

         用例6:-1A,       覆盖等价类(3)

         用例7:0X8h,      覆盖等价类(1)(5)

         用例8:0x80,      覆盖等价类(1)(4)(10)

         用例9:-0XaB,     覆盖等价类(1)(4)(9)

    电子科技大学二零零八至二零零八学年第二学期

    软件测试技术(B卷)课程考试题(120分钟)   闭卷   考试时间: 2008

    总分

    评卷教师

     

     

     

     

     

     

    说明:本试卷共四大题,试卷满分100分。

    注意:请将所有答案填写在最后一页答题卡上。

    一、 单项选择题:共20小题,每小题2 分,满分40分。

    1.软件测试的目的:(  c  )

    A. 避免软件开发中出现的错误

    B. 发现软件开发中出现的错误

    C. 尽可能发现并排除软件中潜藏的错误,提高软件的可靠性

    D. 修改软件中出现的错误

    2、软件测试是采用(   a )执行软件的活动。

    A.测试用例

    B.输入数据

    C.测试环境

    D.输入条件

    3、导致软件缺陷的最大原因是:(    a )

    A软件需求说明书

    B.设计方案

    C.编码

    D.维护

    4、在下列描述中,关于一个软件缺陷状态完整变化的错误描述是(    d )

    A、打开——修复——关闭

    B、打开——关闭

    C、打开——保留

    D、激活——修复——重新打开

    5、在下列描述中,关于测试与调试的说法错误的是(  d

    A测试是显示错误的行为;而调试是推理的过程;

    B测试显示开发人员的错误。调试是开发人员为自己辩护;

    C测试能预期和可控。调试需要想象、经验和思考;

    D测试必须在详细设计已经完成的情况下才能开始;没有详细设计的信息调试不可能进行。

    6某次程序调试没有出现预计的结果,下列(   b   )不可能是导致出错的原因。
    A.变量没有初始化               B.编写的语句书写格式不规范
    C.循环控制出错                 D.代码输入有误

    7、软件缺陷修复的代价最高的阶段为(  a     )

    A、发布阶段                B、需求阶段

    C、设计阶段                D、编码阶段

    8、不属于逻辑覆盖方法的是( d   )。

    A.组合覆盖                                             B.判定覆盖 

    C.条件覆盖                                             D.接口覆盖

    9、(  d  )是选择若干个测试用例,运行被测程序,使得程序中的每个可执行语句至少执行一次。

    A、条件覆盖                     B、组合覆盖

    C、判定覆盖                     D、语句覆盖

    10、( a   )是设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。

    A、判定-条件覆盖               B、组合覆盖

    C、判定覆盖                     D、条件覆盖

    11.软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?(  b   )

    A.功能测试

    B.单元测试

    C.结构测试

    D.验收测试

    12单元测试的主要任务不包括( b    )。

    A.出错处理                                              B.全局数据结构

    C独立路径                                              D模块接口

    13、如下图所示的N-S图,至少需要(  b   )个测试用例完成逻辑覆盖。

     

    A12                            B48

    C27                            D18

    14、单元测试中用来模拟实现被测模块需调用的其他功能模块的是(  b   )。

    A.驱动模块                                              B.桩模块

    C主控模块                                              D.真实的被调用模块

    15集成测试计划应该在(  b    )阶段末提交。

    A、需求分析                        B、概要设计

    C、详细设计                        D、单元测试完成

    16、下列关于程序效率的描述错误的是(   c  )。

    A.提高程序的执行速度可以提高程序的效率

    B.降低程序占用的存储空间可以提高程序的效率

    C.源程序的效率与详细设计阶段确定的算法的效率无关

    D.好的程序设计可以提高效率

    17、下列(  b   )是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构,且不包含复合条件。

    ADD-路径图                                            B. 控制流图

    CMM-路径图                                           D. 模块调用图

    18、自底向上增量式集成测试中,下面(  c   )描述是正确的。                   

    A.测试由桩模块控制                                 

    B.最上面的模块最先测试

    C.父单元用测试过的子单元测试                      

    D.包含树的深度优先或广度优先遍历过程

    19、测试后程序中残存的错误数目与该程序中已发现的错误数目成  d    )。

    A未知                                                  B反比

    C相等                                                  D正比

    20、针对是否对无效数据进行测试,可以将等价类测试分为(b    )

    1) 标准(一般)等价类测试

    2) 健壮等价类测试

    3) 弱等价类测试

    4) 强等价类测试

    A34)                  B12

    C13)                  D24

     

    二、判断题:共20小题,每题1分,满分20分)

    1一个程序中所含有的路径数与程序的复杂程度有着直接的关系。(  ∨                            

    2、结构性测试是根据软件的规格说明来设计测试用例。( x   

    3、错误推测法是根据输出对输入的依赖关系来设计测试用例的。(x   )

    4、软件缺陷属性包括缺陷标识、缺陷类型、缺陷严重程度、缺陷产生可能性、缺陷优先级、缺陷状态、缺陷起源、缺陷来源、缺陷原因。(∨     

    5、对于一个含有n个变量的程序,采用边界值健壮性测试方法来测试程序会产生6n+1个测试用例。(∨)

    6、数据流测试是主要用作路径测试的真实性检查。两种形式分别为定义/使用测试、基于程序片的测试。(∨  

    7、软件只要经过严格严谨的内部测试之后,可以做到没有缺陷。(x   

    8、测试用例应由测试输入数据和对应的实际输出结果这两部分组成。( x   

    9测试是可以穷尽的。( x

    10测试自动化是万能的。( x  

    11软件缺陷可能会被修复,可能会被保留或者标识出来。(  ∨ )

    12、每一个软件项目都有一个最优的测试量。(   ∨  

    13、黑盒测试往往会造成测试用例之间可能存在严重的冗余和未测试的功能漏洞。(∨    

    14、代码审查工作属于静态测试。(  ∨   

    15、软件测试是一个过程,包含若干活动,运行软件进行测试只是活动之一。(∨   

    16、回归测试是在软件修改后再次运行以前为查找错误而执行程序曾用过的测试用例. ∨   
    17、集成测试是为确定软件系统是否满足验收标准以及使客户决定是否接受而进行的正式测试.   x  

    18、测试按照测试层次可以划分成为单元测试、集成测试和系统测试。(  ∨  

    19只要能够达到100%的逻辑覆盖率,就可以保证程序的正确性。( x   )

    20、永远有缺陷类型会在测试的一个层次上被发现,并且能够在另一个层次上逃避检测。(∨   

    三、简答题:4小题,每题5分,满分20分。

    1、优秀的软件测试工程师应具备哪些素质?

    答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力

    2、有二元函数f(x,y),其中x[1,12]y[1,31]请写出该函数采用基本边界值分析法设计的测试用例。

    答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,

         <6,1>, <6,2>, <6,30>, <6,31> }

    3黑盒测试与白盒测试各有哪些优缺点,应该如何结合才能解决漏洞和冗余问题?

    答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。

    4、有一段程序如下,请设计测试用例以满足语句覆盖要求。

    void  DoWork (int x,int y,int z)

    {

       int  k=0,j=0;

       if ( (x>3)&&(z<10) )

       {   k=x*y-1;  

           j=sqrt(k);  

       }               //语句块1

       if ( (x==4)||(y>5) )

       {  j=x*y+10;   } //语句块2

       j=j%3;          //语句块3

    }

    答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。

     

    四、综合题:2小题,每题10分,满分20分。

    1、使用基本路径测试方法,为以下程序段设计测试用例。

    1)画出程序的控制流图,编号已经给出。

    2)计算程序的循环复杂度,导出程序基本路径集中的独立路径条数。

    3)导出基本路径集,确定程序的独立路径。

    4)根据(3)中的独立路径,设计测试用例(确保基本路径集中的每一条路径的执行)的输入数据和预期输出。

           void Do (int X,int A,int B)

           {

     1       if ( (A>1)&&(B=0) )

     2           X = X/A;

     3       if ( (A=2)||(X>1) )

     4           X = X+1;

     5    }

    由于控制流图假设的是单条件,因此对于复合条件,可将其分解为多个单个条件,并映射成控制流图。

       1: A>1;2: B=0 ;3: X = X/A ;4: A=2 ;5:X>1 ;6: X = X+1;7: }

     

    2、场景要求:”……对功率大于50马力的机器、维修记录不全或已运行10年以上的机器,应给予优先的维修处理……” 。这里假定,“维修记录不全”和“优先维修处理”均已在别处有更严格的定义 。请建立决策表。

    1) 确定规则的个数。

    2) 列出所有的条件桩和动作桩。

    3) 填入条件项。

    4) 填入动作项,得到初始决策表。

    5) 简化决策表,合并相似规则。

     


    软件测试技术B卷)答案及评分标准

    一、 单选题(20×2=40分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    C

    A

    A

    D

    D

    B

    A

    D

    D

    A

    题号

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    答案

    B

    B

    B

    B

    B

    C

    B

    C

    D

    B

    二、 判断题(20×1=20分)

    题号

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    答案

    ×

    ×

    ×

    ×

    ×

    ×

    题号

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    答案

    ×

    ×

    三、 简答题(4×5=20分)

    1.答:具有探索精神、具有良好的计算机编程基础、故障排除能手、坚持不懈的精神、具有创新精神和超前意识、追求完美、判断准确、具有整体观念,对细节敏感、团队合作精神,沟通能力。

    1. 具有良好的计算机编程基础,有一定的软件开发经验;有逆向思维的能力

    2. 善于同软件开发人员沟通;善于同领导沟通

    3. 掌握一些自动化测试工具;善于学习的能力

    4. 提高自己的表达能力 ; 了解业务知识

    5. 具有探索精神;故障排除能手

    6. 坚持不懈的精神;具有创新精神和超前意识

    7. 追求完美;判断准确;具有整体观念,对细节敏感;团队合作精神

    2.答:{ <1,15>, <2,15>, <11,15>, <12,15>, <6,15>,

         <6,1>, <6,2>, <6,30>, <6,31> }

    3.答:功能性测试具有两大优点:功能性测试与软件如何实现无关;测试用例开发可以与实现并行进行,因此可以压缩总的项目开发时间。缺点:测试用例之间可能存在严重的冗余,还会有位测试的软件漏洞。结构性测试局限于已经完成的代码行为当中,离代码太近。因此可以结构性测试指标去解决冗余和漏洞问题。如果发现同一条程序路径被多个功能性测试用例遍历,就可以怀疑这种冗余不会发生新的缺陷,如果没有达到一定的DD—路径覆盖,则可知在功能性测试用力中存在漏洞。因此路径测试可以提供作为功能性测试交叉检查的一组指标。

    4.答:要实现DoWork函数的语句覆盖,只需设计一个测试用例就可以覆盖程序中的所有可执行语句。

    Ø 测试用例输入为:{ x=4、y=5、z=5 }

    四、 综合题(每题10分,共计20分)

    1、画出控制流图:    如右图所示

     计算环形复杂度:                

        10(条边)- 7(个节点)+ 2 = 5

     导出独立路径(用语句编号表示)

        路径1:1→2→3→4→5→6→7

        路径2:1→4→5→6→7

        路径3:1→2→4→6→7

        路径4:1→2→4→5→7

        路径5:1→2→3→4→5→7

    测试用例

    用例号

    路径

    输入数据

      A        B       X

    预期输出

    X

    TC1

    1→2→3→4→5→6→7

       3        0       6

    3

    TC2

    1→4→5→6→7

       0        1       3

    4

    TC3

    1→2→4→6→7

       2        1       1

    2

    TC4

    1→2→4→5→7

       3        1       0

    0

    TC5

    1→2→3→4→5→7

       3        0       3

    1

    2.解答:

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

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

     

    ③填入条件项。可从最后1行条件项开始,逐行向上填满。

    如第三行是:         Y N Y N Y N Y N
    第二行是:           Y Y N N Y Y N N
    等等。  

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

     

     

     

     

     

     

     

    ⑤化简。合并相似规则后得到结果图。

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 测试用例附实例

    万次阅读 多人点赞 2020-08-18 19:53:58
    测试用例是测试过程中很重要的一类文档,它是测试工作的核心,是一组在测试时输入和输出的标准,是软件需求的具体对照。 二、测试用例的作用 检验软件是否满足客户需求 测试人员的工作量的一种体现 展示测试用例...
  • APP测试面试题中部分

    千次阅读 多人点赞 2019-03-09 20:31:59
    从技术上来说,WEB 测试和 APP 测试测试类型也基本相似,都需要进行功能测试、性能测试、安全性测试、GUI 测试测试类型。 他们的主要区别在于具体测试的细节和方法有区别,比如:性能测试,在 WEB测试只需要...
  • 2019软件测试校招笔试题-软件测试基本理论

    万次阅读 多人点赞 2019-07-18 11:23:51
    软件测试面试题100道整理 1.什么是软件测试? 答:软件测试是为了发现错误而执行程序的过程。 2.软件测试的目的? 答;测试的目的是想以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷...
  • 软件开发V模型--解读

    千次阅读 2018-07-04 10:03:42
    RAD(rap application development),就是软件开发过程中的一个重要模型,称为快速应用... V模型大体可以划分为下面几个不同的阶段步骤,既需求分析、概要设计、祥细设计、编码、单元测试、集成测试、系统测试、验...
  • 软件测试基础知识整理

    万次阅读 2018-06-05 13:54:50
    一、软件测试工程师须知良好的沟通和表达能力具有怀疑与破坏的精神扎实的软件测试基础知识缜密的业务逻辑分析能力处在用户的角度进行换位思考足够的耐心、细心、信心、责任心积极乐观向上的心态和团队协作能力要有...
  • Web开发模型——工程师开发面向用户的应用时最常用的模型。API开发模型——为第三方开发者提供Open API用于集成电商、社交、搜索平台的应用。批处理开发模型——后端系统异步的批处理模型,执行业务事务。...
  • 中兴机试-2020-08-24

    2020-08-24 20:14:01
    单选题:考试内容:数据结构与算法,计算机网络,各种编程语言基础知识,数据库SQL语言,测试分析等,很杂乱,基本上都没见过。 编程题: 1-求最长子区间:长度为n的数组a,求1<=l<=r<=n,一段子区间的和...
  • EnableTelnetAccessForHG2534C1_v0.1 将 192.168.1.1 替换成你的光猫的 IP 地址 开启 HG2534C1 的 Telnet 访问 或者在浏览器中访问下面的地址
  • 软件测试全套教程,软件测试自学线路图

    万次阅读 多人点赞 2020-06-29 11:31:36
    软件测试: 软件测试是为了发现程序中的错误而执行程序的过程。 通俗的说,软件测试需要在发布软件之前,尽可能的找软件的错误,尽量避免在发布之后给用户带来不好的体验,并要满足用户使用的需求。 现在市面上...
  • 测试开发需要学习的知识结构

    万次阅读 多人点赞 2020-08-17 11:42:17
    努力成为一个优秀的测试开发从业者,加油!... - 假装在测试的回答 - 知乎白盒与黑盒测试什么区分1、黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检...
  • 接口测试工具Postman接口测试图文教程

    万次阅读 多人点赞 2018-07-11 13:16:18
    Postman接口测试工具使用一、前言 在前后端分离开发时,后端工作人员完成系统接口开发后,需要与前端人员对接,测试调试接口,验证接口的正确性可用性。而这要求前端开发进度和后端进度保持基本一致,任何一方的...
  • postman进行http接口测试

    万次阅读 多人点赞 2019-07-26 11:45:22
    HTTP的接口测试工具有很多,可以进行http请求的方式也有很多,但是可以直接拿来就用,而且功能还支持的不错的,我使用过的来讲,还是postman比较上手。 优点: 1、支持用例管理 2、支持get、post、文件上...
  • 软件测试工程师经典面试题

    万次阅读 多人点赞 2018-10-27 23:55:52
      软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux...
  • 软件测试_笔记(完整版)

    万次阅读 多人点赞 2018-07-02 08:54:13
    软件测试复习(部分) 概述 程序+文档+数据=软件 狭义的软件测试定义:为发现软件缺陷而执行程序或系统的过程 广义的软件测试定义:人工或自动地运行或测定某系统的过程,目的在于检验它是否满足规定的需求或...
1 2 3 4 5 ... 20
收藏数 5,727,820
精华内容 2,291,128
关键字:

测试