软件测试_部分技术面试题课件

软件测试_部分技术面试题课件
软件测试_部分技术面试题课件

1、请做一下自我介绍

我是谁

我能做什么,具备哪些技能

今天我想要干什么,做什么样的工作

2、请简单介绍下你的项目

该项目为我们公司自己的自动办化公系统项目,叫TfNotes。项目架构为B/S架构,它的开发语言是java,web务器为tomcat5.0,后台数据库是MySQL。它主要包含登录功能,资料管理,消息中心,组织机构,权限管理等功能,通过这些功能对公司内部资源进行统一管理和优化,提高企业内部办公作业效率。我主要负责的是登录功能和组织机构这两个模块的测试。

3、您在项目中都测试过哪些模块功能?

组织机构:部门管理,部门人员,工号管理,职称管理,用户管理,角色管理等模块填写哪些信息,哪些字段,每个字段有哪些限制

4、请描述你工作中的测试流程是什么?

首先是熟悉SRS需求分析,对SRS进行评审、基线化,提取测试需求项,对需求项评审、基线化,测试经理编写测试计划,评审、基线化,测试方案,写测试用例,评审、基线化,测试执行,测试报告,缺陷报告。期间还有回归测试。

5、请描述下项目中各个阶段的周期大概是多少

熟悉SRS大概一个月,提取测试项大概半个月,测试计划两三天,测试方案大概一个月,写测试用例一个月左右,测试执行分三轮,第一轮一个月,间歇期两周,第二轮半个月,间歇期两周,第三轮大概一周,写测试报告,评审。

6、项目组的人员架构是什么样

测试人员,开发人员,测试组长,开发组长,项目经理,CMO

7、项目组有多少人,多少开发人员,多少测试人员

一共大概15个人,9个开发,3个测试,测试组长,开发组长,项目经理

8、测试计划主要有哪些内容

1. 总体概述

2. 测试资源

3. 测试对象

4. 需求跟踪

5. 测试通过标准

6. 测试挂起条件

7. 测试任务安排

8. 测试工具,9风险控制

9、测试方案主要有哪些内容

1. 概述

2. 被测对象

3. 应测试的特性

4. 不被测试的特性

5. 测试模型

6. 测试需求

7. 测试设计

10、测试报告主要有哪些内容

1. 测试说明

2.测试范围

3. 测试环境

4. 测试方法

5. 测试结果

6.质量评价

发现的BUG 遗留的BUG 分析用例执行情况

11、配置管理用的什么工具?

Svn

12、SVN常见的操作是什么?

上传/下载,版本回溯

13、SVN的check out与export区别?

Yigezai内部,一个在外部

14、软件测试挂起的标准是什么

软件的主要功能没有被实现;软件的致命缺陷太多,提供错误的版本

15、软件测试终止的标准是什么?

软件的严重缺陷不超过3个,一般缺陷不超过10个,提示性缺陷不超过20个软件的功能已实现,缺陷已修改,之前的标准已经达到

16、测试用例需要哪些要素?

用例编号,项目名称,测试标题,重要级别,预置条件,输入说明,操作步骤,预期结果17、如何判断测试用例的质量

能否发现BUG;对于需求的覆盖率;用例样式,描述是否清晰完整

18、你知道哪些测试用例设计方法

等价类,边界值,正交表,场景法,错误推测,流程分析法

19、什么是等价类、边界值?

20、等价类:分为有效和无效的等价类(一条测试用例尽量多的覆盖多个有效等价类,一条测试用例覆盖一个无效等价类)

边界值:测试5个点

21、怎么用正交?

确定因子和相应的状态

根据因子和状态的数量选择相应的正交表

带入正交表

正交表一行代表一条测试用例

增加正交表覆盖到的测试用例

22、项目一共多少用例?你负责的模块一共多少用例?

大概4000条,我负责的模块1500条,写一个月(22+4),一天写95条左右

23、你如何去执行用例?

除了界面是否正确,还要查看数据库中数据是否正确

搭建环境边执行边修改测试用例(因为有些测试用例不符合实际环境的操作)执行通过为pass,不通过标记为failed 分析缺陷的原因分,提交bug

打印日志)测试不通过要查看日志

24、发现多少个bug? 你发现的最自豪的bug是什么?

一共大概200个左右。自豪BUG就是在执行查询操作的时候整个软件崩溃,停止工作25、缺陷报告单有哪些组成

缺陷发现人,发现日期,严重程度,版本,修改日期,再现过程,简单的描述,详细描述(发现步骤,运行环境,实际结果,预期结果),附件

26、如何跟踪一条bug的整个生命周期,缺陷管理用什么工具?

缺陷的生命周期。QC

27、如果你所测试的项目中概率出现的bug怎么处理?

首先一定要提缺陷报告单,定期检查该BUG是否会出现,最后示情况给该缺陷定义缺陷级别,经过一段时间后若是没有重现,则下降一个严重级别,以此类推,达到提示级别后则不再降级

28、测试方案都有哪些人评审

测试人员,开发人员,测试组长,开发组长

29、没时间写测试用例怎么办

加班、直接测、错误猜测

30、没时间测试怎么办

加班,直接测,招人,向开发组借人,错误猜测,根据用例的级别先测

31、项目的架构

B/SC/S两层或三层架构

32、你认为是bug,而开发认为不是bug 举例说明下最后怎么解决的

确定bug情况下,坚持自己的立场与开发人员协商;将BUG提交给测试组长;CCB

33、项目中有没有遇到什么问题,该怎么解决

SRS写的不详细环境不行硬件资源不够

34、接口测试怎么做?

发消息回复消息给一个输入看是否返回一个输出看接口的取值类型和范围

35、如果招你进来,你如何开展你的工作?

熟悉项目熟悉人员,熟悉流程

36、数据库增删改查语句;

增:insert into emp(ename,job) values(‘james’,’salesman’);

删:delete from emp where ename=’bob’;

改:update emp set ename=’james’ where job=’salesman’;

查:select * from emp;

37、表A,有成绩grade,列出grade大于70的人的数目;

Select count(grade) from emp where grade > 70;

38、oracle更改一个列

alter table emp modify(job varchar2(15));

39、如何创建一个表、如何修改一个表、如何删除一个表;

创建表:create table open (name varchar2(20),age number(3),job varchar2(20));

修改表中的列:alter table open modify (job varchar2(15));

在表中添加列:alter table open add (sex varchar2(5));

删除表:drop table open;----drop是删除表时连表的结构也一并删除truncate删除信息Delete逐条删除

40、左连接、右连接、嵌套查询

左连接:select dname,ename,job,loc from emp a,dept b

Where a.deptno=b.deptno(+);

右连接:select dname,ename,job,loc from emp a,dept b

Where a.deptno(+)=b.deptno;

嵌套查询(子查询):select ename,sal from emp where sal > (select avg(sal) from emp );

41、常见函数max min avg count sum等

42、倒序排列

Select sal from emp order by sal desc;

43、请谈谈对数据库索引的理解

在数据库中,索引使DML操作迅速的找到表中的数据,而不必扫描整个数据库。索引之所以能够快速的查询,是因为他是按照查询条件存储的数据的。索引存储相应的字段,引用索引就是搜索相应的字段。

44、请谈谈对存储过程的理解

存储过程是一个命名的PL/SQL块,被存储在数据库中,并且可以被其他PL/SQL块使用。因此,可以将业务逻辑、企业规则写成过程或函数保存在数据库中,以便其他PL/SQL块使用,简化应用程序的开发和维护,提高效率和性能。

45、请谈谈对触发器的理解

触发器是存储在数据库中的过程,当数据库中的某些事件发生变化的时候,这个过程会被触发,或者说这个过程会自动运行而无需用户来干涉。保证数据的一致性

网站的注册需要填写很多信息,网站存储的时候,分类存储,储存在不同的表中,当删除一个用户的时候,所有表中的信息都要删除,这时候我们就可以做一个触发器,一次性删除所有该用户的数据。自动做一些关联的操作。

46、请谈谈对数据库中事务的理解

事务是用户定义的一组操作序列,由一组相关的SQL语句组成,这些SQL语句要么全部执行,要不全部不执行,要么全部成功,要么全部失败,不允许一部分成功,一部分失败。Rollback 一荣俱荣/一损俱损

47、表和视图的区别

视图是一个虚拟的表,视图并不占用存储空间。

48、oracle怎么启动?怎么停止?

startup shutdown

49、oracle怎么启动监听?怎么查看监听状态?

Lsnrctl start/status/stop

50、oracle怎么备份?怎么恢复?

导出export 恢复Imp

51、sql查询的性能,一个查询语句,只查询一条记录,但是总是在扫描数据库,试分析有哪些原因

没有创建索引,查询条件不明确,数据较多,数据分为两个表,常用数据和不常用数据,现在常用数据中查找,相对来说概率比较大使用存储过程

52、你知道linux有哪些命令,请说一下

Awk,tailf,nestat

设置指令别名:alias ab=mv

设置密码:passwd (passwd -f 强制执行-d 删除密码)

将文本文件内容排序:sort aa.data(文件名)

查找文件:find (find -name 按名称查找- perm 按权限查找–user 按文件所属用户查找)

查看本机IP:ifconfig

查看系统资源:top

显示主机名称:hostname

连接到远程电脑上:telnet 192.168.0.11

查看当前用户名:whoami

文件打包:tar –cvf 目标文件名.tar(可以多个)

文件解包:tar –xvf 目标文件名.tar

文件解压:unzip 压缩文件名(只能是.zip格式的文件)

53、tar解压命令中z代表什么,x代表什么,v代表什么,f代表什么

z:使用gzip工具处理文件

x:解开一个包

v:显示打包过程中的文件

f:表示需要打包的内容为文件

54、Linux下,怎么修改文件的权限?怎么查看主机名?

修改权限:Chmod 456 文件名

主机名:hostname

55、linux怎么切换用户?切换用户时加—不加—有什么区别?

Su 用户名加-是切换环境不加-保留当前环境,环境变量

56、linux下会配置搭建环境,举个例子

inux下搭建TOMCAT服务器:在linux的/opt目录下将tomcat安装压缩文件解压,在/opt/tomcat/bin目录下查找startup.sh并运行启动。

57、怎么把一台linux上的文件复制到另外一台linux

Scp或ftp

58、linux上怎么编辑文件的内容?

vi

59、linux上怎么动态监控一个文件的内容变化?

tailf 文件名

60、linux上怎么查看所有的进程信息?

ps –elf

61、linux上怎么查看CPU内存的使用情况?

free

62、一台机器能否装多个tomcat,tomcat怎么改端口?

可以,但是修改端口号:修改Server.xml文件,将文件中Connector port=”8080”的8080改成我们想要的端口

63、linux下怎么配置网络

在图形界面下点击“系统”下的“网络”双击下面的“以太网配置”就可以修改网络配置。在终端界面:#ifconfig eth0 172.168.0.20 netmask 255.255.255.0(设置IP地址和子网掩码) 也可以修改配置文件在/etc/sysconfig/network-scripts/ifcfg-eth0

64、linux怎么查看端口是否在监听

netstat –an|grep 444 (查看端口444是否被占用)

netstat –lnp (显示当前系统启用的端口)

65、linux上怎么根据文件名查找一个文件

find / -name 文件名

66、linux上怎么根据文件内容查找一个文件

grep

67、linux上怎么查看磁盘空间

df 显示磁盘的空间使用情况

du 显示指定目录下所有文件以及子目录所占用的磁盘空间大小

68、linux上怎么抓包

tcpdump

69、linux上怎么查看环境变量

env

70、怎么比较两个linux上的文件差异

diff

71、linux怎么开FTP服务,怎么开telnet服务

修改etc/xinetd.d下的krbs_telnet和gssftp将disable=yes;改为disable=no;

然后重新启动Service xinetd start

72、用你学过的语言编写冒泡程序

public static int[] bubblesort(int[] args){ for(int i=0;i

for(int j=i+1;j

if(args[i]>args[j]){

int temp=args[i];

args[i]=args[j];

args[j]=temp;

}

}

}

73、编程题是写1!+2!+...+10!;

public static void main(String[] args){

int i,j,mul,sum=0;

for(i=1;i<=10;i++) {

mul=1;

for(j=1;j<=i;j++) {

mul=mul*j;

}

sum=sum+mul;

}

System.out.println("1!+2!+3!+……+10!= "+sum); }

74、web是如何测试的?

1. 通用功能测试和可用性测试

2. 性能测试和安全性测试

3. 兼容性测试

4. 数据库和稳定性测试等

75、web功能测试怎么测?

从一下几个方面来进行WEB测试:

1. 链接测试

2. 表单测试

3. Cookie测试(是否加密,页面帐号密码保存)

4. Session测试(长时间不操作,再操作后是否要重新登录)

5. 脚本测试

6. 文件上传测试

7. 数据库测试

76、web可用性测试怎么测?

主要有两点:

1. 站点整体布局

2. 页面导航直观

站在用户的角度去使用软件,要求操作简单,易理解,简单高效77、web的安全性怎么测试?

主要有以下几点:

1.认证与授权

2.密码加密

2. Session和Cookie确认不会信息泄漏

3. 文件上传漏洞(非法文件上传)

4. SQL注入(万能密码)于验证系统不会因为非法输入而将SQL语句的运行顺序进行修改

5. 使用日志系统将各种操作进行记录

6.抓包,超时间

78、Web的兼容性怎么测试?

服务器端:测试不同版本的WEB服务器,链接不同的数据库,或者使用不同的网络环境

客户端:不同的硬件平台,不同的IE浏览器内核的兼容性(主要有IE6,IE7,IE8,搜狗,火狐)挑选主流浏览器全跑

其他挑选主要功能,界面无差异

79、OSI7层模型

1. 物理层(二进制传输)

2. 链路层(介质访问)

3. 网络层(寻址和最短路径)

4. 传输层(进程间的连接)

5. 会话层(主机间通信)

6. 表示层(数据表示)

7. 应用层(处理网络应用)

80、tcp和udp有什么区别

udp(速度快)与tcp最大的差别在于它在建立连接前不会进行三次握手,属于不可靠的传输tcp:适合大数据传输,要建立三次握手,四次挥手

udp:QQ传输信息量少,小数据传输

启动一台

81、三次握手四次挥手解释下

双工:打电话

半双工:对讲机

单工:灯塔

82、QQ用的什么传输协议?

消息是UDP协议,速度快

TCP适合大数据传输

83、对性能测试的理解

数据的吞吐量,系统承载能力性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

84、对自动化测试的理解

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。

85、用户登陆页面测试质量模型,方法密码,传输加密

86、请根据你的理解设计一下ATM取款的用例设计角度

基本流- 提取预设金额(10 美元、20 美元、50 美元、100 美元)

备选流 2 - ATM 内没有现金

备选流 3 - ATM 内现金不足

备选流 4 - PIN 有误

备选流 5 - 帐户不存在/帐户类型有误

备选流 6 - 帐面金额不足

可以从这个用例生成下列场景

场景 1 - 成功的提款基本流

场景 2 - ATM 内没有现金基本流备选流 2

场景 3 - ATM 内现金不足基本流备选流 3

场景 4 - PIN 有误(还有输入机会)基本流备选流4

场景 5 - PIN 有误(不再有输入机会)基本流备选流4

场景 6 - 帐户不存在/帐户类型有误基本流备选流5

场景7 - 帐户余额不足基本流备选流6

87、给你一只笔你怎么测、给你一个杯子你怎么测

88、测试项目:杯子

需求测试:查看杯子使用说明书

界面测试:查看杯子外观

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

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

抗破坏性:杯子从不同高度落下的损坏程度

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

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

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

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

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

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

跌落测试:杯子加包装(有填充物),在多高的情况摔下不破损

震动测试:杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输

测试数据:测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法

期望输出:该期望输出需查阅国标、行标以及使用用户的需求

说明书测试:检查说明书书写准确性

89、笔

1.功能测试(能不能完成一支笔的需求)

2、性能测试(压力测试,看用多久能用烂,把它绑在电动机上划纸盒)

3、用户体验(找尽量多的群众,搜集FeedBack)

4、破坏测试(看在几楼掉下会摔坏,记录高度和地面硬度,烧,看燃点是多少,煮,看煮完坏不坏...)

5、安全测试(潜入机场,把这个扔在飞机进气孔里,看能不能引起爆炸;让白鼠吃笔心,看是否中毒...)

6、对比测试。所有测试都应该建立在对比的基础上,每组都应该有对比参照(对比测试)。我们程序员有时候一个算法写完,如何证明好与不好,除了理论上的复杂度分析外,对于难分析的东东,还可以用对比的办法.

90、一个合格的测试员应该具备怎样的素质

91、大学参加过什么社团,职务是什么。

92、你的社团产生分歧你是如何解决的

93、大学获过奖吗?

94、大学里除了课本知识你还阅读了哪些书籍。

95、大学学的最好的课程是什么?讲一讲

96、平常读书吗;

97、在培训中遇到的最困难的事

98、在软件测试培训中学习了哪些内容

99、你还有什么想问的问题吗?

一套精细软件测试面试题(问题加答案)

周五面试题: 1.软件测试的定义,评价测试工作是枯燥反复的,你是如何理解的?软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。 软件测试工作并非枯燥乏味。简而言之软件测试工作是一种破坏程序的有价值的行为,工作性质鼓励我们这种破坏行为。另一方面他是一种正向思维与逆向思维斗争的工作,与开发相辅相成,相互依存、制约。是一种让我们乐于学习和探索的趣味工作。 2.画出你所知道的软件生命周期模型,及软件测试模型? <软件生命周期> 略:软件测试模型V模型、W模型详见第三本书----《国际软件测试概论》 3.什么是兼容性测试?兼容性测试侧重哪些方面? 什么是兼容性测试: 一般来说,兼容性指能同时容纳多个方面,在计算机术语上兼容是指几个硬件之间、几个软件之间或是软硬件之间的相互配合程度。 具体的讲,兼容性测试是指测试在特定的硬件平台上、不同的应用程序之间、不同的操作系统平台上、不同的网络等环境中是否能很好的运行的测试。 兼容性测试侧重哪些方面: 兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。 4.写出你以前的项目或工作中,最让你茫然的事情,你是怎么处

理的? 回答:在我以前的项目和工作中,让我最茫然的事情是软件测试需求老在变化着,导致测试工作不能在预期的时间内完成。 面对这样的情况我的处理方式如下: (1)尽早与承担该项目风险的负责人接触,以便了解需求会怎样改变,从而可以尽早地改变测试计划和策略。 (2)如果在对应用程序进行初始设计时多考虑一些适应性,那么以后在发生需求的改变时就不需要再为改变做很多事情了。 (3)只要有可能,就应使用快速原型(rapid prototyping),以帮助用户确认他们的需求,从而减少变更。 (4)在项目的时间表中应当留出余量,以应付可能出现的变更。 (5)尽量把新的需求纳入应用软件的“下一版”,而把原始需求作为“第一版”。 (6)通过谈判,把易于实现的新的变更列入项目,而把难于实现的新需求列入该应用软件的以后的版本。 (7)要确保让客户和管理人员了解变更对进度表的影响、所带来的风险、以及因变更所引起的大量资金消耗。 (8)对变更进行适当的风险分析,以减少回归测试的要求。 5.你的朋友怎样评价你? 回答: 跟朋友们在一起的时候,朋友都常常说我为人诚实、稳重、团结他人、善于帮助他人、关心家人、爱好学习。但是朋友们都说我也有一些缺点就是做事儿比较心急,凡是想着第一时间将自己手里的事情尽快完成,就怕担心后面还有一些需要解决的问题;另外就是凡事都想着拿第一,好胜之心比较强烈。 6.据说有人给酒肆的老板娘出了一个难题:此人明明知道店里只有两个舀酒的勺子,分别能舀7两和11两酒,却硬要老板娘卖给他2两酒。聪明的老板娘毫不含糊,用这两个勺子在酒缸里舀酒,并倒来倒去,居然量出了2两酒,聪明的你能做到吗? 11-7=4(11两勺舀满,倒入7两勺直到满,则11两勺内剩4两,7两勺清空,把11两勺内剩的4两倒入7两勺内,则7两勺内少3两) 11-3=8(11两勺内装满,倒入装有4两的7两勺内,则11两勺内剩8两,清空7两勺) 8-7=1(把11两勺内剩的8两倒入7两勺内直到满,则11两勺内剩1两,清空7两勺,把11两勺内剩的1两倒入7两勺内)

最新一个常见的软件测试面试题

一个常见的软件测试面试题 一个常见的软件测试面试题 考官从办公室(面试现场)随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。 测试项目:杯子 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可*性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 跌落测试:??杯子加包装(有填充物),在多高的情况摔下不破损 震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输 测试数据: 测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法 期望输出:

该期望输出需查阅国标、行标以及使用用户的需求 说明书测试: 检查说明书书写准确性 给大家提三个产品:1.手机 2.电饭锅 3.电梯 有兴趣的同学可以把答案写出来 一个常见的软件测试面试题 问题集 1.软件测试分哪两种方法?分别适合什么情况? 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 4.测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 问题解答: 1.软件测试分哪两种方法?分别适合什么情况? 软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测

软件测试面试题大全

面试必问题及答案 1.怎么做好文档测试? 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例,检查文档的编写是否满足文档编写的目的,内容是否齐全,正确,完善.标记是否正确. 软件测试分哪2种方法?分别适合什么情况? 软件测试分2种:白盒测试和黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又称功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定 2.白盒测试有几种方法? 总体上分为静态方法和动态方法两大类。 静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义 动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。 3.系统测试计划是否需要同行审批,为什么? 需要,系统测试计划属于项目阶段性关键文档,因此需要评审。 4.Alpha测试与beta的区别? Alpha测试在系统开发接近完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。 Beta测试当开发和测试根本完成时所做的测试,最终的错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

5.比较负载测试,容量测试和强度测试的区别? 负载测试:在一定的工作负荷下,系统的负荷及响应时间。 强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。 6.测试结束的标准是什么? 用例全部测试。 覆盖率达到标准。 缺陷率达到标准。 其他指标达到质量标准 7.描述软件测试活动的生命周期? 测试周期分为计划、设计、实现、执行、总结。其中: 计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等; 设计:完成测试方案,从技术层面上对测试进行规划; 实现:进行测试用例和测试规程设计; 执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。 总结:记录测试结果,进行测试分析,完成测试报告。

软件测试工程师经典面试题目

软件测试工程师面试题汇总 测试技术面试题 (5) 1、什么是兼容性测试?兼容性测试侧重哪些方面? (5) 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? (5) 3、测试的策略有哪些? (5) 4、正交表测试用例设计方法的特点是什么? (5) 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? (5) 6、你觉得bugzilla在使用的过程中,有什么问题? (5) 7、描述测试用例设计的完整过程? (6) 8、单元测试的策略有哪些? (6) 9、LoadRunner分哪三部分? (6) 10、LoadRunner进行测试的流程? (6) 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? (6) 12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? (6) 13、QTP中的Action有什么作用?有几种? (6) 14、TestDirector有些什么功能,如何对软件测试过程进行管理? (7) 15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性 能测试......)? .. (7) 16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? (8) 17、Beta测试与Alpha测试有什么区别? (8) 18、软件的评审一般由哪些人参加?其目的是什么? (8) 19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? (8) 20、阶段评审与项目评审有什么区别? (8) 21、阐述工作版本的定义? (8) 22、什么是桩模块?什么是驱动模块? (8) 23、什么是扇入?什么是扇出? (8) 24、你认为做好测试计划工作的关键是什么? (8) 25、你认为做好测试用例工作的关键是什么? (9) 26、简述一下缺陷的生命周期? (9) 27、软件的安全性应从哪几个方面去测试? (9) 28、软件配置管理工作开展的情况和认识? (9) 29、你觉得软件测试通过的标准应该是什么样的? (10) 30、引入测试管理的含义? (10) 31、一套完整的测试应该由哪些阶段组成? (10) 32、单元测试的主要内容? (10) 33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? (10) 34、简述集成测试与系统测试关系? (10) 35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统 的用户文档包括哪些? (10) 36、软件系统中除用户文档之外,文档测试还应该关注哪些文档? (10) 37、简述软件系统中用户文档的测试要点? (11) 38、单元测试主要内容是什么? (11) 39、如何理解强度测试? (13) 40、如何理解压力、负载、性能测试测试? (13) 41、什么是系统瓶颈? (13) 42、文档测试主要包含什么内容? (13)

软件测试工程师笔试题

一、判断题 1.软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。(?) 分析:软件测试人员应在需求阶段就加入到开发过程中。因为软件的质量问题会随着软件开发周期的不断展开而不断放大的,而更正质量问题的成本也是不断放大的,也就是说在需求阶段出现的小问题,到开发完成后缺陷可能成几何倍数放大,而修改所需要的成本也会不断的放大,如果测试工程师能够尽早的加入其中的话可以尽早的找出问题,及时发现,避免问题最后放大到不可收拾。 2.发现错误多的模块,残留在模块中的错误也多。(?) 分析:开发人员能力参差不齐,当发现某模块bug数越多,修改的bug越多,则引入新的bug就会越多,那么这些新的bug发现的难度要比修改前发现bug要大的多,其隐藏未发现的bug数量就越多,那么相应的模块质量也就越差。代码复用也可能造成该模块的bug比较多。 3.测试人员在测试过程中发现一处问题,如果影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(?) 分析:正确流程应提交错误缺陷,此时开发组人员会有记录,并修改此问题。如果测试人员自己修改,会导致开发人员无记录,容易出现冗余系统版本,并不清楚哪个为最终版本。 4.单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(?) 5.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。(?) 6.软件质量管理即QM是由QA和QC构成,软件测试属于QC的核心工作内容。(?) 补充:
QA(QualityAssurance)品质保证;
QC(QualityConterller)品质控制员 7.软件测试只能发现错误,但不能保证测试后的软件没有错误。(?) 8.软件就是程序。(?) 概念:软件是计算机程序,程序所用的数据以及相关文档资料的结合。软件又分为系统软件和应用软件两大类。 9.测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(?) 分析:白盒测试用例设计6种覆盖方法: a.语句覆盖 b.判定覆盖 c.条件覆盖 d.判定/条件覆盖 e.组合覆盖 f.路径覆盖 软件测试的目的是发现软件中的错误,但不能保证软件没有错误。 10.I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指软件做出符合本地的工作。(?)

一套比较完整的软件测试人员面试题

人力资源问题 你为什么选择软件测试行业 因为之前有了解软件测试这个行业,觉得他的发展前景很好。也对 根据你以前的工作经验描述一下软件开发、测试过程,由那些角色负责,你做什么 要有架构师、开发经理、测试经理、程序员、测试员 我在里面主要是负责所分到的模块执行测试用例。 结合你以前的学习和工作经验,你认为如何做好测试。 根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。 你觉得测试最重要的是什么 尽可能的找出软件的错误 怎样看待加班问题 加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决? 首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,和他沟通,或者我会找到我的直系领导让他解决。 为什么在团队中要有测试 因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。 在测试时代学习自己最大的收获是什么? 在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。 你对未来的规划 我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。 自己优势及缺点 我的优点是有足够的耐心对待每一件事情,善于观察事物,承受压力的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。 你为什么选择测试时代不选择51testing 因为相对比来看测试时代价钱相对公道,师资也不错,还有一个原因就是在网上查了一下测试时代的口碑不错,也是网放心过来的原因。 13.请谈谈您对测试工作的理解 我认为测试工作是找出软件产品的错误, 14.你认为测试人员需要具备哪些素质? 我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工作上就会做不好。还有测试人员要有一定的耐心,有的时候做的测试很枯燥乏味的。除了要有耐心之外还要细心,不放过每一个可能的错误。 15.你为什么能够做测试这一行。 虽然说我的测试技术还不是很纯熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还要有一定的沟通能力,耐心、细心等外在的因素。综合起来看我认为我是胜任这个工作的。 1测试的目的是什么? 测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。

软件测试工程师笔试及面试经典试题(大集合)

笔试和面试是每个人都会遇到的问题,如何让你在笔试和面试之前做好充分准备,对笔试和面试的问题有充分的了解,做到知己知彼很重要,如果你想在面试中脱颖而出,请认真学习本篇文章 软件测试工程师经典笔试题及面试题 一、软件测试工程师经典笔试试题 一、判断题(每题1分,12 分,正确的√,错误的╳) 1.软件测试的目的是尽可能多的找出软件的缺陷。() 2.Beta 测试是验收测试的一种。() 3.验收测试是由最终用户来实施的。() 4.项目立项前测试人员不需要提交任何工件。() 5.单元测试能发现约80%的软件缺陷。() 6.代码评审是检查源代码是否达到模块设计的要求。() 7.自底向上集成需要测试员编写驱动程序。() 8.负载测试是验证要检验的系统的能力最高能达到什么程度。() 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。() 10.代码评审员一般由测试员担任。() 11.我们可以人为的使得软件不存在配置问题。() 12.集成测试计划在需求分析阶段末提交。() 二、不定项选择题(每题2 分,10分) 1.软件验收测试的合格通过准则是:() A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。 B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?() A.项目经理 B.SQA 负责人 C.配置负责人 D.测试组 3.下列关于alpha 测试的描述中正确的是:() A.alpha 测试需要用户代表参加 B.alpha 测试不需要用户代表参加 C.alpha 测试是系统测试的一种 D.alpha 测试是验收测试的一种 4.测试设计员的职责有:() A.制定测试计划 B.设计测试用例 C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:() A.需求工件已经被基线化

软件测试工程师面试题汇总(华为篇)

软件测试工程师面试题汇总(华为篇) 1、怎么来设计测试方案 根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等)。 不被测试的特性:由于资源、进度等方面原因,本次测试不列入测试范围的特性。 测试组网图:进行本次系统测试所需要的软硬件设备、配置数据及相互间的逻辑、物理连接。今后测试执行时需要依据这个组网图来进行环境的搭建。 2、如果给你一个B/S系统你怎么来进行测试 此题答案还可用于回答测试流程,测试流程题亦可参考15题。 阅读系统需求,充分理解需求,记录问题,并与项目需求人员充分沟通。 编写测试需求,包括系统功能和非功能测试要点、罗列测试类型、测试进度、质量要求等。 制定测试计划,包括熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应小于5人天 编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试要求,也应识别进行此两项测试。 执行软件测试。 进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。 编写测试报告,总结测试过程,汇总度量数据。 3、怎么进行工作流的测试 把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有可能的流程。 工作流: 如果问到有没有做过,根据对工作流的了解情况回答,如果比较了解,可以把参与的某个项目中说上一些有工作流的,如果不是很了解就说没有做过,但是学习过相关知识。 4、做性能测试的时候都需要关注哪些参数 并发访问量,服务器响应时间(最小、平均、最大) 并发性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。 负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。 负载测试是一个分析软件应用程序和支撑架构、模拟真实环境的使用,从而来确定能够接收的性能过程。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。 一般情况下以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。 大数据量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的关键是测试数据的准备,可以依靠工具准备测试数据。 5、客户没给性能指数,怎么开展性能测试 如果客户没有提出明确的性能指标,可以按照惯例和经验设置,需要和项目经理协商,一般由项目经理确认,质量保证负责给出建议。 举例说一个Server端程序,要求峰值时CPU和MEM消耗在75%以下,而一个页面的访问响应时间一般认为

软件测试基础(经典测试面试题答案)

软件测试基础教程 测试的基本概念 测试是软件生存周期中十分重要的一个过程,是产品发布、提交给最终用户前的稳定化阶段。 1、测试的分类: 从测试方法的角度可以分为手工测试和自动化测试。 手工测试:不使用任何测试工具,根据事先设计好的测试用例来运行系统,测试各功能模块。 自动化测试:利用测试工具,通过编写测试脚本和输入测试数据,自动运行测试程序。目前最常用的自动化测试工具是基于GUI的自动化测试工具,基本原理都是录制、回放技术。 从整体的角度可以分为单元测试、集成测试、系统测试、确认测试。 单元测试:是针对软件设计的最小单位—程序模块,进行正确性检验的测试工作。一般包括逻辑检查、结构检查、接口检查、出错处理、代码注释、输入校验、边界值检查。 单元测试的依据是系统的详细设计;一般由项目组开发人员自己完成。 集成测试:在单元测试的基础上,将所有模块按照设计要求组装进行测试。一般包括逻辑关系检查、数据关系检查、业务关系检查、模块间接口检查、外部接口检查。 系统测试:系统测试是在所有单元、集成测试后,对系统的功能及性能的总体测试。 确认测试:模拟用户运行的业务环境,运用黑盒测试方法,验证软件系统是否满足用户需求或软件需求说明书中指明的软件特性(功能、非功能)上的。 从测试原理上分为:白盒测试、黑盒测试和灰盒测试。 白盒测试:是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试:是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。在测试时,把程序看作一个不能打开的黑盆子, 在完全不考虑程序内部结构和内部 特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求 规格说明书的规定正常使用,程序是否能适当地接收和正确的输出。黑盒测试 方法主要有等价类划分、边界值分析、因—果图、错误推测法。 等价类划分: 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例.该方法是一种重要的,常用的黑盒测试用例设计方法. 1) 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,

软件测试人员面试题

你为什么选择软件测试行业 因为之前有了解软件测试这个行业,觉得他的发展前景很好。也对 责,你做什么 我在里面主要是负责所分到的模块执行测试用例。 结合你以前的学习和工作经验,你认为如何做好测试。 根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。 你觉得测试最重要的是什么 尽可能的找出软件的错误 怎样看待加班问题 加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。 如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决?首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,和他沟通,或者我会找到我的直系领导让他解决。

为什么在团队中要有测试 因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。在测试时代学习自己最大的收获是什么? 在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。 我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。 自己优势及缺点 的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。 你为什么选择测试时代不选择51testing 因为相对比来看测试时代价钱相对公道,师资也不错,还有一个原因就是在网上查了一下测试时代的口碑不错,也是网放心过来的原因。 13.请谈谈您对测试工作的理解 我认为测试工作是找出软件产品的错误, 14.你认为测试人员需要具备哪些素质? 我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工

如何回答常见的软件测试面试问答

如何回答常见的软件测试面试问答 一说起软件测试面试问答,就自然而然想起可亲可敬的面试官,就少不了要回答面试官各种或正常或奇葩的提问。特别是对于很多平时对着电脑多过于对人的软件测试程序员来说,面对面试官接二连三的问题,有的时候也会手忙脚乱。那么,以下就让千锋软件测试的就业老师好好讲解一些常见的软件测试面试题!希望对即将面试的软件测试员们有所帮助! 软件测试面试问答1.开发与测试的关系 开发和测试是一个整体,也可以说测试驱动着开发,开发配合着测试,相辅相成的,在一个完整的项目组中缺一不可。 软件测试面试问答2.测试总结报告包括哪些项

测试用例的通过数,测试用例的未通过数,以及测试用例的通过率,未通过的功能都集中在哪几个功能模块,根据测试经验以及测试结果进行一个缺陷的分析和建议。 软件测试面试问答3.测试用例包括哪些项 产品名称、功能模块、用例的编号、编写人、被测功能的简述,测试的预置条件,测试步骤,预期结果,实际结果。 软件测试面试问答4.缺陷处理流程 首先,将缺陷的详细信息录入缺陷管理系统,并分配给对应的开发人员。其次,如果遇到一些难以发现的缺陷,在开发人员修正过程中配合开发人员进行Bug的再现。更重要的是,开发人员修正Bug后,会在缺陷管理系统中将修正后的Bug状态更改,通常为Fixed状态。 Finally,新版本发布后,测试人员会将bug状态更改为Fixed的Bug进行回归测试。如果测试通过,则将该Bug关闭,如果是未通过,则将该Bug从Fixed更改为Reopen状态,继续让开发人员来修正,并等待下一个新版本发布后的二次回归测试。 软件测试面试问答5.缺陷报告包括哪些项 包括:编写人、被测系统的版本号、测试环境、预期结果、实际结果、对于实际结果如有必要附上截图、测试用例数、测试用例通过数,测试用例的通过率、对缺陷的一个分析汇总。

软件测试技术类面试题集锦(6)十个经典软件测试面试题

软件测试技术类面试题集锦(6)十个经典 软件测试面试题 问题:软件测试技术类面试题集锦(6)十个经典软件测试面试题回答: 1.什么是软件测试,软件测试的目的 参考答案: 什么是软件测试: ·软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。 ·软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。 ·软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。 ·软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。 软件测试的目的: 软件测试的目的是为了保证软件产品的最终质量,在软件开发的

过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。 2.软件测试的风险主要体现在哪里 参考答案: 我们没有对软件进行完全测试,实际就是选择了风险,因为缺陷极有可能存在没有进行测试的部分。举个例子,程序员为了方便,在调试程序时会弹出一些提示信息框,而这些提示只在某种条件下会弹出,碰巧程序发布前这些代码中的一些没有被注释掉。在测试时测试工程师又没有对其进行测试。如果客户碰到它,这将是代价昂贵的缺陷,因为交付后才被客户发现。 因此,我们要尽可能的选择最合适的测试量,把风险降低到最小。 3.测试工具在测试工作中是什么地位 参考答案: 国内的很多测试工程师对测试工具相当迷恋,尤其是一些新手,甚至期望测试工具可以取代手工测试。测试工具在测试工作中起的是辅助作用,一般用来提高测试效率。自动化测试弥补了手工测试的不足,减轻一定的工作量。实际上测试工具是无法替代大多数手工测试的,而一些诸如性能测试等自动化测试也是手工所不能完成的。 对于自动测试技术,应当依据软件的不同情况来分别对待,一般自动技术会应用在引起大量重复性工作的地方、系统的压力点、以及

软件测试面试题答案

软件测试面试题答案 千锋老师掌握了大量的软件测试面试题答案,以下为比较典型的两个: 1、以windows对文件的复制粘帖功能为例,尽可能多地写出测试思路。 软件测试面试题答案: <1>基本功能测试:文件的复制粘贴功能,首先关键字“文件”,文件有不同的分类(图片、视频、音频、文档等),每个分类又有不同的类型(文档类型:txt doc execl pdf等),每个文件又有不同的大小,而且文件还有很多权限,是不是隐藏,是不是只是管理员可执行。选择不同分类的不同类型,不同大小的文件做测试资源。 比如:文档类型里面txt文件可以分为1.KB的txt文件、1MB的txt文件、

1GB的txt文件...... 下一个关键字复制粘贴复制有多种方式右击选择、Ctrl+C、拖动复制,对应粘贴也有各种方式。然后从哪复制,粘贴到哪,比如可以有本机硬盘、移动硬盘、优盘、内存卡、软盘、光盘、连接手机存储,复制到网络地址等等。 复制粘贴后文件是不是可用,文件权限是不是有变化。复制过去容量不够怎么处理?复制过后有重名文件怎么处理?复制过程中取消、关机、拔优盘怎么处理?复制过程能不能执行文件? <2>性能测试:复制粘贴功能性能怎么样?复制文件的速度可不可以接受?同时复制多个文件是不是可以完成?复制文件过程中占用CPU资源大不大,耗电量大不大? <3>兼容性测试:Windows7,Windows8,Windows8.1,Windows10等各种windows版本是不是都支持这个功能。 <4>交互测试:复制粘贴文件时,使用windows存储的其他功能是否有影响?比如播放本地的音频、视频、等同时复制文件是不是有影响。一边复制,一边粘贴是不是有影响。 2、已知String convert(String page)作用是将WEB页转码为方便移动设备查看的页面,为了确保转码的正确性,请设计相应测试策略。 软件测试面试题答案:

九个常见软件测试面试题

九个常见软件测试面试题 千锋老师非常关注同学们的软件测试面试题就业问题,到现在为止,所有千锋软测毕业同学都能高薪高起点就业,以下是千锋老师搜集的软件测试面试题,一起来看看吧! 1.项目介绍(项目经验直接决定一个人能否胜任一份工作,企业更应该看重一个人解决问题的思路和具体能力),项目介绍部分重要的思路是应该先整体后局部,介绍整体的时候要有量化的数据(从项目度量的五大维度:规模,包括项目代码规模,需求规模、用例规模,工作量,进度,质量和成本),然后是整体的测试流程,再然后是角色与职责,接下来是项目中自己的特色,比如做得好的是什么、遇到的困难是什么、败笔是什么,末了是心得体会。 2.数据库方面知识,基本的要求是数据库记录的增删改查(insert、delete、update、select),表结构的增删改查(create、drop、alter、describe)、存储过程、触发器等。

3.linux操作系统相关,基本的目标是熟悉常见的50个命令,比如find命令(-name、-type、-perm、-user、-group、-ctime、-atime)等,熟悉vi、熟悉linux搭建测试环境。比如LAMP环境搭建。 4.缺陷相关知识,基本的是缺陷跟踪的流程(流程的基本要素),整体的流程,能在纸上给面试官画出来更好(尤其是男面试官,从男人好色的角度来看,写得清楚很重要),缺陷单的属性,至少能列出20个属性,每个属性的意义,如何描述好缺陷单,缺陷单描述的5C原则,比如缺陷重现步骤应该complete.如何描述一个你认为的经典的bug单。 5.设计用例相关,基本的包括用例的格式要素,用例设计工程方法论,每个方法要求(方法的背景,操作步骤,优缺点、适应范围,与其他用例方法如何配合),在项目中如何利用测试用例设计工程方法。 还有如何评价、评审测试用例,评审从哪些维度?要设计好测试用例需要哪些方面的知识结构,比如技术、业务、方法。 6.软件测试流程,系统测试相关规范和标准的流程:熟悉产品/项目,需求评审,测试需求,测试计划,测试方案,测试用例,预测试,一轮正式测试、第二轮回归测试、第三轮测试,测试报告,测试总结,测试指南。 7.网络相关,基本的网络基础知识,比如TCP/IP协议。 8.测试工具,包括三个大的类型,性能测试工具、自动化测试工具、测试管理类工具。起码的要求是熟悉工具的使用。

软件测试人员常见面试题

1.测试的策略有哪些? 参考答案:黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略) 2.正交表测试用例设计方法的特点是什么? 参考答案:用最少的实验覆盖最多的操作,测试用例设计很少,效率高,但是很复杂;对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。 3.什么是兼容性测试?兼容性测试侧重哪些方面? 参考答案:兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。兼容测试的重点是,对兼容环境的分析。通常,是在运行软件的环境不是很确定的情况下,才需要做兼容。根据软件运行的需要,或者根据需求文档,一般都能够得出用户会在什么环境下使用该软件,把这些环境整理成表单,就得出做兼容测试的兼容环境了。兼容和配置测试的区别在于,做配置测试通常不是Clean OS下做测试,而兼容测试多是在Clean OS的环境下做的。 4.我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? 参考答案: 1、检查系统是否有中毒的特征; 2、检查软件/硬件的配置是否符合软件的推荐标准; 3、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务; 4、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的; 5.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 参考答案: 就是Bugzilla的状态转换图。 6.你觉得bugzilla在使用的过程中,有什么问题?

软件测试面试题

面试题 1、您认为做好测试用例设计工作的关键是什么? 参考答案:测试用例应百分百覆盖需求。 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。 2、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 参考答案:1.等价类划分 划分等价类: 等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类. 2.边界值分析法 边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误. 使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据. 参考答案:3.错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 错误推测方法的基本思想: 列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例. 例如, 在单元测试时曾列出的许多在模块中常见的错误. 以前产品测试中曾经发现的错误等, 这些就是经验的总结. 还有, 输入数据和输出数据为0的情况. 输入表格为空格或输入表格只有一行. 这些都是容易发生错误的情况. 可选择这些情况下的例子作为测试用例. 4.因果图方法 前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系, 相互组合等. 考虑输入条件之间的相互组合,可能会产生一些新的情况. 但要检查输入条件的组合不是一件容易的事情, 即使把所有输入条件划分成等价类,他们之间的组合情况也相当多. 因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例. 这就需要利用因果图(逻辑模型). 因果图方法最终生成的就是判定表. 它适合于检查程序输入条件的各种组合情况. 4、什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? 参考答案: 在同一时间点,支持多个不同的操作。

测试工程师招聘笔试题目汇总

测试工程师面试笔试问题 你发现了一个软件缺陷,但开发人员认为不是,就是不改程序,你如何处理? 测试人员和开发人员所依据的需求和设计规格说明书的版本是否一致;把问题升级到各自的 你做的功能测试是怎么发现并提交的? 运行测试用例,测试实际结果与期望结果不同的就是,记录到缺陷跟踪系统,指定对应程序模块的负责程序员 输入,如果这三个数满足三角形的条件,则计算三角形的周长,否则输出提示错误。然后判断三角形是等腰三角形还是等边三角形,若是等腰三角形则打印输出等腰三角形,若是等边三角形则打印输出等边三角形,否则退出。请给出程序流程及控制流程,测试路径。试举一个测试用例。 略 1 a ? 性格适合做、专业契合、喜欢这个行业、喜欢这家公司 2.测试的分类和过程。 单元测试、集成测试、系统测试、验收测试 白盒测试、黑盒测试 动态测试、静态测试 安全测试、网站测试、负载测试、性能测试 3.如果你是一个测试组长,你将怎么做计划,去测试一个。列出 参考电梯的测试的案例 谈谈你找到的印象最深的一个。 面试者试图通过这个问题看看你对测试的流程、测试问题的发现和处理等的了解的程度 比如运行测试用例没异常,即没发现,但是对应去数据表中直接查询数据时,发现与实际结果不一样,说明有时不能单单凭借你看到的结果来判断是否是一个 作为测试组长,当测试人员和开发人员发生意见不一致时,项目经理不在,你是如何处理的和解决的? 基于对规格书的共同理解、共同的版本和共同的流程来解决这个问题 谈谈。 发布之前,对主要的功能进行大致的功能性验证,不是全面的、也不是细节的

在你们公司如何流转的? , , , 测试可能很枯燥,你怎么看的? 同上为何做测试工程师的问题 软件测试主要有哪几个阶段,每个阶段都应用什么测试方法? 单元测试:白盒测试;集成测试:白盒黑盒;系统测试:黑盒测试;验收测试:黑盒测试 白箱测试和黑箱测试是什么?什么是回归测试? 白盒测试是对代码的逻辑结构的测试;黑盒是对整个程序的功能的测试;回归是在某个问题修改后,再次对程序所有的功能进行测试一遍 2.单元测试、集成测试、系统测试的侧重点是什么? 单元测试重点是代码的逻辑;集成测试的重点是组件及系统之间的接口;系统测试的重点是整个系统的功能及非功能性需求的验证 3.设计用例的方法、依据有那些? 单元测试用例:白盒测试方法,如路径法等;黑盒测试用例:场景法、等价类和边界值法 4.一个测试工程师应具备那些素质和技能? 职业素养(性格、纪律、忠诚度、细心、自我管理);专业技能(开发、测试、网络、系统、);英语;行业知识(具体的业务领域知识、软件工程行业知识) 5.集成测试通常都有那些策略? 集成的顺序,按照业务流程的先后依次进行集成 6.你用过的测试工具的主要功能、性能及其他? 测试工具:等;测试管理功能:等 7.一个缺陷测试报告的组成 缺陷描述、状态、负责人、重现步骤、严重性等级和所属模块等

相关文档
最新文档