金山软件测试面试题:第一题是如何测试一个安装程序,选用什么工具,什么方法;
用虚拟机测试安装程序,在虚拟机上运行安装程序。
主要测试安装时的安装目录、环境变量、硬件环境以及卸载过程等。
第二题是软件测试前需要做哪些准备工作;
①明确测试对象,了解测试内容;
②根据相关文档(需求文档和设计文档)编写软件测试计划,如测试策略、测试方法;
③设计测试用例;
④搭建测试环境;
最后是执行测试。
(提交测试报告)
第三题是软件开发的阶段,软件测试的阶段,以及每个阶段的任务;
{RAD(rap application development),就是软件开发过程中的一个重要模型,称为快速应用开发模型。其模型构图形似字母V,所以又称V模型。他通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
V模型大体可以划分为下面几个不同的阶段步骤,既需求分析、概要设计、祥细设计、编码、单元测试、集成测试、系统测试、验收测试。}
⑴需求分析:明确客户需要,按需求写出规格文档说明书;
⑵概要设计:构建框架,描述模块功能及接口;
⑶祥细设计:设计模块的具体实现方式及模块的组合方式(把程序的具体实现的功能,现象等描述出来);
⑷编码:按照祥细设计好的模块功能表,编写出实际的代码;
①单元测试(模块测试):按照设定好的最小测试单元进行按单元测试,主要是测试程序代码;
②集成测试(也叫组装测试,联合测试):集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确;
③系统测试:是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其指定的要求;
④验收测试:验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。
第四题应该是个智力题,每3个空啤酒瓶可以换1瓶啤酒,10个空瓶最多可以换多少瓶啤酒!
4瓶
后面是关于测试用例的题:
第五题是一个正交表法设计测试用例;
第六题是设计对于一个键盘的测试;
第七题是对于一三个整数组,判定其是不等边三角形、等腰三角形,还是等边三角形。
三边长大于0;两边之和大于第三边;有两边等长;三边等长。
金山软件测试面试题:最后一题是程序题,没有规定用什么语言:
n个选项,每个选项里面又有若干个子选项,从每个选项中选一个子选项,一共有多少个组合。
#include
#define N 3 //选项数
#define Alen 3 //第一个选项的子选项数
#define Blen 3 //第二个选项的子选项数
#define Clen 3 //第三个选项的子选项数
int num = 0; //总的组合数
char A[N][Alen] = {{‘A’, ‘B’, ‘C’}, {‘D’, ‘E’, ‘F’}, {‘H’, ‘I’, ‘J’}};//3个选项,每个选项有3个子选项
int Len[N] = {Alen, Blen, Clen};//每个选项的子选项数
int Path[N];//保存一个组合
void Recrusive(int i)
{
//超过N层输出结果并且退出循环
if (i >= N)
{
int k;
num++;
printf(“%d: “,num);
for (k = 0; k < N; k++)
{
printf(“%c “, Path[k]);
}
printf(“ ”);
return;
}
int j ;
for (j = 0; j < Len[i]; j++)
{
//保存遍历字符
Path[i] = A[i][j];
//调用下层循环
Recrusive(i + 1);
}
}
void main()
{ Recrusive(0);
}
[金山软件测试面试题]