什么是软件测试?
识别软件缺陷的过程,即实际结果与预期结果的不一致。
软件生命周期的主要阶段?
1、问题的定义及规划2、需求分析3、软件设计4、程序编码5、软件测试6、运行维护
软件测试的原则?
最终目标是确保软件的功能复合用户的需求,把尽可能多的问题在发布或交付之前发现并改正。
a、保证测试的覆盖度,但穷举测试时不可能的
b、所有的测试都应追溯到用户需求
c、越早测试越好,测试过程与开发过程应是相互结合的
d、测试的规模由小而大,从单元测试到系统测试
软件测试工作有哪些重点?
测试用例的设计
测试用例的设计师整个软件测试工作的核心
测试用例反应对被测试对象的要求,决定对测试对象的质量评估
测试工作的管理
尤其是对包含多个子系统的大型软件系统,其测试工作涉及大量人力和物力,有效的测试工作管理是保证有效测试工作的必要前提
测试环境的建立
测试环境应该尽量与实际测试环境一致
调试和测试的区别?
测试是为了展现因缺陷而产生的系统失效,而调试是一种开发活动,为了发现缺陷原因,修复代码以及确认缺陷已经被修复。接着测试人员进行确认测试,保证系统失效确实被修复了。
测试人员测试而开发人员调试。
测试的原则有哪些?
测试的主要步骤?
计划和控制
分析与设计
实施与执行
评估出口准则和报告
测试结束活动
什么是回归测试?
修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
自动回归测试将大幅降低系统测试、维护升级等阶段的成本。
测试的标准是什么?
测试的标准是用户的需求。测试人员要始终站在用户的角度看问题、去判断软件缺陷的影响,系统中最严重的错误是那些导致程序无法满足用户需求的缺陷。
什么是软件质量?
软件满足规定或潜在用户需求的能力
软件需求是度量软件质量的基础
软件人员必须遵循软件过程的规范
如果软件只是满足规定的需求,而不能满足可能村子的隐含需求,软件质量也不能保证
什么是缺陷发现率?
缺陷发现率DDP是另一个衡量测试工作效率的软件质量成本的指标。
缺陷发现率DDP=Bugs(tester)/ (Bugs(tester)+ Bugs(customer))
缺陷发现率越高,也就是测试者发现的错误多,发布后客户发现的错误就越少。
什么是敏捷测试?
敏捷测试就是持续地对软件质量问题进行及时的反馈。
由于敏捷开发方法中迭代周期短,测试人员应及早开始测试,包括及时对需求、开发设计的评审,跟重要是能够及时、持续的对软件产品质量进行反馈。
什么是黑盒测试?
又称功能测试或数据驱动测试,是针对软件的功能需求/实现进行惹事,通过测试来检测每个功能是否符合需求,不考虑程序内部的逻辑结构
黑盒测试的方法包括功能划分、等价类划分、边界值分析、因果图、错误推测等
什么是白盒测试?
也称结构测试或逻辑驱动测试,必须知道软件内部工作过程,通过测试来检测软件内部是否按照需求、设计正常运行。
白盒测试的主要方法:语句覆盖方法、分支覆盖方法、逻辑覆盖方法
什么是单元测试?
又称模块测试,是针对软件设计的最小单位程序模块进行正确性检查的测试工作,
可以从程序的内部构造出发设计测试用例,多个模块测试可以平行地独立进行测试
什么是集成测试?
集成测试又称为组装测试或联合测试,在单元测试基础上,将所有模块按概要设计和详细设计进行组装。
目的:发现模块连接中的接口可能存在的各种差错
什么是验收测试?
测试目的:在用户环境中进行测试,以确保系统和产品是否能够满足合同或用户所规定的的需求
测试内容:根据任务书或合同、供需双方约定的验收依据文档进行对整个系统的测试与评审,确认是否接受或拒绝系统。
什么是Alpha测试?
是验收测试的一种,是由用户在开发者的场所来进行的,是在一个不受控制的环境中进行的
什么是Beta测试?
由软件的最终用户在一个或多个用户场所进行的,开发者 通常不在现场,用户记录测试中遇到的问题并报告给开发者
什么是静态测试?
静态测试又被称为静态分析技术,不执行被测软件,对需求分析说明书、软件设计说明书、源程序做结构检测、流图分析、符号执行等找出软件的错误。
什么是动态测试?
通过输入一组预先按照一定的测试准则构造的实例数据动态运行程序,而达到发现程序错误的过程。
如何进行单元测试?
完成对最小的软件设计单元模块的验证工作
目标是确保模块被正确的编码
使用过程设计描述作为指南,对重要的控制路径进行测试以发现模块内的错误
通常情况下是面向白盒的
对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试,及早的发现和解决不易显现的错诶
单元测试的内容:接口测试、内部数据结构、全局数据结构、边界、语句覆盖,错误路径
什么是自动化测试?
是把以人为驱动的测试行为转化为机器执行的一种过程。在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步一步执行测试,得到实际结果与期望结果的比较。
测试用例的设计原则?
单个用例覆盖最小化原则
测试用例替代产品文档功能原则
单次投入成本和多次投入成本原则
使测试结果分析和调试最简单化原则
测试用例设计方法有哪些?
等价类划分、边界值分析、错误的推断、因果图、判定表驱动分析、正交实验设计、场景设计发、状态转换图
什么是测试计划?
根据项目相关文档,需要定义测试范围、测试策略、人员分配、软硬件配置、进度表以及测试过程每个阶段需要达到的目标
测试用例包含哪些关键内容?
用例编号、用例描述、前提条件、输入数据、测试步骤、期望结果、实际结果
什么是软件缺陷(bug)?
查找遗漏问题的方法有哪些?
说明出是基础和标准
相关变动邮件,讨论记录
不定期阅读别人的缺陷
多和开发人员沟通
有选择的重新验证以前的缺陷
关注变化
简单思维方式,以主线为主,减少大遗漏
提交缺陷(bug)的要求?
单一:一个BUG只针对一个缺陷
简洁:每个步骤尽量简单明了
再现:问题必须能在自己机器上重现方可上报(个别严重问题重现不了也可上报,但必须标明)
复杂的问题:应附截图补充说明或直接通知指定的修改人,截图文件格式建议用JPG火GIF
报告中不允许使用抽象的词语:如“有错误”、“有时候”之类的不确定语句