1、下列关于alpha测试的描述中正确的是( BD )
    A alpha测试需要用用户代表参加 B alpha测试不需要用用户代表参加
    C alpha测试是系统测试的一种 D alpha测试是验收测试的一种
    2、软件质量的定义( D )
    A软件的功能性、可靠性、易用性、效率、可维护性、可移植性
    B满足规定用户需求的能力
    C最大限度达到用户满意
    D软件特性的总和,包括满足规定的和潜在的用户需求
    3、软件测试的对象包括( B )
    A目标程序和相关文档
    B源程序、目标程序、数据及相关文档
    C目标程序、操作系统和平台软件
    D源程序和目标程序
    4、从测试阶段角度,测试正确的顺序是( A-B-C-D ),同时给出所选择的正确策略含义和被测对象是什么?
    A单元测试 B集成测试 C系统测试 D验收测试
    单元测试:又称模块测试、逻辑测试或结构测试,是针对软件设计的最小单元—程序模块进行正确性检验的工作。其目的在于检查每个单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。被测试对象是各子模块程序。
    集成测试:又称组装测试、综合测试或联合测试。是按设计要求把通过单元测试的各模块按一定的方式组装在一起后,进行测试,以便发现与接口有关的各种错误。被测对象是组装的软件部件。
    系统测试:是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。被测对象是完整的系统
    验收测试:是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。验收测试是向未来的用户表明系统能够像预定要求那样工作。被测对象是完整的系统。
    5、从测试方法的角度来分,正确的选择是( BD ),并写出下面各项的含义?
    A静态测试:指不运行程序,通过人工对程序和文档进行分析和检查
    B黑盒测试:通过软件的外部表现来发现缺陷和错误。黑盒测试法把测试对象看成一个黑盒子,完全不考虑程序内部结构和处理过程;它是在程序界面处进行测试,检查程序是否按照需求规格说明书的规定正常实现。
    C动态测试:指通过人工或使用工具运行程序进行检查、分析程序的执行状态和程序的外部表现。
    D白盒测试:通过对程序内部结构的分析、检测来寻找问题。白盒测试可以把程序看成装在一个透明的盒子里,也就是清楚了解程序结构和处理过程,检查是否所有的结构及路径都是正确的,检查软件内部结构动作是否按照设计说明的规定正常进行。
    6、测试计划的目的是什么?测试计划的内容都包括什么?其中哪些是最重要的?
    软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
    测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是先评审)。
    7、什么是测试用例,它是由哪些基本元素组成?
    测试用例是为特定目标开发的测试输入、执行条件和预期结果的集合。
    测试用例的组成:测试用例编号,测试用例标题,测试的模块,测试的输入条件,测试的预期结果,其它说明
    8、请试述在软件测试过程中都有哪些工作要做?分别有哪些不同的角色来完成这些工作?
    软件测试流程:需求分析—>测试计划—>测试设计—>测试环境搭建—>测试执行—>测试记录—>缺陷管理—>软件评估
    职责范畴:
    测试开发人员:需求分析、测试计划、测试设计、测试环境搭建-
    普通测试人员:测试执行、测试记录、缺陷跟踪
    测试负责人负责整个测试各个环节的跟踪、实施、管理等。
    9、在您的工作当中,自动化测试工具都用过哪些,并说明它的用途及用在什么地方?
    Loadrunner:一款性能测试工具,用于查找并分析软件性能情况,查找软件瓶颈,并进行性能调优。
    QuickTestPrefessional:一款功能自动化测试工具,主要用于版本稳定的软件,进行回归测试时,可以节约人工成本。
    TestDirector:Mercury公司出的一款自动化测试管理工具,具有管理测试需求、测试用例、测试过程以及缺陷跟踪的功能。
    Junit:一款java单元测试工具
    10、如果业务层和数据层之间有依赖关系,你该怎么写单元测试?
    这个时候我们需要模拟数据层,给业务层提供数据,比如简单的返回各类数据,直接从文本文件、数据库中读取我们需要的测试数据等来完成单元测试。
    11、根据下面给出的规格说明,利用“等价类划分”的方法,给出足够的测试用例。“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,当三边不可能构成三角形时提示错误,否则说明这个三角形是三边不等的、是等腰的、还是等边的。”
    注:任意两边之和大于第三边就可以构成三角形
    12、设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:
    “有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角银币,按下“可乐”、“雪碧”或“红茶”按钮,相应得饮料就送出来。若投入的是2元硬币,在送出饮料的同时还退还5角硬币。”
    (1) 试利用因果图法,建立该软件的因果图;
    分析这一段说明,我们可以列出原因和结果。
    原因:(1)投入1元5角硬币;(2)投入2元硬币
    (3)按“可乐”按钮;(4)按“雪碧”按钮;(5)按“红茶”按钮
    中间状态:(1)已投币;(2)已按钮
    结果:(1)退还5角硬币;(2)送出“可乐”(3)送出“雪碧”(4)送出“红茶”
    因果图见下图:
    (2) 设计测试该软件的全部测试用例。


    1 2 3 4 5 6 7 8 9 10 11
    输入 投入1元5角硬币 (1) 1 1 1 1 0 0 0 0 0 0 0
    投入2元硬币 (2) 0 0 0 0 1 1 1 1 0 0 0
    按“可乐”按钮 (3) 1 0 0 0 1 0 0 0 1 0 0
    按“雪碧”按钮 (4) 0 1 0 0 0 1 0 0 0 1 0
    按“红茶”按钮 (5) 0 0 1 0 0 0 1 0 0 0 1
    中间结点 已投币 (11) 1 1 1 1 1 1 1 1 0 0 0
    已按钮 (12) 1 1 1 0 1 1 1 0 1 1 1
    输出 退还5角硬币 (21) 0 0 0 0 1 1 1 0 0 0 0
    送出“可乐” (22) 1 0 0 0 1 0 0 0 0 0 0
    送出“雪碧” (23) 0 1 0 0 0 1 0 0 0 0 0
    送出“红茶” (24) 0 0 1 0 0 0 1 0 0 0 0

    13、请根据以下程序片段,设计最少的测试用例实现条件覆盖
    if(A>0 and B>0)
    X=X/A
    if(A>1 and X >1)
    X=X+1
    System.out.printf(“X=”+x)
    记条件A>0,取真时为T1,取假时为F1
    记条件B>0,取真时为T2,取假时为F2
    记条件A>1,取真时为T3,取假时为F3
    记条件X >1,取真时为T4,取假时为F4


    测试用例
    覆盖条件
    A=-1,B=0,X=1 F1、F2、F3、F4
    A=2,B=2,X=2 T1、T2、T3、T4

    一、填空题,每空2分;
    1.在UNIX下文件exer1的访问权限为rw-r—r—,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是:chmod a+x g+w exer1
    2、在 UNIX 操作系统中,查看系统进程使用 ps –ef 命令.
    3、写出以下代码的输出结果_19_
    #define ARE(A,B)A+B
    Int s= ARE(3,4)ARE(3,4);
    cout<4、软件能力成熟度模型 CMMI一共有 五 个级别
    1、 5、黑盒测试的常用方法:等价类划分、边界值、因果图、功能图、正交试验、场景法或错误推测法或判定驱动法等
    2、 6、白盒测试中逻辑覆盖法中常用的方法:语句覆盖、判定覆盖、条件覆盖、条件判定组合覆盖、多条件覆盖或修正条件判定覆盖等
    二、不定项选择题,每题4分;
    1.软件验收测试的合格通过准则是:(ABCD)
    A. 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
    B. 所有测试项没有残余一级、二级和三级错误。
    C. 立项审批表、需求分析文档、设计文档和编码实现一致。
    D. 验收测试工件齐全。
    2.软件测试计划评审会需要哪些人员参加?(ABCD)
    A.项目经理
    B.SQA 负责人
    C.配置负责人
    D.测试组
    3.下列关于alpha 测试的描述中正确的是:(AD)
    A.alpha 测试需要用户代表参加
    B.alpha 测试不需要用户代表参加
    C.alpha 测试是系统测试的一种
    D.alpha 测试是验收测试的一种
    4.测试设计员的职责有:(BC)
    A.制定测试计划
    B.设计测试用例
    C.设计测试过程、脚本
    D.评估测试活动
    5.软件实施活动的进入准则是:(ABC)
    A.需求工件已经被基线化
    B.详细设计工件已经被基线化
    C.构架工件已经被基线化
    D.项目阶段成果已经被基线化
    三、问答题,(第一题15第二题15第三题10分、第四题10分)
    一、对教学数据库的三个基本表:
    S(S#、Sname、AGE、SEX)
    SC(S#、C#、GRADE)
    C(C#、Cname、TEACHER)
    试用用SQL语句表达下列对教学数据中三个基本表S、SC、C的查询;
    1、求DENG老师说授课程的每门课程学生的平均成绩;
    select C#,AVG(GRAEDE) from SC where C#IN(select C# from C where TECHER=’DENG’)
    GROUP BY C#
    2、统计每门课程的学生选修人数(超过14人的课程才统计),要求输出课程好和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列;
    select C#,COUNT(S#) from SC group by C#HAVING COUNT (
    )>14 ORDER BY 2 DESC C#
    二、 在三角形计算中,要求三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示“错误”, 若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角型”;若是三角型“提示一般三角型”
    使用等价类划分法设计测试用例
    等价类表

    输入条件 有效等价类 无效等价类
    是否三角型的三条边 (a>0),

    (1)
    (b>0), (2)
    (c>0), (3)
    (a+b>c), (4)
    (b+c>a), (5)
    (a+c>b), (6) | (a<=0), (7)
    (b<=0), (8)
    (c<=0), (9)
    (a+b<=c), (10)
    (b+c<=a), (11)
    (a+c<=b), (12) | | 是否等腰三角型 | (a=b), (13)
    (b=c), (14)
    (c=a) (15) | (a!=b)and(b!=c)and(c!=a) (16) | | 是否等边三角型 | (a=b)and(b=c)and(c=a) (17) | (a!=b), (18)
    (b!=c), (19)
    (c!=a), (20) |

    测试用例

    编号 ( a ,b, c) 覆盖等价类 输出
    1 3.,4,5 (1)、(2)、(3)、(4)、(5)、(6) 一般三角型
    2 0,1,2 (7) 不能构成三角型
    3 1,0,2 (8)
    4 1,2,0 (9)
    5 1,2,3 (10)
    6 1,3,2 (11)
    7 3,1,2 (12)
    8 3,3,4 (1)、(2)、(3)、(4)、(5)、(6)、(13) 等腰三角型
    9 3,4,4 (1)、(2)、(3)、(4)、(5)、(6)、(14)
    10 3,4,3 (1)、(2)、(3)、(4)、(5)、(6)、(15)
    11 3,4,5 (1)、(2)、(3)、(4)、(5)、(6)、(16) 非等腰三角型
    12 3,3,3 (1)、(2)、(3)、(4)、(5)、(6)、(17) 是等边三角型
    13 3,4,4 (1)、(2)、(3)、(4)、(5)、(6)、(14)、(18) 非等边三角型
    14 3,4,3 (1)、(2)、(3)、(4)、(5)、(6)、(15)、(19)
    15 3,3,4 (1)、(2)、(3)、(4)、(5)、(6)、(13)、(20)

    三、写出你所知道的测试工具,并写出他们的用途和优缺点
    请根据您以往的学习和工作经历,结合您的个人经验回答以下问题,您可以尽可能详细和完整的表达出自己的思想。
    四、谈谈你对测试工作的看法和认识;
    01. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?
    02. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述)
    03. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
    04. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
    05. 您认为做好测试用例设计工作的关键是什么?
    06. 性能测试中压力测试和负载测试的区别?
    压力测试测试系统在不同压力情况下的效率状况,以及系统可以承受的压力情况。
    负载测试指在测试过程中,逐渐增加被测系统负担,直到出现系统不能接受到的性能点,目的是发现被测系统的负载极限。
    压力测试和负载测试的主要区别在于目的不同。
    07. Loadrunner的相关问题:
    1) .Loadrunner有那几个主要的组件,请列举并分别说明各组件的功能?
    Loadrunner有三个主要的组件,分别是Virtual UserGenerator,Controller,Analysis,功能分别是:模拟用户行为,录制并完善脚本;创建并运行场景,控制虚拟用户数量;分析测试结果。
    2) 你用Loadrunner的哪个组件录制脚本?
    Virtual User Generator
    3) 在多用户模式下你用Loadrunner的哪个来回放脚本?
    Controller
    4) 解释什么叫聚合点(集合点),什么叫场景?
    集合点是在同一个时间点,所有用户同时执行某一个操作。
    场景:模拟真实环境中,用户运行情况
    5) 我们为什么要对脚本进行参数化?
    如果用户在录制脚本过程中,填写提交了一些数据,这些操作将被记录到脚本中。当多个虚拟用户运行脚本时,都会提交相同的记录,这样做可能会被应用程序禁止而导致程序出错,同时也不符合实际情况。为了更加真实地模拟实际操作,需要各种各样的输入,这时就需要用到参数化。
    6) 何时我们要进行关联?您是如何发现关联和进行关联操作的?结合您测试过的具体项目举例说明。
    当我们正常录制完脚本后,回放却不成功,这时需要考虑是否有动态数据,是否需要做关联。
    做关联有两种方式,一种是自动关联,另一种是手动关联。通常我们需要用到的是手动关联。手动关联的执行过程大致如下:
    1)使用相同的业务流程和数据,录制两份脚本
    2)使用Windiff工具或通过Tree View视图找出需要关联的部分
    3)使用web_reg_save_param函数手动建立关联
    4)将脚本中有用到关联的部分,以参数取代

    来自 [http://www.bcbxhome.com/bcbx/forum.php?mod=viewthread&tid=59&extra=page%3D1](http://www.bcbxhome.com/bcbx/forum.php?mod=viewthread&tid=59&extra=page%3D1)