- 什么是兼容性测试?兼容性测试侧重哪些方面?
兼容性测试主要是检查软件在不同硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。
兼容的类型包括:平台的兼容,网络(4g, 3g, 2g, WiFi , 断网)的兼容 ,数据库的兼容,数据格式的兼容,分辨率的兼容等
兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境都整理出来i,就得出做兼容测试的兼容环境了。
兼容和配置测试的区别在于,做配置测试通常不是cleanOS下做的测试,而兼容测试多是在clean OS的环境下做的。
- 我现在有个程序,发现在Windows上运行的很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
1. 检查系统是否有中毒的特征。
2. 检查软件/硬件的配置是否符合软件的推荐标准
3. 确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;
4. 如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;
5. 在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。
- 测试的策略有哪些?
黑盒/白盒、静态/动态、手动/自动、冒烟测试,回归测试,公测
- 描述测试用例设计的完整过程?
需求分析+需求变更的维护工作
根据需求得出测试需求;
设计测试方案,评审测试方案;
方案评审通过后,设计测试用例,再对测试用例进行评审;
- 阶段评审和项目评审的区别?
阶段评审对项目各阶段评审:对阶段成果和工作
项目评审对项目总体评审;对工作和产品
- 阐述工作版本的定义?
BUILD
- 什么是桩模块?什么是驱动模块?
桩模块:被测模块调用模块
驱动模块:调用被测模块
- 什么是扇入?什么是扇出?
扇入:被调次数。 扇出;调其他模块数目
- 简述一下缺陷的生命周期?
创建BUG、提交BUG、确认BUG、分配BUG、修复BUG、验证BUG、关闭BUG。
- 软件的安全性应从哪几个方面去测试?
用户认证机制:如数据证书,智能卡,双重认证,安全电子交易协议;
加密机制
安全防护策略:如安全日志,入侵检查,隔离存储保护,存储管理
防病毒系统
- 软件配置管理工作开展的情况和认识?
软件配置管理贯穿于软件开发,测试活动的始终,覆盖了开发,测试活动的各个环节,它的重要作用之一就是要全面的管理保存各个配置项,监控各配置项的状态,并向项目经理及相关的人员报告,从而实现对软件过程的控制。
软件测试配置管理包括:配置项标识,配置项控制,配置项状态报告,配置审计
软件配置管理通常借助工具来辅助,主要有MSSourceSafe, Rational ClearCase 等
- 你觉得软件测试通过的标准应该是什么样的?
缺陷密度值达到客户的要求
- 引入测试管理的含义?
风险分析,进度控制,角色分配,质量控制
- 一套完整的测试应该由哪些阶段组成?
测试计划,测试设计与开发,测试实施,测试评审与测试结论。
- 单元测试的主要内容?
单元测试大多数是由开发人员来完成,测试人员技术背景较好或者开发系统软件时可能会安排测试人员进行单元测试,大多数进行的单元测试都是开发人员调式程序或者开发组系统联合调试的过程。
单元测试一般包括5个方面的测试:
模块接口测试,局部数据结构测试,路径测试,错误处理测试,边界测试
- 集成测试也叫组装或者联合测试,请简述集成测试的主要内容?
1. 在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失
2. 一个模块的功能是否会对另一个模块的功能产生不利的影响
3. 各个子功能组合起来,能否达到预期要求的父功能
4. 全局数据结构是否有问题
5. 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度
- 如何理解强度测试?
强度测试是为了确定系统在最差工作环境的工作能力,也可能是用于验证在标准工作压力下的各种资源的最下限指标。
它和压力测试的目标是不同的,压力测试是在标准工作环境下,不断增加系统负荷,最终测试出该系统能力达到的最大负荷(稳定和峰值),而强度测试则是在非标准工作环境下,甚至不断人为降低系统工作环境所需要的资源,如网络带宽,系统内存,数据锁等,以测试系统在资源不足的情况下的工作状态,通过强度测试,可以确定本系统正常供走的最差环境。
强度测试和压力测试的测试指标相近,大多都是与时间相关的指标,如并发量(吞吐量),延迟(最大/最小/平均)以及顺序指标等
强度测试需要对系统的结构熟悉,针对系统的特征设计强度测试的方法。
- 如何理解压力,负载,性能测试?
性能测试是一个较大的范围,实际上性能测试本身包含了性能,强度,压力,负载等多方面的测试内容。
压力测试是对服务器的稳定性以及负载能力等方面的测试,是一种很平常的测试。增大访问系统的用户数量,或者几个用户进行大数据量操作都是压力测试。而负载测试是压力相对较大的测试,主要是测试系统在一种或者集中极限条件下的相应能力,是性能测试的重要部分。100个用户对系统进行连续半小时到访问可以看作是压力测试,那么连接访问8个小时就可以认为是负载测试,1000个用户连续访问系统1个小时也可以看作是负载测试。
实际上压力测试和负载测试没有明显的区分。测试人员应该站在关注整体性能的高度上来对系统进行测试。
- 没有产品说明书和需求文档的情况下能够进行黑盒测试嘛?
这个问题是国内测试工程师经常遇到的问题,根源就是国内软件开发文档管理不规范,对变更的管理方法就更不合理了。实际上没有任何文档的时候,测试人员也是可以进行黑盒测试的。这种测试方法我们可以称之为探索测试,具体做法就是测试工程师根据自己的专业技术,领域知识等不断的深入了解测试对象,理解软件功能,进而发现缺陷。
在这种做法基本上可以把软件当成了产品说明书,测试过程中要和开发人员不断的进行交流。尤其在作项目的时候,进度压力较大,可以作为加急测试方案。最大的风险是不知道有些特性是否被遗漏。
- 测试中的"杀虫剂怪事"是指什么?
"杀虫剂怪事"一词由BorisBeizer在其编著的《软件测试技术》第二版中提出。用于描述测试人员对同一测试对象进行的测试次数越多,发现的缺陷就会越来越少的现象。就像老用一种农药,害虫就会有免疫力,农药发挥不了效力。这种现象的根本原因就是测试人员对测试软件过于熟悉,形成固定思维定势。
为了克服这种现象,测试人员需要不断编写新的测试程序或者测试用例,对于程序的不同部分进行测试,以发现更多缺陷。
也可以引用新人来测试软件,刚刚进来的新手往往能发现一些意想不到的问题。