版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年软件评测师应用技术真题试题一:白盒测试技术与应用阅读下列C代码,回答问题1至问题4,将解答填入答题纸的对应栏内。【C代码】```cintCalBonus(intsales,intyears,intlevel){intbonus=0;if(sales<0)return-1;//销售额不能为负if(years<0)return-2;//工龄不能为负if(sales>10000){if(years>5){bonus=sales*0.20;//20%提成}else{bonus=sales*0.15;//15%提成}}else{if(level>=3){bonus=sales*0.10;//10%提成}else{bonus=sales*0.05;//5%提成}}if(bonus>5000){bonus=5000;//封顶5000}returnbonus;}```【问题1】(4分)请画出上述代码的控制流图。控制流图中的节点可以用对应的代码行号或语句块标识。【问题2】(4分)请计算上述控制流图的圈复杂度(V(G)。请列出计算公式和计算步骤。【问题3】(8分)请给出满足语句覆盖(StatementCoverage)的测试用例,要求用例数量最少。测试用例格式为(输入数据,预期输出),输入数据格式为。【问题4】(9分)请给出满足判定覆盖(DecisionCoverage)且同时满足条件覆盖(ConditionCoverage)的测试用例,要求用例数量最少。测试用例格式同问题3。试题二:黑盒测试技术与应用某电商平台正在开发一个新的“优惠券领取系统”,用户输入的参数包括:用户类型、用户等级、订单金额。系统规则如下:1.优惠券面额计算逻辑:如果用户类型是“新用户”,且订单金额>=100元,则发放50元优惠券。如果用户类型是“老用户”,且用户等级>=3,且订单金额>=200元,则发放30元优惠券。如果用户类型是“老用户”,且用户等级<3,且订单金额>=300元,则发放20元优惠券。其他情况不发放优惠券。2.输入限制:用户类型:枚举值,只能为“新用户”或“老用户”。用户等级:整数,取值范围1-5。订单金额:浮点数,取值范围0.00-10000.00元。【问题1】(6分)请采用等价类划分法设计测试用例。列出所有的有效等价类和无效等价类。【问题2】(6分)基于问题1的等价类划分结果,设计能够覆盖所有无效等价类的测试用例(要求每个测试用例尽可能覆盖一个无效等价类)。【问题3】(13分)请采用边界值分析法设计测试用例。针对“订单金额”和“用户等级”两个变量,列出需要测试的边界点(包括闭区间和开区间边界),并给出覆盖这些边界点的测试用例(假设用户类型为“老用户”)。试题三:性能测试与应用某大型在线教育网站计划对其“视频课程播放”模块进行性能测试。该模块采用典型的B/S架构,前端通过HTTPS协议向后端API服务器请求视频流。预计在晚高峰期(20:00-22:00),并发用户数将达到峰值。测试团队使用LoadRunner工具进行测试,在测试中采集了以下数据:系统平均ThinkTime(思考时间)为10秒;平均响应时间RT为2秒;系统成功处理的总业务数为6000次;测试持续时间为30分钟;在测试过程中,监控到CPU利用率为75%,磁盘利用率为40%。【问题1】(6分)请计算该系统的吞吐量。请列出计算公式和计算过程,结果保留两位小数。【问题2】(6分)请计算该系统的平均并发用户数。请列出计算公式和计算过程,结果保留整数。【问题3】(5分)根据Little定律,请解释吞吐量、平均并发用户数和平均响应时间之间的关系,并写出公式。【问题4】(8分)在测试结果分析中,发现随着并发用户数的增加,响应时间呈非线性急剧增长,而CPU利用率维持在80%左右不再上升,磁盘I/O利用率达到95%。请分析可能造成该性能瓶颈的原因,并提出两条优化建议。试题四:Web安全测试与缺陷分析某企业内部办公系统(OA系统)最近完成了升级,包含员工信息管理、文档上传下载、工资查询等功能。作为测试工程师,你需要对该系统进行安全测试。【问题1】(10分)针对“员工登录”模块,请列举至少5种常见的Web安全漏洞,并分别说明针对该模块进行渗透测试的基本思路或测试方法。【问题2】(5分)在“文档上传”功能测试中,上传一个名为`test.jpg.php`的文件(内容为PHPWebShell代码),服务器将其保存在服务器的`/uploads/`目录下,且可以通过URL直接访问。请指出这是什么安全漏洞,并简述其危害。【问题3】(10分)在测试“工资查询”功能时,发现URL地址栏中包含参数`emp_id`。当用户A登录后,将URL中的`emp_id`修改为用户B的ID,成功查看了用户B的工资信息。请填写一份缺陷报告,内容应包括:缺陷ID(自拟)、缺陷标题、严重级别、优先级、前置条件、复现步骤、预期结果、实际结果。试题五:自动化测试与代码审查某团队正在为移动端APP开发自动化测试脚本,使用Python语言结合Appium框架。被测应用是一个天气预报APP,主要测试“搜索城市”功能。【代码片段】```python#search_weather.pyfromappiumimportwebdriverimportunittestimporttimeclassWeatherSearchTest(unittest.TestCase):defsetUp(self):desired_caps={}desired_caps['platformName']='Android'desired_caps['deviceName']='Emulator'desired_caps['appPackage']='com.example.weather'desired_caps['appActivity']='.MainActivity'self.driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)deftest_search_city(self):#定位搜索框并输入search_box=self.driver.find_element_by_id('com.example.weather:id/search_input')search_box.send_keys("北京")#点击搜索按钮search_btn=self.driver.find_element_by_id('com.example.weather:id/search_btn')search_btn.click()#验证结果time.sleep(2)result_text=self.driver.find_element_by_id('com.example.weather:id/result_text').text#(A)此处缺少断言deftearDown(self):self.driver.quit()if__name__=='__main__':unittest.main()```【问题1】(8分)上述代码片段中存在若干问题,请指出其中3处问题(包括代码逻辑、异常处理或代码规范方面),并给出修改建议。【问题2】(7分)请完善代码片段中标记为`(A)`处的断言代码,要求验证搜索结果中包含“北京”字样,并给出完整的Python语句。【问题3】(10分)除了功能自动化测试,该团队还引入了SonarQube进行静态代码质量分析。请简述静态代码分析的主要作用,并列出SonarQube扫描出的常见的“代码坏味道”或“代码规范问题”至少4种。答案与解析试题一答案与解析【问题1】控制流图如下:节点1:入口节点2:if(sales<0)节点3:return-1节点4:if(years<0)节点5:return-2节点6:if(sales>10000)节点7:if(years>5)节点8:bonus=sales*0.20节点9:bonus=sales*0.15节点10:if(level>=3)节点11:bonus=sales*0.10节点12:bonus=sales*0.05节点13:if(bonus>5000)节点14:bonus=5000节点15:returnbonus流图连接关系:1->22->3(True)2->4(False)3->15(Exit)4->5(True)4->6(False)5->15(Exit)6->7(True)6->10(False)7->8(True)7->9(False)8->139->1310->11(True)10->12(False)11->1312->1313->14(True)13->15(False)14->15【问题2】圈复杂度计算公式(基于流图):V其中:E为流图中的边数,N为流图中的节点数,P为连通分量数(本题P=1)。统计流图:节点数N=15边数E=18(1-2,2-3,2-4,3-15,4-5,4-6,5-15,6-7,6-10,7-8,7-9,8-13,9-13,10-11,10-12,11-13,12-13,13-14,13-15,14-15)修正边数统计:1->2,2->3,2->4,3->15,4->5,4->6,5->15,6->7,6->10,7->8,7->9,8->13,9->13,10->11,10->12,11->13,12->13,13->14,13->15,14->15。共20条边。V或者使用判定节点法:判定节点数为`sales<0`,`years<0`,`sales>10000`,`years>5`,`level>=3`,`bonus>5000`,共6个。V答案:7【问题3】语句覆盖要求程序中每个可执行语句至少被执行一次。路径分析:路径1:1->2->4->6->7->8->13->15(覆盖sales>10000,years>5分支)路径2:1->2->4->6->10->12->13->15(覆盖sales<=10000,level<3分支)用例1:sales=20000,years=6,level=1预期输出:4000(20000*0.2=4000)覆盖语句:1,2,4,6,7,8,13,15用例2:sales=5000,years=1,level=1预期输出:250(5000*0.05=250)覆盖语句:1,2,4,6,10,12,13,15(注:由于return语句是互斥的,需要覆盖所有return路径,但通常语句覆盖主要关注逻辑体。上述用例已覆盖主要逻辑体。若需严格覆盖所有return,需补充sales<0或years<0的用例,但通常题目隐含有效输入。这里提供覆盖主要计算逻辑的最小集合)。优化后的最小集合(覆盖所有return及逻辑):1.(sales=-1,years=1,level=1)->-12.(sales=1,years=-1,level=1)->-23.(sales=20000,years=6,level=1)->40004.(sales=100,years=1,level=1)->5【问题4】判定覆盖(分支覆盖)要求每个判定取True和False至少一次。条件覆盖要求每个判定中的每个原子条件取True和False至少一次。判定点:D1:sales<0D2:years<0D3:sales>10000D4:years>5D5:level>=3D6:bonus>5000设计用例:1.sales=-1,years=1,level=1(D1:T,D2:F,D3:F,D5:F)->-12.sales=1,years=-1,level=1(D1:F,D2:T,D3:F,D5:F)->-23.sales=20000,years=6,level=1(D1:F,D2:F,D3:T,D4:T,D5:F,D6视结果而定)->40004.sales=5000,years=1,level=4(D1:F,D2:F,D3:F,D4:F,D5:T)->5005.sales=50000,years=1,level=1(D3:T,D4:F,D5:F,计算bonus=7500->D6:T)->5000为了同时满足条件覆盖:sales:需要<0,>=0;需要>10000,<=10000years:需要<0,>=0;需要>5,<=5level:需要>=3,<3bonus:需要>5000,<=5000综合用例:1.(sales=-1,years=1,level=1)->覆盖sales<0(T),sales>10000(F),years<0(F),years>5(不执行),level<3(F).输出-1.2.(sales=1,years=-1,level=1)->覆盖sales<0(F),years<0(T).输出-2.3.(sales=20000,years=6,level=1)->覆盖sales>10000(T),years>5(T),level<3(F).Bonus=4000(<=5000).输出4000.4.(sales=5000,years=1,level=4)->覆盖sales>10000(F),years>5(F),level>=3(T).Bonus=500(<=5000).输出500.5.(sales=50000,years=1,level=1)->覆盖sales>10000(T),years>5(F),level<3(F).Bonus=7500(>5000).输出5000.试题二答案与解析【问题1】等价类划分表:输入条件有效等价类无效等价类用户类型新用户(1)非新非老(4)空值(5)特殊字符(6)用户等级1-5(2)<1(7)>5(8)非数字(9)订单金额0.00-10000.00(3)<0.00(10)>10000.00(11)非数字(12)【问题2】无效等价类测试用例:1.用户类型="VIP",用户等级=3,订单金额=200(覆盖4)2.用户类型="",用户等级=3,订单金额=200(覆盖5)3.用户类型="@#$",用户等级=3,订单金额=200(覆盖6)4.用户类型="老用户",用户等级=0,订单金额=200(覆盖7)5.用户类型="老用户",用户等级=6,订单金额=200(覆盖8)6.用户类型="老用户",用户等级="a",订单金额=200(覆盖9)7.用户类型="老用户",用户等级=3,订单金额=-10(覆盖10)8.用户类型="老用户",用户等级=3,订单金额=10001(覆盖11)9.用户类型="老用户",用户等级=3,订单金额="abc"(覆盖12)【问题3】边界值分析(针对用户等级和订单金额):变量:用户等级(1-5)边界点:0,1,2,5,6变量:订单金额(0.00-10000.00)边界点:-0.01,0.00,0.01,9999.99,10000.00,10000.01测试用例(假设用户类型为“老用户”):1.(用户等级=1,订单金额=200)->边界点12.(用户等级=5,订单金额=200)->边界点53.(用户等级=0,订单金额=200)->无效边界4.(用户等级=6,订单金额=200)->无效边界5.(用户等级=3,订单金额=0.00)->边界点0.006.(用户等级=3,订单金额=0.01)->边界点0.017.(用户等级=3,订单金额=10000.00)->边界点10000.008.(用户等级=3,订单金额=10000.01)->无效边界试题三答案与解析【问题1】吞吐量计算公式:T计算过程:总业务数=6000次总时间=30分钟=1800秒T答案:3.33次/秒【问题2】平均并发用户数计算公式:C或者使用:C计算过程:吞吐量=3.33(次/秒)平均响应时间RT=2秒思考时间T=10秒C答案:40(约40个并发用户)【问题3】Little定律描述了系统中处于平均稳定状态的客户数量、吞吐率和客户在系统中花费的平均时间之间的关系。公式:L其中:L:系统中的平均请求数量(平均并发用户数)λ:系统的吞吐量(单位时间处理的请求数)W:请求在系统中的平均等待时间(平均响应时间)在本题语境下,考虑思考时间,公式变形为:N即:平均并发用户数=吞吐量×(平均响应时间+思考时间)【问题4】瓶颈分析:现象:响应时间急剧增长,CPU利用率不再上升(饱和),磁盘I/O利用率极高(95%)。结论:系统的性能瓶颈主要在磁盘I/O子系统。磁盘读写速度跟不上处理请求的需求,导致请求在队列中堆积,从而增加了响应时间。CPU虽然利用率高,但主要是在等待I/O操作完成,而非纯粹的计算密集型任务。优化建议:1.增加缓存:在应用层或数据库层引入缓存机制(如Redis,Memcached),减少对磁盘的直接随机读取。2.磁盘升级或RAID优化:使用更快的SSD硬盘替代机械硬盘,或者配置RAID0/RAID10阵列以提高磁盘的读写速度和吞吐量。3.数据库索引优化:检查SQL语句,优化索引,减少磁盘扫描的数据量。4.异步处理:对于非实时的写操作,可以考虑使用消息队列进行异步写入,平滑磁盘I/O压力。试题四答案与解析【问题1】常见Web安全漏洞及测试思路:1.SQL注入思路:在输入框(如用户名、密码)中输入`'or1=1--`等特殊字符,查看是否能绕过认证或报错泄露数据库信息。2.跨站脚本攻击(XSS)思路:在输入框中输入`<script>alert(1)</script>`,查看页面是否执行弹窗,或存储后查看输出是否被转义。3.跨站请求伪造(CSRF)思路:构造一个伪造的HTML页面,包含指向目标站点的转账/修改密码请求,诱导已登录用户访问,观察操作是否成功。4.暴力破解思路:使用工具(如BurpSuiteIntruder)对登录接口进行字典攻击,尝试大量用户名和密码组合,观察响应状态码或内容变化。5.不安全的直接对象引用思路:访问URL中的参数(如`user_id=100`),修改为`101`,查看是否能访问他人数据。6.敏感信息泄露思路:检查页面源代码、HTTP响应头、Cookie,查看是否包含明文密码、API密钥或详细的堆栈跟踪信息。【问题2】漏洞名称:文件上传漏洞危害:攻击者可以上传包含恶意代码(如WebShell、木马)的脚本文件(.php,.jsp,.asp等),并通过浏览器访问该文件,从而在服务器端执行任意系统命令。这可能导致服务器被完全控制、数据泄露、篡改网页或作为跳板攻击内网其他服务器。【问题3】缺陷报告:缺陷ID:BUG-2026-OA-001缺陷标题:工资查询模块存在越权访问漏洞(水平越权)严重级别:致命优先级:紧急前置条件:用户A已登录系统,且知道用户B的员工ID。复现步骤:1.使用用户A的账号密码登录OA系统。2.进入“工资查询”页面,记录当前URL,例如`http://oa.example/salary?emp_id=A001`。3.将URL中的`emp_id`参数值修改为用户B的ID(例如`B002`),即访问`http://oa.example/salary?emp_id=B002`。4.按下回车键发送请求。预期结果:系统应提示“无权访问他人工资信息”或自动跳转到错误页面,仅显示用户A自己的工资信息。实际结果:页面成功显示了用户B的详细工资信息,未进行权限校验。试题五答案与解析【问题1】代码中的问题及修改建议:1.缺少显式等待问题:代码中使用了`time.sleep(2)`,这是强制等待,效率低且不稳定。如果网络慢,2秒可能不够;如果网络快,则浪费时间。建议:使用WebDriverWait显式等待元素出现或可点击。例如:`WebDriverWait(self.driver,10).until(EC.presence_of_eleme
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年考研历史学学硕历史专业基础综合313真题(试卷+解析)
- 地税局个体工商户税收征管工作手册(标准版)
- 零售门店设计与顾客体验手册
- 2025-2026学年导弹标志教学设计
- 10.2事件的相互独立性教学设计-高一下学期数学人教A版(2019)必修第二册
- 2025-2026学年给你幸福教学设计
- 2025-2026学年空瓶换水问题教学设计
- 2025-2026学年DTNL教学设计感穿搭分享
- 2026年宜宾市翠屏区社区工作者招聘笔试参考题库及答案详解
- 2026年辽阳市白塔区事业编单位人员招聘考试参考试题及答案详解
- 初中英语首字母填空答题技巧详解(精心排版-可直接打印)
- 手术室建设标准
- 建筑摄影的表现手法(有大量例图)课件
- 低压电工答题技巧
- 中国中冶施工现场安全文明标准化手册
- 神木市朱盖塔煤矿矿山地质环境保护与土地复垦方案
- PLC控制柜出厂检测报告
- 干部人事档案盒侧签模板
- 2023年北京市实验动物上岗证培训考试题库完美精编版
- GB/T 5023.3-2008额定电压450/750 V及以下聚氯乙烯绝缘电缆第3部分:固定布线用无护套电缆
- GB/T 4657-2002中央党政机关、人民团体及其他机构代码
评论
0/150
提交评论