软件测试常考面试题-软件测试面试宝典(2)

发表于:2019-07-24来源:CSDN作者:MJ813点击数: 标签:面试题
所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需

所有用户在一个客户端上,不必考虑分布式管理的问题;而用户分布在不同的客户端上,需要考虑使用控制器来整体调配不同客户机上的用户。同时,还需要给予相应的权限配置和防火墙设置。
5.试述软件的概念和特点?软件复用的含义?构件包括哪些?
  • 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序、文档的完整集合。
  • 软件复用(Software Reuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开发经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
  • 可以被复用的软件成分一般称作可复用构件
6.软件生存周期及其模型是什么?
软件生存周期是软件开发全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,直到最后由于缺少维护费用而逐渐消亡。这样的一个过程,称为"生命周期模型"(Life Cycle Model)。
7.什么是软件测试软件测试的目的与原则
  • 使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
  • 软件测试的目的:
    测试是程序的执行过程,目的在于发现错误
    确保产品满足用户需求(功能,性能,兼容性等)
    确保产品是健壮的和适应用户环境的
  • 软件测试的原则:
    教材的说法:
    软件测试应尽早执行,并贯穿于整个软件生命周期
    软件测试应追溯需求
    测试应由第三方来构造
    穷举测试是不可能的,要遵循 Good-enough 原则
    必须确定预期输出(或结果)
    必须彻底检查每个测试结果
    关注缺陷的修复
8.软件配置管理的作用?软件配置包括什么?
软件配置管理作为软件开发过程的必要环节和软件开发管理的基础,贯穿整个软件生命周期,同时对软件开发过程的宏观管理即项目管理也有重要的支持作用。一个软件开发组织真正有效的实施软件配置管理,将会使软件开发过程有更好的可预测性,使系统具有可重复性,大大提高软件组织的竞争力。
软件配置包括如下内容:
配置项识别
工作空间管理
版本控制
变更控制
状态报告
配置审计
9.什么是软件质量?
软件质量:软件产品的特性可以满足用户的功能、性能需求的能力。
10.目前主要的测试用例设计方法是什么?
白盒测试:
逻辑覆盖
循环覆盖
基本路径覆盖
黑盒测试:
边界值分析法
等价类划分
错误猜测法
因果图法
状态图法
随机测试
场景法
11.软件的安全性应从哪几个方面 去测试?
软件安全性测试包括程序、数据库安全性测试。根据系统安全指标不同测试策略也不同。
  • 用户认证安全的测试要考虑问题:
    明确区分系统中不同用户权限
    系统中会不会出现用户冲突
    系统会不会因用户的权限的改变造成混乱
  • 用户登陆密码是否是可见、可复制
  • 是否可以通过绝对途径登陆系统(拷贝用户登陆后的链接直接进入系统)
  • 用户退出系统后是否删除了所有鉴权标记,是否可以使用后退键而不通过输入口令进入系统
  • 系统网络安全的测试要考虑问题
    测试采取的防护措施是否正确装配好,有关系统的补丁是否打上
    模拟非授权攻击,看防护系统是否坚固
    采用成熟的网络漏洞检查工具检查系统相关漏洞(即用最专业的黑客攻击工具攻击试一下,现在最常用的是 NBSI 系列和 IPhacker IP )
    采用各种木马检查工具检查系统木马情况
    采用各种防外挂工具检查系统各组程序的外挂漏洞
  • 数据库安全考虑问题:
    系统数据是否机密(比如对银行系统,这一点就特别重要,一般的网站就没有太高要求)

    原文转自:https://blog.csdn.net/mj813/article/details/52451355