你了解软件测试吗?

日常开发中,程序员可能对 Bug 并不陌生,如果仅仅依赖测试人员给出反馈,无疑隔靴挠痒。如何才能保证高质量代码,这就需要我们了解测试,而不是只会人肉测试。

一、软件都有多少种分类/h4>

根据功能的不同,电脑软件可以粗略地分成四个层次:

1.最贴近电脑硬件的是一些小巧的软件。它们实现一些最基本的功能,通常“固化”在只读存储器芯片中,因此称为固件。
2.系统软件包括操作系统和编译器软件等。系统软件和硬件一起提供一个“平台”。它们管理和优化电脑硬件资源的使用。
3.支持软件。包括图形用户界面、软件开发工具、软件评测工具、数据库管理系统、中间件等。
4.应用软件种类最多,包括办公软件、电子商务软件、通信软件、行业软件,游戏软件等等。

三、请你分别画出 OSI 的七层 络结构图和 TCP/IP 的四层结构图

OSI 七层 络结构图,由上至下:
应用层-表示层-会话层-传输层- 络层-数据链路层-物理层

TCP/IP 的四层结构图
应用层-传输层-互联层-链路层

四、关于自动化测试工具

  • 功能测试工具:QTP;
  • 性能测试工具:LoadRunner;
  • 测试管理工具:QC Mantis缺陷跟踪工具。

六、系统测试的策略有

系统测试的策略有很多种的,有性能测试、负载测试、强度测试、易用性测试、安全测试、配置测试、安装测试、文档测试、故障恢复测试、用户界面测试、恢复测试、分布测试、可用性测试等15 种方法。

七、设计测试用例时应该考虑哪些方面,即不同的测试用例针对那些方面进行测试

设计测试用例时需要注意的是,除了对整体流程及功能注意外,还要注意强度测试、性能测试、压力测试、边界值测试、稳定性测试、安全性测试等多方面。(测试用例需要考虑的四个基本要素是输入、输出、操作和测试环境;另外,测试用例需要考虑的是测试类型(功能、性能、安全……),这部分可以参照TP做答。此外,还需要考虑用例的重要性和优先级)

八、软件验收测试的合格通过准则

A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。
B.所有测试项没有残余一级、二级和三级错误。
C.立项审批表、需求分析文档、设计文档和编码实现一致。

十、一套完整的测试应该由哪些阶段组成

可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、验收测试

十二、黑盒测试、白盒测试以及单元测试、集成测试、系统测试、验收测试的区别与联系

这些测试的范围正好是逐步递增的关系,但是测试的人员角色是不同的。

黑盒测试、白盒测试、单元测试:开发人员分在不同的开发阶段要做的事情。
黑盒测试、集成测试、系统测试:测试人员在测试周期内级层做的工作。
验收测试:一般是在用户方做的工作。

十四、做好测试计划的关键是什么/h4>

1.明确测试的目标,增强测试计划的实用性—测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具具有较高的实用性,便于使用,生成的测试结果直观准确。
2.坚持 “5W” 规则,明确内容与过程 “5W” 规则指:what,why,when,where,how ;用例5W规则创建软件测试计划,可帮助测试团队理解测试目的,明确测试范围和内容,确定测试开始和结束日期,指出测试的方法和工具,给出测试文档和软件存放位置
3.采用评审和更新机制,保证测试计划满足实际需求。

十六、LoadRunner 分为哪三个模块/h4>
  • Virtual User Generator:用于录制脚步
  • Mercury LoadRunner Controller:用于创建、运行和监控场景
  • Mercury LoadRunner Analysis:用于分析测试结果

十七、 络七层协仪具体

  • 应用层:与其他计算机进行通讯的一个应用,他是应对应用程序的通信服务。示例:NFS,SMTP
  • 表示层:主要功能是定义数据格式及加密。示例:加密。ASCII 等.
  • 会话层:它定义了如何开始,控制和结束一个会话,包括对多个双向消息的控制和管理。示例:RPC,SQL
  • 传输层:功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用。
  • 络层:对端到端的包传输进行定义,它定义了能够表示所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。
  • 数据链路层:定义了在单个链路上如何传输数据。
  • 物理层:常用多个规范完成对所有细节的定义。

十八、BIOS, Fat, IDE, Sata, SCSI, Ntfs windows NT

  • BIOS 基本输入输出系统
  • Fat 文件配置表
  • IDE 集成开发环境
  • Sata 串行高级技术附件
  • SCSI 小型计算机系统接口
  • Ntfs windows NT 环境的文件系统

十九、负载测试、容量测试、强度测试的区别

  • 负载测试:通过在被测系统上不断增加压力,直到性能指标达到极根。
  • 容量测试:可以看作系统性能指标中一个特定环境下的一个特定性能指标,即设定的界限或极限值。
  • 强度测试:主要是为了检查程序对异常情况的抵抗能力。

二十、测试用例与测试脚本

  • 测试脚本是用某一计算机高级语言记录用户对软件操作的步骤。主要用作自动测试。
  • 测试用例主要用作手工测试。在实际的测试工作中,两者是互补的关系。

二十一、谈谈你对 和 的认识

两者都是质量管理体系,ISO是通用的质量管理体系,全而不专,CMM是专业的软件质量体系。

二十三、性能测试工作

性能测试类型包括负载测试,强度测试,容量测试等。

  • 负载测试:负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。
  • 强度测试: 强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况
  • 容量测试:确定系统可处理同时在线的最大用户数

在 站流量逐渐加大的情况下,开始考虑做性能测试了,首先要写好性能测试计划,根据运营数据得出流量最大的页面(如果是第一次的话,一般是首页,下载页,个人帐户页流量最大,而且以某种百分比)。

二十四、Web服务器指标指标

  • Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;
  • Successful Rounds:成功的请求;
  • Failed Rounds :失败的请求;
  • Successful Hits :成功的点击次数;
  • Failed Hits :失败的点击次数;
  • Hits Per Second :每秒点击次数;
  • Successful Hits Per Second :每秒成功的点击次数;
  • Failed Hits Per Second :每秒失败的点击次数;
  • Attempted Connections :尝试链接数。

二十六、在频繁的版本发布中,如何回归测试/h4>

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。

自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。

在渐进和快速迭代开发中,新版本的连续发布使回归测试进行的更加频繁,而在极端编程方法中,更是要求每天都进行若干次回归测试。因此,通过选择正确的回归测试策略来改进回归测试的效率和有效性是非常有意义的。

(1)回归测试是指重复以前的全部或部分的相同测试。
(2)新加入测试的模组,可能对其他模组产生副作用,故须进行某些程度的回归测试。
(3)回归测试的重心,以关键性模组为核心。

二十七、对 RUP,CMM,CMMI,XP,PSP,TSP 的认识

  • RUP(Rational Unified Process,统一软件开发过程)是一个面向对象且基于 络的程序开发方法论。
  • CMM(Capability Maturity Model)指能力成熟度模型。
  • CMMI(Capability Maturity Model Integration)指能力成熟度模型集成。
  • XP 电脑操作系统。
  • PSP(PlayStation Portable)掌上游戏机。
  • TSP(Team Software Process)团队软件过程,是为开发软件产品的开发团队提供指导,侧重于帮助开发团队其质量和生产效率,以使其更好的满足成本及进度的目标

二十八、缺陷等级应如何划分

不同公司对缺陷的等级划分有所区别,一般遵循以下原则:

极高:在测试过程中出现死机,系统崩溃、数据丢失,功能没有实现等此类缺陷的级别。
高:此类缺陷导致系统功能不稳定,或功能实现错误,流程错误等。
中:校验错误,罕见故障,错别字等不会影响系统功能,但会影响用户易用性等的错误。
低:对系统没有影响的一些小问题。

三十、验收测试包括哪三种类型

Alpha测试 Beta测试 UAT–User Acceptance Testing(用户可接受性测试)

三十二、单元测试的策略有哪些/h4>

逻辑覆盖、循环覆盖、同行评审、桌前检查、代码走查、代码评审、景泰数据流分析

三十四、面向对象的测试用例设计有几种方法,如何实现/h4>

软件测试分为黑盒测试和白盒测试。

  • 黑盒测试称驱动测试或功能测试,主要有:等价类划法,边界值划分法,错误推断法,因果图法,场景法.
  • 白盒测试主要有:桌面走查,代码走查,代码审查.

三十六、什么是冒烟测试/h4>

冒烟测试是对软件的基本功能进行测试,测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本的功能正常,保证软件系统能跑得起来,可以进行后续的正式测试工作,如果最基本的测试都有问题,那么其他测试也就没办法进行

三十七、QA 和测试的区别

QA 关注的重点不仅仅是质量,而且是整个软件过程,保证的首先是过程和体系。而测试通过一系列活动,给 QA 人员提供尽可能有效的信息和数据,是他们能够发现过程上的异常或者制度上的不妥之处。

  • 共同之处:QA 和测试的目的一样,都是尽可能的保证最终发布的产品更符合客户的需求,尽可能的没有 bug。
  • 不同之处:QA 关注的是整个软件过程,测试人员则是通过设计、执行用例等方法去发现错误,关注的是最终质量。

三十八、 络攻击常用的手段

  • 口令入侵
  • 放置特洛伊木马程序
  • WWW 欺骗技术
  • 电子邮件攻击
  • 通过一个节点攻击其他节点
  • 络监听
  • 利用黑客软件攻击
  • 利用安全漏洞攻击
  • 端口扫描攻击

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年10月2日
下一篇 2017年10月2日

相关推荐