简答题:
1.测试和开发如何配合工作,即测试何时介入测试工作?
测试工作应该覆盖需求分析、概要设计、详细设计、编码等前期阶段,而不应该在系统开发初步完成后才开始。
2.软件测试的对象:正确的依据应该是需求规格说明书,而不是用户界面,因为界面实现的功能是否正确的理解和表达了用户需求为不可知,系统功能测试应该追溯到用户需求,针对界面进行功能测试是错误的。
3.缺陷管理的流程和责任:
(1) 开发工程师无权决定是否延期或者暂停修改某一缺陷;
(2) 测试工程师认可暂停修复缺陷的决定是不合理的;
(3) 测试工程师应该跟踪缺陷状态,直至确定修改后关闭缺陷,才是完成了测试任务;
(4)回归测试应该执行所有的用例,不是仅仅执行与该缺陷有关的用例.
(5) 产品发布前,应该对发现的缺陷进行评审;
(6) 应该分析缺陷修复情况之后才可以发布产品。
4.通信加密的目的是什么?通信加密测试的基本方法有哪些?
目的:保证数据在传输过程中数据的保密性(机密性)和一致性(完整性);方法:验证和侦听。
5.为防止未授权用户通过反复猜测口令获得VPN使用权,从用户口令管理和网站登录控制两方面说明可以釆取的应对措施?
用户口令管理和网站登录控制的基本措施如下:用户口令管理:口令长度、复杂度(特殊字符)、时效(定期更改);用户登录控制;多次登录延时、账户锁定、验证码。
6.软件测试质量包括哪些管理要素:测试过程(例如技术过程、管理过程、支持过程)、测试人员及组织、测试工作文档(例如测试计划、测试说明、测试用例、测试报告、问题报告)。
7.软件测试质量控制的主要方法:测试文档评审、测试活动审核、制定质量保证计划、采取背靠背测试。
8.企业衡量软件测试的质量经常采用的两个指标:测试用例覆盖率和缺陷修复率,说说这两个指标的概念。
测试用例覆盖率=测试需求对应数目/测试需求数目
缺陷修复率=累计关闭的缺陷数/累计打开的缺陷数
9.表单测试的主要测试内容
每个字段的验证(长度、格式和范围都符合要求);检查字段的缺省值;表单中的错误输入;如果有创建、删除、修改和查看表单,要进行测试;提交操作的完整性;
10.MVC模式的优点
可以提高可重复性、可维护性、降低耦合等优点
11.自动化测试的优势:提高测试质量、提高测试效率、提高测试覆盖率、执行手工测试不能完成的测试任务、更好地利用资源、增进测试人员与开发人员之间的合作伙伴关系。
12.常见的测试停止准则包括:测试超过了预定时间;执行了所有的测试用例,没有发现新的故障;采用特定的测试用例设计方案;查出某一预定数目的故障;单位时间内查出故障的数量少于预定值。
13.软件配置管理中,软件配置管理中有三个基线概念:功能基线、分配基线和产品基线。
14.设计有效的功能测试用例需要做到那几点?
•测试用例应该100%地覆盖测试业务需求。
•利用场景法模拟核心业务流程的正确执行。
•利用场景法设计测试用例时,往往是一个业务流程需要多条验证数据。
•利用边界值法设计测试用例,能够验证界面输入值的边界处理是否正确。
15.并发用户和在线用户的区别。
并发用户:指某一物理时刻同时向系统提交请求的用户。
在线用户:指在某段时间内访问系统的用户,这些用户并不一定同时向系统提交请求。
16.性能测试关键指标。
(1) 并发用户数。某一物理时刻同时向系统提交请求的用户数。
事务执行响应时间。是系统完成事务执行准备后所采集的时间戳和系统完成待执行事务后所采集的时间戳之间的时间间隔,是衡量特定类型应用事务性能的重要指标,标志了
(2) 用户执行一项操作大致需要多长时间。
(3) 交易执行吞吐量(trans/s)。每秒钟执行的业务数,或系统服务器每秒钟能够处理的交易数。
17.系统的安全防护体系包括的层次:实体安全(物理安全)、通信安全(网络安全)、平台安全(主机安全)、应用安全、数据安全、运行安全、管理安全。
18.服务器操作系统安全应从哪些方面进行评测?
a、是否关闭或下载了不必要的服务和程序;
b、是否存在不必要的账户;
c、权限设置是否合理;
d.安装相应的安全补丁程序的情况;
e、操作系统日志管理等。
19.安全日志应当记录哪些信息,在安全测试中应当检查安全日志的哪些方面?
日志应该记录所有用户访问系统的操作内容,包括登录用户名称、登录时间、浏览数据动作、修改数据动作、删除数据动作、退出时间和登录机器的IP等信息。
测试报告应对日志的完整性、正确性做出评价、以及系统是否提供了安全日志的智能分析能力,是否按照各种特征项进行日志统计。
20. 缺陷管理的流程和1R责:
(1) 开发工程师无权决定是否延期或者暂停修改某一缺陷;
(2) 测试工程师认可暂停修复缺陷的决定是不合理的;
(3) 测试工程师应该跟踪缺陷状态,直至确定修改后关闭缺陷,才是完成了测试任务;
(4)回归测试应该执行所有的用例,不是仅仅执行与该缺陷有关的用例;
(5) 产品发布前,应该对发现的缺陷进行评审;
(6) 应该分析缺陷修复情况之后才可以发布产品。
21.性能测试中负载测试与压力测试的目的。
负载测试模拟系统真实使用环境执行性能测试,考核系统在日常业务运行和高峰期运行期间的性能是否满足需求。
压力测试模拟系统的性能极限点执行性能测试,用来发现系统的性能瓶颈点。
简述负载压力测试的主要目的?
(1) 在真实环境下检测系统性能,评估系统性能以及服务等级的满足情况
(2) 预见系统负载压力承受力,在应用实际部署之前,评估系统性能
(3) 分析系统瓶颈、优化系统
22.指出应用服务器和数据库服务器性能评价的关键指标。
应用服务器关键指标:操作系统指标、缓存状况、连接池、执行队列等。
数据库服务器关键指标:操作系统指标、缓存命中率、数据库进程占用的CPU时间、数据库进程使用的内存量、锁资源使用情况。
23.性能测试的性能指标。
性能测试指标包括并发用户数、响应时间、吞吐量、资源利用率等。
24.通过入侵从而进行网页篡改的可能途径有哪些?这些途径各对应安全系统防护体系的哪个层次?
通过操作系统、网络服务、数据库等漏洞获得主机控制权威胁的是平台、操作系统和基本应用平台的安全,因此对应于平台安全;通过猜测或者破解密码获得管理员密码威胁的是系统数据的机密性和访问控制,因此对应于数据安全;而通过Web漏洞和设计缺陷进行攻击入侵威胁的是业务逻辑或者业务资源的安全,因此对应于应用安全。
25.针对网页被篡改的问题,从技术层面看有哪些防范措施?
(1) 给服务器打上最新的安全补丁程序
(2) 封闭未用但开放的网络服务端口
(3) 合理设计网站程序并编写安全代码
(4)设置复杂的管理员密码
(5) 设置合适的网站权限
(6) 安装专业的网站防火墙和入侵检测系统
26.现在出现了一些基于监测与恢复的页面防篡改系统,这类防篡改系统应具备哪些基本功能(网页防篡改系统的基本功能)?
答:自动监控、 自动备份和恢复、自动报警、区分合法更新与非法篡改。
27.简要叙述系统链接测试的主要测试内容
每个链接是否能够链接到目标页面;被链接的页面是否存在;是否存在孤立页面。
28.请设计一个测试用例,测试sql注入,并说明防止sql注入的方法。
设计测试用例:
【注:设计类似如下用例的一个即可,其中应包含SQL功能符号,使得该SQL语句变得不符合设计意图即可,例如,包含了"–"或“',DROP…”等】
参考用例1:
strUserName: Zhang1-- strPassword:San
【注:上述用例将使得该SQL语句变为:
SELECT * FROM Users WHERE User—Name = ‘Zhang’-- AND Password =,San*;】
参考用例2:
strUserName:Zhang’or ‘a’, = ‘a strPassword: San * or * ‘a’ =‘a
【注:上述用例将使得该SQL语句变为:
SELECT * FROM Users WHERE User_Name = ‘Zhang’ or ‘a’—a’ AND Password = ‘San’ or ‘a’-‘a’;】
防止SQL注入的方法主要有:拼接SQL之前对特殊符号进行转义,使其不作为SQL 语句的功能符号。
29.负载类型
系统可能的负载类型包括并发执行负载、疲劳强度负载以及大数据量负载。
30.瓶颈分析
当并发用户数过多时,检索响应时间不满足需求。这个问题的可能原因有三个,一是该模块程序没有采用合适的并发/并行策略,二是数据库本身的设计或者优化不够,三是服务器网络带宽不足。
当并发用户数过多时,CPU占用率不满足需求。这个问题的可能原因是服务器CPU本身性能不够或者程序没有采用合适的并发/并行策略。
瓶颈可能有:(1) 系统没有采用合适的并发/并行策略;(2) 数据库设计不足或者优化不够;(3) 服务器网络带宽不足;(4)服务器CPU性能不足。
31.Web应用的兼容性是测试的重要方面,主要包括:浏览器兼容性测试、操作系统兼容性测试、移动终端浏览测试、打印测试等。
32.简要叙述Web应用安全性测试应考虑哪些方面?
Web应用安全体系测试可以从部署与基础结构、输入验证、身份验证、授权、配置管理、敏感数据、会话管理、加密、参数操作、异常管理、审核和日志记录等多个方面进行。
33.以通过SSL进行访问,没有登录的用户不能访问应用内部的内容,设计测试用例以测试Web应用的安全性。
SQL注入测试用例:用户名:name’or’al=’a,密码:password’or’a’=‘a;或者用户名:name’–,密码:password。(name为系统内有或者无的用户名)。
测试SSL:某链接URL的https://换成http://。
内容访问:https://domain/foo/bar/content.doc;(注:域名和路径为应用的域名和路径)。内部URL拷贝:将登录后的某URL拷贝出来,关闭浏览器并重启后将URL粘贴在地址栏访问内部内容。
34.对用户权限控制的测试应包含哪两个主要方面?每个方面具体的测试内容又有哪些?
(1) 对用户权限控制体系合理性的评价,其具体测试内容包括:
•是否采用系统管理员、业务领导、操作人员三级分离的管理模式
•用户名称是否具有唯一性,口令的强度及口令存储的位置和加密强度等
(2) 对用户权限分配合理性的评价,其具体测试内容包括:
•用户权限系统本身权限分配的细致程度
•特定权限用户访问系统功能的能力测试
35.测试过程中需对该访问控制系统进行模拟攻击试验,以验证其对企业资源非授权访问的防范能力。请给出三种针对该系统的可能攻击,并简要说明模拟攻击的基本原理?
冒充攻击:攻击者控制企业某台主机,发现其中系统服务中可利用的用户账号,进行口令猜测,从而假装成特定用户,对企业资源进行非法访问。
重演攻击(或重放攻击):攻击者通过截获含有身份鉴别信息或授权请求的有效消息,将该消息进行重演,以达到鉴别自身或获得授权的目的,实现对企业资源的访问。
服务拒绝攻击:攻击者通过向认证服务或授权服务发送大量虚假请求,占用系统带宽并造成系统关键服务繁忙,从而使得认证授权服务功能不能正常执行,产生服务拒绝。
内部攻击:不具有相应权限的系统合法用户以非授权方式进行动作,如截获并存储其他业务部门的网络数据流,或对系统访问控制管理信息进行攻击以获得他人权限等。
36.软件系统安全审计功能的主要测试点
对该系统安全审计功能设计的测试点应包括:
•能否进行系统数据收集,统一存储,集中进行安全审计
•是否支持基于PKI的应用审计
•是否支持基于XML等的审计数据采集协议
•是否提供灵活的自定义审计规则
37.软件可靠性测试的基本过程和步骤
38.说明软件可靠性测试的目的,并说明狭义和广义软件可靠性测试的区别。
件可靠性测试的目的:
(1) 发现软件系统在需求、设计、编码、测试、实施等方面的各种缺陷;
(2) 为软件的使用和维护提供可靠性数据;
(3) 确认软件是否达到可靠性的定量要求。
广义的软件可靠性测试是指为了最终评价软件系统的可靠性而运用建模、统计、试验、分析、评价等一系列手段对软件系统实施的一种测试。
狭义的软件可靠性测试是指为了获取可靠性数据,按预先设定的测试用例,在软件的预期使用环境中,对软件实施的一种测试。
39.可靠性目标是指客户对软件性能满意程度的期望。通常采用失效严重程度、可靠度、故障强度、平均无故障时间等指标来描述。请分别解释其含义。
失效严重程度,是对用户具有相同程度影响的失效集合,常见的是按照对成本影响、对系统能力的影响等标准划分软件失效的严重程度类。
可靠度是指软件系统在规定的条件下,规定的时间内不发生失效的概率。
故障强度是指单位时间软件系统出现失效的概率。
平均无故障时间是软件运行后,到下一次出现失效的平均时间。
40.解释软件可靠性的含义及影响软件可靠性的主要因素.
软件可靠性是在规定的条件下,在规定的时间内,软件不引起系统失效的概率。影响软件可靠性的主要因素包括:运行剖面、软件规模、软件内部结构、软件的开发方法和开发环境、软件的可靠性投入等。
41.可靠性评价时,经常使用的定量指标包括失效概率、可靠度和平均无失效时间(MTTF),请分别解释其含义?
失效概率是软件从运行开始到某一时刻t为止,出现失效的概率;
可靠度是软件系统在规定的条件下,规定的时间内不发生失效的概率;
平均无失效时间指软件运行后,到下一次出现失效的平均时间。
42.设计要求其可靠度为1000小时无失效概率99.99%。经实测得出其失效概率函数F(1000)=0.0012,问该软件是否符合设计可靠性要求,并说明原因。
不符合可靠度要求。
软件可靠度R(t)和软件失效概率之间的关系为R(t)=1-F(t)。R(1000)=1-F(1000)=1-0.0012=0.9988=99.88%,99.88%<99.99%,因此不符合设计软件可靠度要求。
43.本问题考查故障恢复与容灾备份措施测试内容。
对于故障恢复与容灾备份措施,应从以下三个方面进行测试:
①故障恢复:测试整个ERP系统是否存在单点故障;任何一台设备失效时,能否按照预定义的规则实现快速切换;是否采用磁盘镜像技术,实现主机系统到磁盘系统的高速连接。
②数据备份:ERP系统关键业务是否具备必要的双机热备或磁盘镜像等热备份机制;对于整个ERP业务,是否提供外部存储器备份和恢复机制,保证系统能够根据备份策略恢复到指定时间的状态。
③容灾备份:ERP系统是否建立异地容灾备份中心,当主中心发生灾难性事件时,可由备份中心接管所有务;备份中心是否有足够的带宽确保与主中心的数据同步,是否有足够处理能力来接管主中心的业务,能否确保快速可靠地与主中心的应用切换。
44.数据库权限测试需要测试什么内容,并进行简要说明。
数据库账号保护及权限设置相关的常规测试外,还必须对敏感数据加密保护及对数据库访问方式进行相应测试。
敏感数据加密保护和数据库访问方式的测试内容为:
①敏感数据的加密保护:由于ERP系统的用户权限和口令存储在数据库午,因此需要测试相应敏感数据是否采用加密算法进行加密保护。
②数据库访问方式测试:是否为不同应用系统或业务设置不同的专门用户用于数据库访问,应杜绝在代码中使用超级用户及默认密码对数据库进行访问。
45.安全防护策略是软件系统对抗攻击的主要手段,常见的安全防护策略有以四种:
①安全日志:安全日志用于记录非法用户的登录名称、操作时间及内容等信息,以便发现问题并提出解决措施;安全日志仅记录相关信息,不对非法行为做出主动反应,属于被动防护的策略;
②入侵检测系统:入侵检测系统是一种主动的网络安全防护措施,从系统内部或各种网络资源中主动采集信息,从中分析可能的网络入侵或攻击,通常入侵检测系统还应对入侵行为做出紧急响应;
③漏洞扫描:漏洞扫描是对软件系统及网络系统进行与安全相关的检测,以找出安全隐患和可被黑客利用的漏洞;
④隔离防护:隔离防护是将系统中的安全部分与非安全部分进行隔离的措施,主要的技术手段有防火墙和隔离网闸等,其中防火墙主要用于内网和外网的逻辑隔离,而网闸则主要用于实现内网和外网的物理隔离。
46.防火墙或入侵检测系统的安全测试的测试点有哪些?
针对防火墙的测试点:
(1) 是否支持交换和路由两种工作模式;
(2) 是否支持对FTP、HTTP、SMTP等服务类型的访问控制;
(3) 是否考虑防火墙的冗余设计;
(4) 是否支持对日志的统计分析功能,日志是否可存储在本地或网络数据库中;
(5) 对防火墙或受保护内网的非法攻击,是否提供多种告警方式和多种级别的告警。
针对入侵检测系统的测试点:
①能否在检测到入侵事件时,自动执行切断服务、记录入侵过程、报瞥等动作;
②是否支持攻击特征信息的集中式发布和攻击取证信息的分布式上载;
③能否提供多种方式对监视引擎和检测特征进行定期更新;
④内置的网络能否使用状态监控工具或网络监听工具。
47.web和微信小程序中提交表单,输入测试需要测试哪几个方面的内容?
表单输入测试需要验证:输入域、错误输入是否有错误提示、必填项和选填项
48.表单输入内容可能传到后台引起安全问题?如何设计测试用例进行测试?
Web应用系统在某些情况下,接收页面上传的内容,并作为新页面的内容,若:输入的内容中输入某些功能符号可能会传到后台引起安全问题。在测试设计时,在输入域包含HTML, 如:<HTML>,或脚本,如:<SCRIPT>,或 SQL功能符号,如:’―、2020’OR‘1’= ‘ 1 等,以测试是否存在XSS脚本和SQL注入等安全问题。
版权归原作者 面带微笑向前走 所有, 如有侵权,请联系我们删除。