为了账号安全,请及时绑定邮箱和手机立即绑定

软件测试基础-概念篇

城下秋草 软件测试工程师
难度入门
时长 3小时 2分
学习人数
综合评分9.57
110人评价 查看评价
9.8 内容实用
9.5 简洁易懂
9.4 逻辑清晰
  • 文档测试:针对软件产品的交付品,配套的文档类部件的测试。如用户手册,使用说明、用户帮助文档等。

    文档测试关注要点:完整性、正确性、一致性、易理解性、易浏览性


    可靠性测试:软件的可靠性和硬件的可靠性

    易用性测试:测试用户软件时是否感觉方便,是否能保证用户体验的测试类型


    本地化测试:针对软件的本地化版本实施的针对性测试

    本地化主要测试内容:

    1.语言,书写习惯

    2.时区。日期格式、货币

    3.当地风俗、法律法规

    4.政治敏感内容


    部署测试:也称安装测试,主要验证系统部署过程,并确保软件经过安装测试后可以正常使用

    部署测试的主要测试内容:

    1.在不同环境下的部署验证

    2.参照部署文档执行,过程的合理、正确性

    3.基础数据


    无障碍性测试:也称可访问性测试,指软件需要提供便于特殊人群使用的功能,包括视障、听障、老年人、身体残疾用户等,无障碍测试则是针对这部分功能的测试。


    查看全部
  • 3-2 软件测试类型 性能测试


    负载测试:在测试过程中,逐步的增加负载,来观察系统的表现,最终确定出系统在正常的指标范围下的最大负载。

    压力测试:测试系统在极限情况下的压力情况,最终系统字什么样的压力环境下会导致失效,不能正常运行,确定出我们这个系统所能承受的最大极限。

    稳定性测试:一般是以稍大于正常业务量的负载进行持续的、长时间的测试,比如:24*5,连续5天的对这个系统进行24小时的施加压力,以确定系统在较长时间的运行情况下,我们这个系统地稳定性情况。


    性能指标:

    并发用户数VU,同时访问系统的用户数量;

    每秒事务数TPS,每秒系统处理业务的数量;

    系统响应时间;

    设备性能,CPU等


    性能测试工具:LoadRunner ,Silkperformer , Jmeter(java开源的有效的测试工具) ,WebLoad , Apache Bench, LoadUI(专门针对http接口的性能测试)


    静态性能评估:开发Web应用时,基于一系列Web应用页面性能的最佳实践队Web应用的页面进行静态分析,并给出评估结果的性能分析方法。

    评估的标准/工具(YSlow,PageSpeed)


    下面博主以chrome浏览器为例,演示了这两个插件。


    应用性能管理(APM):

    提供对系统的实时监控以实现性能管理、故障管理的解决方案。


    下面博主演示了听云公司的官网上的产品——听云server的使用。


    查看全部
  • 基于模型的测试-MBT 它的测试用例是从一个模型中导出所得,这个模型描述了被测系统的某些方面,通常是功能部分。 模型:对需求功能点建模 https://blogs.msdn.microsoft.com/sechina/2009/11/18/123/ 主要的MBT工具 Spec Explorer( Microsoft ) GraphWalker( OpenSource ) http://graphwalker.github.io/ Tcases( OpenSource ) https://github.com/Cornutum/tcases modeljunit( OpenSource ) http://www.cs.waikato.ac.nz/~marku/mbt/modeljunit/
    查看全部
  • 基于风险测试——(RBT risk-based testing) 定义:一种基于对软件失效的风险评估并以此指导测试计划、设计、执行、结果评价的软件测试类型 风险: 质量风险(软件功能,易用性,性能,软件代码缺失); 管理风险(人员能力不足,环境风险,被测系统的需求不清晰,被测系统关联的第三方系统不能联调) 风险级别=风险可能性*风险严重度 识别风险: 可能性: 复杂性;时间压力;高变更率;技能水平;地理分散度 严重程度: 使用频率;失效可视性;商业损失;组织负面影响和损害;社会损失和法律责任 RBT的优点(见下图)
    查看全部
  • 2-4 软件测试模型-敏捷测试 敏捷测试(Agile Testing)--遵循敏捷宣言的一种测试实践 敏捷宣言(价值观): 个体与交互 重于 过程和工具 可用的软件 重于 完备的文档 客户协作 重于 合同谈判 响应变化 重于 遵循计划 ——在每对比较中,后者并非全无价值,但我们更看重前者 敏捷测试的特点: 强调从客户角度进行测试 重点关注迭代测试新测试,不在强调测试阶段 尽早测试,不间断测试,具备条件即测试 强调持续反馈 预防缺陷重于发现缺陷 敏捷测试VS传统测试 传统测试: 测试是质量的最后保护者; 严格的变更管理; 预先的计划和细节的准备; 重量级文档 各阶段测试严格的入口和出口标准; 更多在回归测试时进行重量级的自动化测试; 严格依赖流程执行; 测试团队和开发团队是相对独立的 敏捷测试: 开发和测试人员是紧密合作,大家都有责任对软件负责; 变更是可接受的,拥抱变更; 计划随着进展时常调整; 只需要绝对必要的文档; 各迭代之间已经没有明显的入口和出口标准; 所有阶段都需要自动测试,每个人都需要做,是项目集成的一部分; 流程不再需要严格执行; 团队合作是无缝隙合作;
    查看全部
  • 黑盒测试:把软件系统看成是一个黑盒子,从用户的角度对软件系统进行纯粹的功能测试。不需了解软件系统的内部逻辑和结构。 白盒测试:需要完全了解软件系统的内部逻辑和结构,也叫透明测试。 静态测试:检查代码、文档的测试,不需运行软件系统。 动态测试:把软件系统运行起来进行测试。 手工测试:由测试员根据测试用例自由灵活地对软件系统进行测试。 自动化测试:借助第三方测试工具来运行和检查软件系统的测试。
    查看全部
    2 采集 收起 来源:软件测试手段

    2018-02-25

  • 基于脚本的测试-SBT 探索式测试ET:完全抛开测试脚本的测试;它是一种测试风格,思维不单单是一种测试技术 ST:系统性强;容易管理,控制;设计在先,执行在后;主要是验证自己的思路;可预见性 ET:自由灵活;与ST是互补的,执行和设计并行;不断和系统交互,带着问题测试;学习的过程(重在测试人员) 探索式测试的优点:更能激发测试人员的创造性和工作乐趣;增加了发现新的或较深入的bug的可能性;在较短时间内找到更多的bug以及对SUT(被测程序)作一个快速的评估;有利于更加有效的实施自动化;更加适用于敏捷项目;减少了在简单,繁复上用例的无谓编写时间 缺点:测试管理上有局限性,较难协调和控制;对于bug的重复利用和重现上作用有限;对测试人员的测试技能和业务知识深度要求高;只有在SUT一完全可用的前提下才更有作用;ET的生产率很难定义;ET本身较难进行自动化 局部探索式测试:输入;状态;代码路径;用户数据;执行环境 全局探索式测试:漫游测试法
    查看全部
  • 3-4 兼容性测试 兼容性测试: (1)软件本身的兼容性:如软件升级,以前版本的功能也能使用 (2)不同平台下的兼容性:如在Linux系统下的ubuntu、openSUSE等,进行平台的兼容性测试 (3)对不同的设备的兼容性:如32位、64位、如小型机、PC等 (4)软件的互操作性:如和一些主流应用的兼容性
    查看全部
  • 3-3 安全测试 OWSP Top Ten Project 1.Injection 注入脚本漏洞使用户访问到不该访问的数据的目的 2.Broken Authentication and Session Management 失效的身份认证和会话管理 会话劫持漏洞 3.Cross—Site Scripting(XSS)跨站脚本 4.Insecure Direct Object References 不安全的对象直接引用 参数的保护 5.Security Misconfiguration 安全配置类错误 6.Sensitive Data Exposure 敏感信息泄露 信息传递没有对关键信息进行加密 7.Missing Function Level Access Control 功能级别访问控制缺失 比如访问网站可以访问到用户没有权限到达的地方 8.Cross-Site Function Level Access Control(CSRF) 跨站请求伪造 9.Using Components with Known Vulnerabilities 使用了已知有漏洞的组件 10.Unvalidated Redirects adn Forwards 未被验证的重定向和转发 (钓鱼网站)
    查看全部
  • 3-2 性能测试 负载测试:在测试过程中,逐步的增加负载,来观察系统的表现,最终确定出系统在正常的指标范围下的最大负载。 压力测试:测试系统在极限情况下的压力情况,最终系统字什么样的压力环境下会导致失效,不能正常运行,确定出我们这个系统所能承受的最大极限。 稳定性测试:一般是以稍大于正常业务量的负载进行持续的、长时间的测试,比如:24*5,连续5天的对这个系统进行24小时的施加压力,以确定系统在较长时间的运行情况下,我们这个系统地稳定性情况。 性能测试工具:LoadRunner ,Silkperformer , Jmeter(java开源的有效的测试工具) ,WebLoad , Apache Bench , LoadUI(专门针对接口的性能测试) 静态性能评估:开发Web应用时,基于一系列Web应用页面性能的最佳实践队Web应用的页面进行静态分析,并给出评估结果的性能分析方法,评估的标准(YSlow,PageSpeed)
    查看全部
  • 定义:测试时为发现错误而执行程序的过程 软件测试=程序测试? 软件测试对象: 软件需求——软件概要设计——软件详细设计——软件运行环境——可运行程序——软件源代码 五大要素:质量,人员,资源,流程,技术 两个目标:测试覆盖率,测试效率 测试原则:1.测试显示缺陷的存在,但不能证明系统不存在缺陷 2.穷尽测试是不可能的,应设定及时终止的条件 3.软件测试应尽早进行 4.缺陷具备群集特性 5.测试的杀虫剂悖论:测试用例和测试方法应不定期的修改区测试 6.测试的二八原则:用80%用在20%的重点模块上 7.测试活动依赖于测试背景(eg:银行的系统对安全测试要求比较高)
    查看全部
    2 采集 收起 来源:软件测试概要

    2017-07-01

  • 2、集成测试:是在单元测试的基础上,测试在将所有的软件单元按照概要设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或显示相应技术指标及要求的活动。 只要实施方案:1、Big Bang 所有的东西都组装好,然后做测试;2、自顶向下,逐层测试;3、自底向上,从程序模块的最底层模块逐层向上测试,能够比较好的锁定软件故障的所在位置;4、核心系统集成测试;5、高频集成测试(持续集成); 集成测试和单元测试的区别:1、测试对象不同(单元测试针对软件最小单元,集成测试以模块或子系统为单位来测试)2、测试的依据不同(单元测试针对软件详细设计,集成测试以软件的概要设计来测试)3、测试的方法不同
    查看全部
    2 采集 收起 来源:软件测试阶段

    2017-04-06

  • 第一章节 1.软件测试定义 IEEE定义:使用人工或自动的手段来运行或测量软件系统的过程,以检验软件系统是否满足规定的要求,并找出与预期结果之间的差异; 2.软件测试的对象 软件需求、软件设计概要、软件详细设计、软件源代码、可运行程序、软件运行环境 3.五大要素和两个目标 五大要素:质量、人员、资源、流程、技术 两个目标:测试覆盖率、测试效率 4.软件测试所遵循的原则 ①测试显示软件的存在,但不能证明系统不存在缺陷 ②穷极测试是不可能的,应设定及时终止的条件 ③测试应该尽早进行 ④缺陷具备群集特性 ⑤测试的杀虫剂悖论(用相同的用例多次测试时发现不了bug的,应该更新测试方法和用例) ⑥测试的二八原则 ⑦测试活动依赖于测试背景 即针对不同的软件的测试方法是不同的,比如电信软件看中性能、大批量;银行看中安全性;
    查看全部
    2 采集 收起 来源:软件测试概要

    2017-01-23

  • 白盒测试:逻辑覆盖率 主要的逻辑单位: 语句覆盖:保证每条语句执行一次 分支(判定):保证每条分支至少执行一次 条件:条件表达式,至少计算一次 条件组合:所以不同条件下的组合情况 路径:程序中,每个可能的路径至少执行一次 优点 1.迫使测试人员去仔细思考软件的实现,理解原理 2.可以检测代码中的每条分支和路径 3.揭示隐藏在代码中的错误 4.对代码的测试比较彻底 缺点 1.昂贵。 2.无法检测代码中遗漏的路径和数据敏感性错误 3.不能直接验证需求的正确性 主要测试方法: 代码检测法:多面 代码审查 静态结构分析法:测试工具,内部结构分析 静态质量度量法:标准的度量模型 逻辑覆盖法:6种逻辑,语句 ,分支,条件,条件组合,路径,判定 基本路径测试法:通过分析复杂度,选出基本可执行路径的集合。程序控制流图,描述程序控制流 灰盒测试 介于黑、白盒测试之间的,关注输出对于输入的正确性,同 时也关注内部表现 静态测试 定义:静态测试是指无须执行被测程序,而是通过评审软件文档或代码,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率; 动态测试 定义:动态测试是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等。 手工测试 由专门的测试人员从用户视角来验证软件是否满足设计要求的行为。更适用针对深度的测试和强调主观判断的测试。 众包测试,探索式测试 自动化测试 使用单独的测试工具软件控制测试的自动化执行以及对预期和结果进行自动检查。 单元测试、接口测试、性能测试等
    查看全部
    2 采集 收起 来源:软件测试手段

    2016-12-12

  • 根据测试对象的可见度:黑盒测试、 白盒测试 根据状态:静态测试、动态测试 执行方式:手工测试、自动化测试 黑盒测试: 不考虑程序内部结构和内部特性下,通过相关暴露出的接口,对程序进行测试。 只检查程序的功能是否按照需求规定,正常使用; 程序是否能适当的输入输出数据,并产生正确的输出信息; 一般针对软件外面的界面,可见的功能; 从用户的视角,通过不同数据事件,通过输出结果进行判断; 优点: 1.容易实施,不需要关注内部的实现 2.更贴近用户的使用角度 缺点: 1.测试覆盖率较低,一般只能覆盖到代码量的不到40% 2.针对黑盒的自动化测试,复用率较低,维护成本较高。 黑盒测试主要测试什么 1.是否有不正确或遗漏的功能? 2.在接口上,输入是否能正确的接受?能否输出正确的结果? 3.是否有数据结构错误或外部信息(例如数据文件)访问错误? 4.性能上是否能够满足要求? 黑盒测试的主要设计方法 等价类划分法:针对程序的输入条件进行分类,输入典型的数据 边界值分析法:特殊的边界数据,测试代码的边界状态 错误推测法:基于经验,直觉,判断错误的地方;特殊字符,文件不存在 因果图法:根据输入输出看做原因和结果,形成因果图。(因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。) 正交试验分析法:选出代表性的数据,作为输入数据 状态迁移图法:软件审批的过程,各种状态迁移 流程分析法:处理程序逻辑执行的路径
    查看全部
    2 采集 收起 来源:软件测试手段

    2016-12-12

举报

0/150
提交
取消
课程须知
本门课程适合有志于从事软件测试或在校软件专业的同学学习, 最好了解一些软件工程的基本概念,对软件测试这个职业有一些最基本的认识。(随堂资料:http://img1.sycdn.imooc.com//down/57bd4d2f0001474e00000000.rar)
老师告诉你能学到什么?
通过学习本门课程,能够理清我们接触到得各种不同的软件测试概念以及它们的主要作用和适用场景,可以更加理解软件测试这个职业的作用和对软件产品的意义。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!