第一章 软件质量和软件测试概述
标签:复习,测试,testing,系统,期末,模块,组件,软件 From: https://www.cnblogs.com/suliull/p/16971268.html
ISO/IEC 25010中定义的软件产品质量模型包括下列的八个质量特性(掌握)
功能性:特定条件下提供满足规定和功能需求的程度
性能效率:一定条件使用的资源消耗率
兼容性:系统可以和其他产品交换信息
易用性:系统实现特定目标的有效和满意程度
可靠性:系统在指定环境下且在指定时间内执行功能的程度
安全性:产品或系统保护信息的程度
可维护性:表示修改系统可以使得改进或者适应环境的有效性
可移植性:系统可以从一个软件、硬件或者操作系统转移到另一个系统的有效程度和效率。
软件错误、缺陷和失效(掌握)
错误:发生错误的原因有很多,例如时间压力,缺乏经验或技能不足的项目参与者,新的技术不成熟,对系统内和系统间接口的误解
缺陷:计算机软件或程序中存在的某种破坏正常运行能力的问题,错误或隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户需求。
失效:如果执行了存在缺陷的代码,可能导致程序失效。
软件缺陷的主要类型(掌握)
软件未实现产品说明书要求的功能;即该有的功能没有
软件出现产品说明书指明不该出现的错误;
软件实现了产品说明书未指明的功能;即出现不该有的功能
软件未实现产品说明书未明确提及但应实现的目标;即该有的隐含功能没有。
软件难以理解,不好用,运行速度慢,或软件测试人员,最终认为软件不好。
测试和调试(掌握)
测试:
目的:证明程序存在缺陷
条件与结果是否已知: 条件和预期结果已知,结果未知
有无计划:有计划,设计测试用例
执行有无规程:执行有规程
执行主体:测试人员
调试:
目的:定位并解决程序缺陷
条件与结果是否已知: 内部条件未知,结果未知
有无计划:无计划,不受时间约束
执行有无规程:执行往往靠灵感
执行主体:开发人员执行
动态测试和静态测试(掌握)
根据测试时是否运行被测体,可分为动态测试和静态测试。
动态测试(Dynamic testing):通过运行被测体,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例,执行程序,分析程序输出结果
静态测试:检查项为代码风格和规则审核,以及文档的检查
测试阶段及级别:组件测试、集成测试、系统测试及验收测试(掌握)
根据测试阶段和级别,分为组件测试,集成测试,系统测试及验收测试。
组件测试(unit testing):对软件中最小的可测组件进行检查和验证。桩模块(stub):模拟被测模块所调用的模块。驱动模块(driver):模拟被测模块上级模块
集成测试(intergration testing):组件测试的下一阶段,是指将通过测试的组件模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。
系统测试(system testing):将整个软件系统看作一个整体进行测试,包括对功能,性能以及软件所运行的软硬件环境进行测试。
验收测试(acceptance testing):在系统测试的后期,以用户测试为主,或有测试人员共同参与的测试。
α测试:由用户,测试人员,开发人员等共同参与的内部测试
β测试:指的是内测后的公测,即完全交给最终用户测试。