问答题 (一共5题,共5分)

1.

某软件公司为某银行设计开发了一套网上银行系统,该系统提供基本的支付、查询、转账和信息修改等功能。银行对网上银行系统提出了初步的性能指标:

(1)交易响应时间不超过2s

(2)并发用户数>=1000

(3)CPU利用率不超过80%

(4)系统需要7*24小时不间断的稳定运行

(5)每秒事务数为7

(6)交易成功率为100%

现需要对该软件进行性能测试。

【问题1】(4分)

常见的性能测试包括负载测试、压力测试、并发性能测试、疲劳强度测试和大数据量测试等。针对题目中所述的6个性能指标,并发性能测试和疲劳强度测试所涉及的指标各有哪些

【问题2】(6分)

性能测试中,针对一个单独的性能指标,往往需要采用多种不同的测试方法。该软件公司需要测试性能指标(1)和(5),设计了如下的测试方案:

测试常规情况下的并发用户数,逐步增加并发用户数,分别测试:

1. 在响应时间为2s时,系统所能承受的最大并发访问用户的数量;

2. 系统在多大的并发访问用户数量下,响应时间不可接受(例如超过2s)。

请指出这两项测试分别属于哪种类型的测试,并分别解释这两种测试类型的基本概念。

【问题3】(5分)

在测试性能指标(5)时,该软件公司在客户端模拟大量并发用户来执行业务操作,统计平均的每秒事务数。该软件公司认为客户端接收响应信息与该性能指标的测试无关,因此在模拟客户端上发起正常业务申请,接收系统响应后直接丢弃响应信息,没有进行功能校验。请说明该软件公司的做法正确与否,并简要说明原因以及执行功能校验的副作用。

2.

软件在机载设备中的运用越来越广泛,驻留于机载设备中的嵌入式软件失效会产生灾难性后果,一般要求其具有较高的可靠性,因此,软件可靠性测试对机载软件至关重要。

【问题1】(8分)

解释软件可靠性的含义及影响软件可靠性的主要因素。

【问题2】(6分)

可靠性评价时,经常使用的定量指标包括失效概率、可靠度和平均无失效时间 (MTTF),请分别解释其含义。

【问题3】(6分)

对某嵌入式软件,设计要求其可靠度为1000小时无失效概率99.99%。经实测得出其失效概率函数F(1000)=0.0012,问该软件是否符合设计可靠性要求,并说明原因。

3.

某高校开发了一套基于Web的教务管理系统,实现教务管理人员课程设置、学生选课和成绩查询、教师上传成绩以及特殊情况下教务处对成绩进行修改等功能。系统基于Java EE平台实现,采用表单(Form)实现用户数据的提交并与用户交互。

系统要支持:

(1)在特定时期内100个用户并发时,主要功能的处理能力至少要达到每秒10个请求,平均数据量8KB/请求;

(2)用户可以通过不同的移动设备、操作系统和浏览器进行访问。

【问题1】(4分)

简要叙述教务管理系统表单测试的主要测试内容。

【问题2】(5分)

简要叙述为了达到系统要支持的(2),需要进行哪些兼容性测试,并设计一个兼容性测试矩阵。

【问题3】(5分)

在满足系统要支持的(1)>时,计算系统的通信吞吐量。

【问题4】(6分)

系统实现时,对成绩更新所用的SQL语句如下:

“UPDATE StudentScore SET score = ” + intClientSubmitScore + “ WHERE Stuent_ID=“ + strStudentID +

设计1个测试用例,测试该SQL语句是否能防止SQL注入,并说明该语句是否能防止SQL注入,以及如何防止SQL注入。

4.

某企业最近上线了 ERP系统,该系统运行的网络环境如图4-1所示。企业信息中心目前拟对该系统相关安全防护体系进行全面的安全性测试,以提供全面的安全测评报。

中级软件评测师,历年真题,2013年下半年(下午)《软件评测师》真题

【问题1】(6分)

企业ERP系统上线后,企业主要业务的日常运作都高度依赖该系统的正常运行,因此ERP系统的稳定性与可靠性对企业至关重要。故障恢复与容灾备份措施是提高系统稳定性与可靠性的重要因素。对于故障恢复与容灾备份措施,参与测试的王工认为应从故障恢复、数据备份和容灾备份等三个方面进行测试。请用300字以内文字,对这三方面的测试内容进行简要说明。

【问题2】(4分)

数据库服务器中目前主要存储ERP系统业务数据,后续还需要存储企业网站相关数据,当前ERP系统的用户认证方式包含口令认证方式,相应的用户权限和口令也存储在数据库二维表中。针对上述实际情况,参与测试的李工认为在对数据库权限进行测试时,除数据库账号保护及权限设置相关的常规测试外,还必须对敏感数据加密保护及对数据库访问方式进行相应测试。请用200字以内文字,对敏感数据加密保护和数据库访问方式两个方面的测试内容进行简要说明。

【问题3】(10分)

为对抗来自外网或内网的主动攻击,系统通常会采用多种安全防护策略,请给出四种常见的安全防护策略并进行简要解释。结合一种图4-1中明确标识出的安全防护策略机制,说明针对该机制的安全测试应包含哪些基本测试点。

5.

逻辑覆盖法是设计白盒测试用例的主要方法之一,通过对程序逻辑结构的遍历实现程序的覆盖。针对以下由C语言编写的程序,按要求回答问题。

int XOR(char * filename, unsigned long key){

 FILE * input = NULL,*output = NULL; //1

 char * outfilename = NULL;

 int len = strlen(filename);

 unsigned char buffer;

 if( (filename[len-2] == ‘.’) && (filename[len-l] == ‘c’)){ //2,3

  outfilename = new char[len+l]; //4

  strcpy(outfilename,filename); outfilename[len-2] = ‘\0’;

 }

 else{ //5

  outfilename = new char[len+5];

  strcpy(outfilename , filename);

  strncat(outfilename,”.c”,2);

 }

 input = fopen(filename,”rb”);

 if( input = NULL){ //6

  cout<<"Error opening file " << filename <<endl ; //7

  delete [] outfilename;

  outfilename = NULL;

  return 1;

 }

 output = fopen(outfilename,”'wbf”);

 if( output = NULL) { //8

  cout<< "Error creating output file ”<< outfilename <<endl; //9

  delete [] outfilename;

  outfilename = NULL;

  return 1;

 }

 while(! feof(input) ){ //10

  if( fread(&buffer,sizeof(unsigned char), 1,input) != 1 ){ //11

   if( ! feof(input)){ //12

    delete [] outfilename; //13

    outfllename = NULL;

    fclose(input);

    fclose(output);

    return 1;

   }

  }

  else{ //14

  buffer A= key;

  fwrite(&buffer,sizeof(unsigned char), 1,output);

  }

 }

 fclose(input);

 fclose(output);

 delete [] outfllename;

 return 0;

}

【问题1】(6分)

请给出满足100%DC (判定覆盖)所需的逻辑条件。

【问题2】(10分)

请画出上述程序的控制流图,并计算其控制流图的环路复杂度V(G)。

【问题3】(4分)

请给出问题2中控制流图的线性无关路径。