软件测试复习重点(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简要回答软件测试的目的和原则。
目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。原则:1.所有的测试都应追溯到用户的需求2.尽早地和不断地进行软件测试3.不可能完全的测试4.80-20原则,测试发现的错误中80%很可能起源于20%的模块中。应孤立这些疑点模块重点测试。
5.注意测试中的群集现象
6.避免测试自己的程序
1.按测试技术划分,软件测试有哪些方法?每种测试方法的基本思想是什么?按测试阶段划分,软件测试包括哪些阶段?每
个阶段重点测试的内容是什么?
黑盒、白盒、灰盒测试
黑盒测试又叫功能测试,在测试中,把程序看作一个不能打开的黑盒子,程序是否能适当地接收输入数据而产生正确的输出信息。
白盒测试又叫结构测试,"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
灰盒测试黑盒测试和白盒测试的结合,如先根据规格说明设计测试用例,然后根据代码进行测试用例的取舍和精化。
阶段划分:单元测试(测试对象:“单元”)、集成测试(是在单元测试的基础上,将所有模块按照设计要求集成为系统或子系统,并进行测试。)、系统测试(将整个系统看做一个整体来测试)、验收测试(由最终用户所做的测试,开发人员等共同参与的内部测试)
2.黑盒测试方法有哪些?每种方法的基本思想是什么?白盒测试中逻辑覆盖标准有哪些?给出每种覆盖标准的含义。
等价类测试(划分成若干个等价类,在每一个等价类中取一个数据来进行测试。)、边界值测试(在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值)、基于判定表的测试、因果图法(因果图法最终生成的是决策表。
利用因果图生成测试用例)、正交试验法(利用正交表构造测试数据集)、流程分析法、状态迁移法(转化测试方向来达到同一个目的)
语句覆盖(设计若干条测试用例,使程序中每条可执行语句至少执行一次。)、判定覆盖(分支覆盖)(设计测试用例,使程序中的每个逻辑判断的取真和取假的分支至少经历一次。)、条件覆盖(满足条件覆盖的一组测试用例)、判定-条件覆盖(使判定中每个条件的可能取值至少满足一次,并且使每个判定分支至少执行一次)、条件组合覆盖(使得每个判断表达式中条件的各种可能组合都至少出现一次)、路径覆盖(设计足够多的测试用例,覆盖程序中的每条可能路径。)
3.简述缺陷的等级划分,缺陷的生命周期及缺陷报告的组成。
严重缺陷、较大缺陷、较小缺陷、轻微缺陷、其他缺陷。测试发现BUG--开发修改BUG--测试拿到修改后的BUG做回归测试--通过则关闭(如还没解决则继续提交开发)。一个缺陷报告只包含一个Bug
缺陷标题测试的操作系统与浏览器测试步骤期望结果实际结果附件(图或视频)
4.使用LoadRunner进行性能测试的原理是什么?LoadRunner由哪些组件构成?测试的流程是什么?
原理:首先记录一个用户和后台的通讯包,然后通过复制通讯包来模拟多个用户同时向后台服务器发请求,同时监控后台服务器的资源消耗情况和响应时间。
组件:(1)脚本录制开发工具VuGen(2)集中控制器Controller(3)结果分析器Analysis
录制脚本,部署场景,分析结果。
测试分析->创建脚本->业务场景分析->创建场景->运行场景->监控场景->分析场景
5.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。
这些测试的范围正好是逐步递增的关系,但是测试的人员角色是不同的,黑盒测试、白盒测试、单元测试:开发人员分在不同的开发阶段要做的事情。黑盒测试、集成测试、系统测试:测试人员在测试周期内级层做的工作。验收测试:一般是在用户方做的工作
6.描述一下你所记得的任何两个bug(要求使用缺陷描述的标准格式)。
7.基于Web的信息管理系统测试时应考虑的因素有哪些?
功能测试:链接测试、表单测试、COOKIES测试、设计语言测试、数据库测试
性能测试:1连接速度测试2负载测试3压力测试
可用性测试:1导航测试2图形测试3内容测试4整体界面测试5客户端兼容性测试(1平台测试2浏览器测试)6安全性测试
表单测试,界面测试,
8.单元测试环境如何构建?
驱动模块、桩模块
9.基本路径测试的步骤?
1. 画出程序的控制流图。
2. 计算程序的环形复杂度,导出程序基本路径集中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必
须的测试用例数目的上界。
3. 导出基本路径集,确定程序的独立路径。
4. 根据独立路径,设计测试用例的输入数据和预期输出。
11.一个优秀的测试工程师应该具备哪些素质?
1.计算机专业技能,测试专业技能,软件编程技能,网络、操作系统、数据库、中间件等知识:
2.行业知识
3.个人素养,首先要对测试工作有兴趣,专心,细心,耐心,责任心,自信心
12.用户登录常见的验证点有哪些?
用户名和密码都符合要求并且是正确的,检查是否能登录成功;
用户名和密码都不符合格式要求,检查是否能登录成功以及出错提示;
用户名符合要求,密码不符合要求,检查是否能登录成功以及出错提示;
密码符合要求,用户名不符合要求,检查是否能登录成功以及出错提示;
用户名或密码为空,检查是否能登录成功以及出错提示;
数据库中不存在的用户名,不存在的密码,检查是否能登录成功以及出错提示;
数据库中存在的用户名,错误的密码,检查是否能登录成功以及出错提示;
数据库中不存在的用户名,存在的密码,检查是否能登录成功以及出错提示;
输入的用户名或密码前存在空格,检查是否能登录成功以及出错提示;
按键盘上的回车键是否监听事件,能执行登录过程。
密码输入域输入数据是否可见?密码的正确显示必须为“******”,不可见模式。
密码是否可以全部是空格?密码设计必须不能全为空格。
密码是否对大小写敏感?比如:密码“An@d123R”与“an@d123r”,一定不是同一个密码。
1、点击“登陆”按钮
2、账户名是否存在
3、密码和账户名是否匹配
4、按enter键是否成功登陆
13.搜索功能常见的验证点有哪些?
搜索按钮功能是否实现;
输入网站中存在的信息,能否正确搜索出结果;
输入键盘中所有特殊字符,是否报错;特别关注:_?'"# \ / -- < >;特殊字符;
搜索出的结果页面是否与其他页面风格一致;
在输入域输入空格,点击搜索系统是否报错;
本站内搜索输入域中不输入任何内容,是否搜索出的是全部信息或者给予提示信息;
输入NULL/null、或很长的字符串,会出现什么结果;
精确查询还是模糊查询,如果是模糊查询输入:中%国(中*国),查询结果是不是都包含中国两个字的信息;
焦点放置搜索框中,搜索框默认内容是否自动被清空;
搜索输入域是否实现回车键监听事件。
1、页面检查
2、默认条件搜索
3、修改可选条件搜索
4、修改输入条件搜索
5、修改区间条件搜索
6、组合可选、输入条件搜索
7、操作后检查搜索条件及查询结果
8、错误、空记录搜索
14.简述Junit中的断言方法。
常用的方法如下:
assertEquals(a, b)
Asserts that two primitive values are equal. 测试a是否等于b(a和b是原始类型数值(primitive value)或者必须为实现比较而具有equal方法)
assertFalse(a) Asserts that a condition (a) is false. 测试a是否为false(假),a是一个Boolean数值。assertTrue(a) Asserts that a condition is true. 测试a是否为true(真),a是一个Boolean数值
assertNotNull(a) Asserts that an object isn't null. 测试a是否非空,a是一个对象或者null。
assertNull(a) Asserts that an object is null. 测试a是否为null,a是一个对象或者null。
assertNotSame(a, b) Asserts that two objects do not refer to the same object. 测试a和b是否没有都引用同一个对象。
assertSame(a, b) Asserts that two objects refer to the same object. 测试a和b是否都引用同一个对象。
15.你了解哪些测试工具?测试流程是怎样的?