软件测试任务驱动教程 课件 模块1 认知与体验软件测试_第1页
软件测试任务驱动教程 课件 模块1 认知与体验软件测试_第2页
软件测试任务驱动教程 课件 模块1 认知与体验软件测试_第3页
软件测试任务驱动教程 课件 模块1 认知与体验软件测试_第4页
软件测试任务驱动教程 课件 模块1 认知与体验软件测试_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1单元认知与体验软件测试软件测试任务驱动教程名校名师精品系列教材人民邮电出版社目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.1软件测试概述1.软件的概念软件是计算机系统中与硬件相互依存的一个部分,它是源程序、数据及其相关文档的集合。其中,源程序是按事先设计的功能和性能要求编写的可读指令代码;数据是信息的载体,能够被计算机识别、存储和处理;文档是与程序开发、维护和使用相关的图文资料。2.软件缺陷的概念软件缺陷是指计算机软件中存在的、破坏其正常运行的问题、错误或隐藏的功能缺陷,我们通常会把这些软件缺陷称为“Bug”(Bug在英语中指昆虫、臭虫),通常用“Bug”表示计算机系统硬件或软件中隐藏的错误、缺陷或问题。1.1软件测试概述3.软件测试的概念软件测试就是为了发现错误而执行程序的过程。软件测试是一个找错的过程,它只能找出程序中的错误,而不能证明程序无错。软件测试要求以较少的用例、时间和人力找出软件中潜在的各种错误和缺陷,以确保软件质量。4.测试环境的概念测试环境就是模拟软件实际使用场景、支撑软件测试开展的运行平台,即进行软件测试所必需的工作平台和前提条件,可用如下公式来表示:测试环境=硬件+软件+网络+历史数据软件测试的主要工作是验证(Verification)和确认(Validation)。软件测试的对象不仅仅包括程序,还包括整个软件开发生命周期各个阶段所产生的文档。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.2软件缺陷的产生原因0203开发工具错误软件需求变化程序设计错误沟通交流不畅代码文档缺陷产生原因01050406软件项目复杂目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.3软件测试的地位和作用软件工程采用生命周期方法,将软件开发划分成多个阶段,把复杂的问题按阶段分别加以解决,为中间产品提供了检验的依据,而各阶段完成的软件文档也成为检验软件质量的主要依据。软件测试应该从软件开发生命周期的第一个阶段(需求分析阶段)开始,并贯穿于整个软件开发生命周期,以检验各阶段的成果是否符合预期目标,尽可能早地发现错误并加以修正。需求分析阶段系统设计阶段系统编码阶段系统测试阶段系统安装阶段系统维护阶段目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.4软件测试的目的一个成功的测试是发现了至今尚未发现的错误的测试。软件测试是为了证明程序有错,而不是证明程序无错。软件测试是一个为了发现错误而执行程序的过程。一个好的测试用例在于它能发现至今尚未发现的错误。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.5软件测试的基本原则应当把“尽早地和不断地进行软件测试”作为软件开发人员的座右铭。程序员应避免检查自己的程序。测试用例应由测试输入数据和与之对应的预期输出结果两部分组成。在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。充分注意软件测试时的群集现象。严格执行测试计划,排除测试的随意性。

应当对每一个测试结果做全面检查。妥善保存测试过程中产生的各种数据和文档。注意回归测试的关联性。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.6.1按测试阶段分类单元测试主要是分别完成每个模块的测试任务,以确保每一个模块能正常工作。集成测试是把已测试过的模块组装起来进行测试,其目的在于检验是否存在与软件设计相关的程序结构问题,该阶段较多采用黑盒测试方法设计测试用例。确认测试在完成集成测试之后开展,核心是检验开发工作初期基于需求规格说明书制订的“确认准则”是否达成,也是检验所开发软件是否满足所有功能和性能需求的最后手段,通常采用黑盒测试方法。系统测试是针对完成确认测试以后所交付的合格软件产品,检验软件能否与数据库、硬件等其他部分协调工作所进行的测试;严格地说,系统测试已经超出了软件工程范围。验收测试是检测软件产品质量的最后一道工序,该阶段更加突出了客户的作用,同时软件开发人员也应有一定程度的参与。单元测试集成测试确认测试系统测试验收测试1.6.2按是否需要运行被测软件分类静态测试(StaticTesting)又称为静态分析(StaticAnalysis),不实际运行被测软件,而是直接分析软件的形式和结构,查找缺陷。该测试主要包括对源代码、用户界面和各类文档及中间产品(例如产品规格说明书、技术设计文档等)所做的测试。件,通过观察程序运行时所表现出来的状态、行为等发现软件缺陷。如在程序运行时,通过有效的测试用例来分析被测程序的运行情况或进行跟踪对比,发现程序所表现的行为与设计规格或客户需求不一致的地方。静态测试动态测试1.6.3按是否需要查看代码分类1.黑盒测试黑盒测试也称功能测试(FunctionalTesting)或数据驱动测试(Data-drivenTesting),但并不仅限于测试功能。。该方法将被测软件看作“黑盒子”,只考虑系统的输入和输出,不考虑程序内部逻辑结构和处理过程,只依据程序的需求规格说明书,检查程序的功能是否符合需求说明。黑盒测试中,测试人员不了解程序的内部情况,只知道程序的输入、输出和系统功能,这是从用户视角开展的测试。黑盒测试用例与程序的实现逻辑无关,因此,若程序内部逻辑结构和处理过程发生变化,通常不会影响黑盒测试用例的有效性。黑盒测试的用例设计和程序开发可以并行开展。1.6.3按是否需要查看代码分类2.白盒测试白盒测试主要分析程序内部的逻辑结构及算法,通常不关心功能与性能指标。白盒测试又称为结构性测试(StructuralTesting)或逻辑驱动测试(Logic-drivenTesting),这种方法把测试对象看作“打开的盒子”,允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。程序代码具有多个分支时,白盒测试可以利用不同的覆盖准则来测试这些分支,黑盒测试则无法做到这一点。白盒测试的覆盖指标可以充当黑盒测试的检查手段。代码中常存在内存泄漏问题,尤其是C/C++程序的代码,白盒测试可以方便地发现内存泄漏问题,且可以直接定位缺陷。预防缺陷是测试的主要目的,白盒测试可通过对源代码的静态分析发现该类问题。1.6.3按是否需要查看代码分类3.灰盒测试灰盒测试是介于白盒测试和黑盒测试之间的测试方法,既关注输出对于输入的正确性,也关注内部表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件和标志来判断内部的运行状态。灰盒测试结合了白盒测试和黑盒测试的要素,考虑了用户端、特定的系统知识和操作环境,在系统组件的协同性环境中评价应用软件的设计。1.6.4按测试执行时是否需要人工干预分类1.手工测试手工测试是完全由人工完成测试工作的测试。手工测试是由测试人员编写并执行测试用例,然后观察测试结果与预期结果是否一致的过程。分析测试需求制订测试计划编写测试用例执行测试用例判断测试是否通过记录测试过程出现的问题跟踪缺陷分析测试结果编写测试报告1.6.4按测试执行时是否需要人工干预分类2.自动化测试自动化测试是使用自动化测试工具或自动化测试脚本来进行的测试。这类测试在执行中一般不需要人工干预,通常在功能测试、回归测试和性能测试中使用较广。自动化测试与手工测试相比,既有优点也有缺点,自动化测试虽然能够解决手工测试不能解决的测试场景复杂的问题,但是自动化测试也不能完全代替手工测试。自动化测试的基本流程与传统的手工测试的基本流程相似,与手工测试基本流程不同的是,自动化测试需要搭建测试环境,并且通过编写测试脚本来执行测试用例。1.6.5按测试目的分类功能测试界面测试性能测试负载测试接口测试压力测试强度测试文档测试易用性测试兼容性测试安全性测试可靠性测试健壮性测试恢复测试安装与卸载测试配置测试并发测试1.6.6其他测试类型1.冒烟测试在软件测试过程中发现了问题,找到了缺陷,然后开发人员修复该缺陷,这时想知道这次修复是否真的解决了程序的缺陷,或者是否会对其他模块造成影响,就需要针对此问题进行专门测试,这个过程被称为冒烟测试。冒烟测试的对象是每一个新编译、需要正式测试的软件版本,目的是确认软件基本功能正常,为后续正式测试工作做准备。冒烟测试的优点是可以节省大量的测试时间,其缺点是覆盖率较低。1.6.6其他测试类型2.随机测试随机测试是根据测试说明书执行用例测试的重要补充手段,能够帮助提升测试覆盖完整性,尤其对考察软件系统的健壮性、防止生成大量垃圾数据的情况具有重要作用。随机测试主要是对被测软件的一些重要功能进行复测,也包括测试当前的测试用例没有覆盖的部分。理论上,每一个被测软件版本都需要执行随机测试,尤其对于即将要发布的版本更要重视随机测试。随机测试最好由具有丰富测试经验、熟悉被测软件的测试人员来开展。1.6.6其他测试类型3.回归测试回归测试是验证缺陷是否修复正确和修复过程中是否引入新问题的活动,回归测试并不是一个测试级别,却是各个测试阶段必须包括的一个测试活动。单元测试、集成测试和系统测试阶段都可能进行回归测试。每当软件发生改变时,我们就必须重新测试现有的功能,以便确定修复是否达到了预期目的,检查修复是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修复了的功能。1.6.6其他测试类型对一台电梯进行测试【示例】①功能:上升、下降、停止、开门、关门、梯内电话、灯光、指示灯等。②性能:速度、反应时间、关门时间等。③压力:超载、尖锐物碰撞电梯壁等。④安全:停电、报警装置、轿厢停靠位置、有人扒门时的情况等。⑤可用性:按键高度、操作是否方便、舒适程度等。⑥界面:美观程度、光滑程度、形状、质感等。⑦稳定性:长时间运行情况等。⑧兼容性:在不同电压下是否可工作、不同类型电话是否可安装等。测试一台电梯可以从以下方面进行。1.6.6其他测试类型对一台电梯进行测试【示例】(1)需求测试:查看电梯使用手册、安全说明书等。(2)界面测试:查看电梯外观。(3)功能测试。①测试电梯能否实现正常的上升和下降功能。②电梯的按钮是否都可以使用。③电梯门的打开、关闭是否正常。④报警装置是否可用。⑤与其他电梯之间是否协作良好。⑥通风状况如何。⑦突然停电时的情况。⑧上升途中的响应。具体的测试要点如下。1.6.6其他测试类型对一台电梯进行测试【示例】具体的测试要点如下。⑨是否有手机信号。(4)可靠性测试。①门关上的一刹那出现障碍物。②同时按关门和开门按钮。③按当前楼层按钮。④多次按同一楼层按钮。⑤同时按向上按钮和向下按钮。(5)易用性:电梯按钮的设计是否符合一般人的使用习惯。(6)用户文档:使用手册是否对电梯的用法、限制、使用条件等有详细的描述。(7)压力测试:查看电梯的最大负载,在负载过大时报警装置是否有提醒。(8)稳定性测试:查看电梯在最大负载下平稳运行的最长时间。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.7软件测试的主要阶段设计测试用例和测试过程制订测试计划评估与总结软件测试实施软件测试目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.8软件测试人员的类型和要求1.软件测试人员的类型2.软件测试人员的要求软件测试已经成为一门独立的技术学科,软件测试技术不断更新和完善,新工具、新流程、新方法不断涌现,如果没有合格的软件测试人员,测试工作是不可能高质、高效地完成的。上机测试人员(测试执行者)测试结果检查核对人员测试数据制作人员目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.9场景设计法场景设计法的一般步骤如下。构造基本流和备选流。根据基本流和备选流构造场景。根据场景设计测试用例。对每个测试用例补充必要的测试数据。1.9场景设计法场景设计法的基本流与备选流的示意图基本流是整个业务流程中最基本的事件流,是从系统某个初始状态开始,经一系列状态后到达终止状态的过程中最主要的业务流程。备选流以基本流为基础,是在经过的每个判定节点处满足不同的触发条件而导致的其他事件流。备选流仅是业务流程中的一个执行片段。所谓场景,可以看作基本流与备选流的有序集合。场景中应至少包含一条基本流。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.10软件开发与软件测试的基线及分类1.基线基线(Baseline)是已经被正式评审和批准的规格或产品,是软件进一步开发的基础,并且必须通过正式的变更流程来变更。基线可以看作是项目储存库中每个工件版本在特定时期的一个“快照”。它为后续工作提供正式标准,后续开发需基于此标准开展,且标准的变更必须经过授权。形成初始基线后,每次对基线的变更都将记录为一个差值,直到形成下一个新基线。1.10软件开发与软件测试的基线及分类2.基线分类系统功能说明,包括系统模型、项目计划、进度安排。需求规格说明,包括图形分析模型、过程、原型、数学规格说明。设计规格说明,包括数据设计、体系结构设计、界面设计、对象的描述等。测试规格说明,包括测试计划、测试用例、测试预期结果、测试记录等。数据库描述,包括数据模式、记录结构、数据项描述等。模块规格说明,包括模块功能、模块算法、模块接口等描述。运行系统,包括模块代码、链接模块、数据库、支持及工具程序等。用户文档,包括安装说明、操作说明、用户手册等。维护文档,包括故障报告、维护要求、更改记录等。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.11用户界面测试的基本原则和常见规范用户界面测试主要关注界面层、界面与功能接口层,是用于核实用户与软件之间的交互性能,验收用户界面中的对象是否按照预期方式运行,并符合国家或行业标准的测试活动。界面整体测试界面元素测试主要关注对窗口、菜单、图标、文字、鼠标指针等界面中元素的测试。界面整体测试是指对界面的规范性、一致性、合理性等方面进行测试和评估。界面元素测试界面元素外观测试界面元素布局测试界面元素行为测试1.11用户界面测试的基本原则和常见规范用户界面测试的基本原则和常见规范主要涉及以下12个方面。易用性规范性合理性一致性安全性美观与协调性独特性菜单鼠标操作快捷方式帮助多窗口的应用与系统资源目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.12集成测试简介01集成测试的基本概念集成测试又称为组装测试、联合测试,是介于单元测试和系统测试之间的测试活动——将所有经过单元测试的软件单元按照设计要求组装成系统或子系统进行测试。集成测试对象的粒度大于单元测试,是单元测试的逻辑扩展。其主要目的是检查单元模块之间能否正确交互,重点关注各个单元模块之间的接口,以及模块集成后实现的功能,确保组装后的整体能够达到软件概要设计说明的要求。1.12集成测试简介02集成测试的主要关注内容模块组装过程中,穿越模块接口的数据是否会丢失。一个模块的功能是否会对另一个模块的功能产生不利影响。全局数据结构是否存在问题。各个子功能组合起来后,能否实现预期的父功能。将单个模块的误差累积起来,是否会放大误差,以至于达到不能接受的程度。1.12集成测试简介03系统集成的主要策略也称为整体拼装,即在对所有单元进行单元测试之后,一次性把所有单元组装成要求的软件系统,然后进行测试。一次性组装在模块已按系统功能分解的基础上,从顶层模块开始,沿分解层自顶向下逐步组装各个模块。自顶向下集成从最底层组件开始,按照分解树结构逐层向上集成,由上层单元调用下层单元以实现驱动。自底向上集成一次性组装属于非增值式策略,自顶向下、自底向上和混合集成属于增值式策略。混合集成等策略基于功能分解的集成策略1.12集成测试简介03系统集成的主要策略MM(Message-Method)路径是描述软件系统中单元间控制转移的有效手段,它融合了模块执行路径与消息序列,形成了完整的控制转移轨迹。一条MM路径始于消息的发送,该消息会激活相应方法或函数执行:执行过程沿特定路径推进,直至抵达不再产生新消息的方法,此时该路径终结。通过结合系统中的调用关系、对象间协作图、顺序图等建模信息,并结合代码分析,可精确识别软件系统的MM路径。这一过程能确保软件系统中每一条消息都至少被某条MM路径涵盖,从而实现对消息在系统中流动的全面追踪。基于MM路径的集成策略1.12集成测试简介04集成测试的主要过程主要任务是依据测试策略和相关文档确定集成测试目的和集成策略、识别集成测试需求、安排测试进度、规划测试资源,以及制订测试开始和结束准则等。主要任务是确定集成测试方案,包括测试依据的标准和文档,以及测试使用的方法。如果需要编写测试代码或使用自动化测试工具,还需要准备测试代码与测试工具的设计描述。主要任务是依据规范编写集成测试用例并确保满足测试需求,测试用例可以是手工测试用例,也可以是自动化测试脚本。主要任务是搭建测试环境、运行测试用例,并发现被集成系统中的缺陷;发现缺陷后需提交缺陷报告单,并在缺陷修复后对缺陷的修复效果进行验证。主要任务是对集成测试过程进行总结,提供相关测试数据说明和缺陷说明,评价被测对象并给出改进意见,最终输出软件集成测试报告。集成测试计划集成测试设计集成测试实现集成测试执行编写集成测试报告1.12集成测试简介05集成测试执行和报告当满足以下条件时,集成测试正式进入执行阶段。单元测试结束。经过单元测试的代码形成基线。集成测试计划、测试用例经过评审已形成基线。人员到位、测试环境准备就绪。当所有测试用例执行完毕,达到覆盖要求,且发现的缺陷数量呈收敛状态、所有提交的缺陷都被修复并且通过验证时,集成测试执行即可停止。集成测试报告主要包含每个集成测试用例的执行结果和此次集成测试执行情况(包括统计测试用例执行的情况、缺陷发现的情况、达到测试停止准则的客观说明等)。目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.13系统测试简介1.系统测试的基本概念系统测试是将已经集成好的软件系统,作为整个基于计算机系统的一个元素,与计算机硬件、某些支持软件、数据库和人员等其他系统元素结合在一起,在实际运用或使用环境中,对计算机系统进行的一系列组装测试和确认测试。系统测试的对象不局限于软件系统,还应包括软件系统所依赖的硬件、外部设备和各类接口,其目的在于通过将软件系统与计算机系统的需求定义进行比较,发现软件系统与计算机系统的需求定义不相符的地方以及计算机系统各个部分是否可以协调工作。1.13系统测试简介2.系统测试的依据与承担人员系统测试的依据包括各类开发文档、企业标准、行业标准等,其中系统需求规格说明书是最主要依据。系统测试是站在用户角度开展的测试,通常采用黑盒测试方法,由非系统开发人员的测试人员承担测试工作,以规避开发人员因设计实现系统时的思维定式和立场偏差等原因产生的不良结果。1.13系统测试简介3.系统测试的主要过程0203系统测试报告系统测试执行系统预测试系统测试用例设计回归测试产生原因01050406系统测试计划1.13系统测试简介4.系统测试的入口准则和出口准则集成测试报告已提交并通过批准。集成测试后的代码形成基线。系统预测试项全部通过。系统测试计划和用例开发完成并通过评审。入口准则1.13系统测试简介4.系统测试的入口准则和出口准则达到100%的功能覆盖。缺陷数量呈收敛状态。缺陷修复完成并通过回归测试。系统测试报告提交,通过评审并获得批准。出口准则目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试1.14.1哪些软件项目更适合自动化测试更适合自动化测试的软件项目通常具有以下特点。测试目标明确且稳定日常构建验证需求频繁回归测试需求界面稳定,变更少跨平台与重复测试需求长期维护需求项目进度相对宽松开发规范,可测试性强自动化测试平台支持测试团队编程能力强1.14.1哪些软件项目更适合自动化测试满足以下3个条件就可以对项目开展自动化测试。软件需求变动不频繁。项目周期较长。自动化测试脚本可重复使用。0102031.14.2自动化测试的优缺点1.自动化测试的优点提高测试精确度。提高测试人员利用率。提高回归测试效率。可以完成手工测试很难实现的测试。2.自动化测试的缺点不能提高测试的有效性。发现的缺陷数量少于手工测试,且不易发现新缺陷。1.14.3自动化测试的分类Web自动化测试App自动化测试A从项目的运行环境分类功能自动化测试性能自动化测试C从软件测试目的分类单元自动化测试UI自动化测试接口自动化测试B从软件开发周期分类1.14.4自动化测试的常用工具Selenium是测试Web项目常用的自动化测试工具,该工具是完全开源的。Selenium不仅具有支持多语言(Python、Java、PHP等语言)、多平台(Windows、Linux、macOS等平台)、多浏览器(Chrome、Firefox、IE等浏览器),以及灵活、易用等特点,而且提供了一系列支持对Web项目进行自动化测试的方法。1.Selenium2.Appium3.JMeterAppium是一款测试App项目的开源工具,该工具封装了标准的Selenium客户端类库,也支持多平台(Android、iOS等平台)、多语言。JMeter是一款功能强大的开源工具,可以用于进行Web项目的接口测试和性能测试。它能高效地测试多个方面,如静态资源、Scripts、Servlet、文件传送协议(FileTransferProtocol,FTP)服务器等,为Web项目的质量和性能提供全面的评估与保障。LoadRunner是一款商业自动化测试工具,通常用于测试Web项目的性能,例如压力测试、负载测试等。测试人员可以使用oadRunner测试工具模拟成百上千名用户操作项目的场景,并自动生成测试报告,还可以通过分析测试报告有效地评估软件项目的性能。4.LoadRunner5.Postman6.AppScanPostman是一款开源的接口测试工具,在项目的开发过程中,无论是写接口还是调用接口,这些接口都需要测试之后才能使用。Postman不仅可以用来调试串联样式表(CSS)、超文本标记语言(HTML)、脚本等简单的网页信息,而且可以模拟GET、POST或其他方式的请求来调试接口。AppScan是一款测试Web项目的安全性测试工具,具有强大的报表功能。测试人员在使用AppScan工具扫描项目是否有缺陷的时候,不仅可以看到扫描到的缺陷,而且可以在报表中看到AppScan工具记录的漏洞原因和修改建议。1.14.5关于自动化性能测试一次合理的自动化性能测试可以清楚地回答以下5个问题。(1)应用程序对目标用户的响应是否足够迅速?(2)应用程序是否能够游刃有余地处理预期用户负载?(4)在预期和非预期用户负载下应用程序是否稳定?(5)是否能够确保用户在使用应用程序时感到满意?(3)应用程序是否能够处理业务所需的事务数?目录导航1.1软件测试概述1.3软件测试的地位和作用1.5软件测试的基本原则1.2软件缺陷的产生原因1.4软件测试的目的1.6软件测试的分类1.8软件测试人员的类型和要求1.7软件测试的主要阶段1.10软件开发与软件测试的基线及分类1.12集成测试简介1.9场景设计法1.11用户界面测试的基本原则和常见规范1.13系统测试简介测试实战1.14初识自动化测试【任务1-1】为测试软件的登录界面设计测试用例某待测试软件的登录界面主要包括账号输入框、密码输入框、提交按钮,试为该软件登录界面设计合适的测试用例。【任务要求】【任务实施】1.分析测试需求登录界面是弹出窗口式的,还是嵌入在网页里面的?考虑账号长度和密码强度,例如需要多少位、大小写敏感、特殊字符混搭等。在界面美观方面是否有特殊要求,即是否要进行界面测试(UI测试)?其他方面的需求。正常输入:输入正确的账号和密码,单击提交按钮,验证是否能正确登录。错误校验:输入错误的账号或者密码,单击提交按钮,验证登录失败,并且提示相应的错误信息。登录跳转:登录成功后,验证能否跳转到正确的界面。【任务1-1】为测试软件的登录界面设计测试用例2.设计测试用例长度校验:账号或密码如果太短或者太长时,应该如何处理,例如密码太短时是否有提示。特殊字符处理:账号或密码中有特殊字符(如空格)、非英文字符时,是否有过滤。记住账号功能:是否有记住账号的功能。密码记录功能:登录失败后,是否不记录密码。空格处理:账号或密码前后有空格时,是否做处理。密码加密显示:密码是否加密显示(使用星号、圆点等)。验证码校验:包含验证码时,不仅要考虑文字是否扭曲过度导致辨认难度大,还要考虑颜色(对于色盲使用者)、刷新或换一个按钮是否好用等情况。关联链接校验:登录界面中的注册、忘记密码、退出、使用另一账号登录等链接是否能正常跳转。大写键盘提示:输入密码的过程中,在大写键盘开启的时候是否有提示信息。非空检查:什么都不输入,单击提交按钮,是否会出现提示信息。功能测试(FunctionTesting)。01OPTION【任务1-1】为测试软件的登录界面设计测试用例2.设计测试用例界面测试(UITesting)02OPTION性能测试(PerformanceTesting)。03OPTION打开登录界面需要几秒输入正确的账号和密码后,登录成功并跳转到新界面,不超过5s。布局是否合理,2个输入框和一个按钮是否对齐。输入框和按钮的长度、高度是否符合要求。界面的设计风格是否保持基本统一。界面中的文字是否简洁、易懂,没有错别字。【任务1-1】为测试软件的登录界面设计测试用例2.设计测试用例安全性测试(SecurityTesting)。04OPTION登录成功后生成的Cookie是否可以降低脚本盗取风险。账号和密码是否通过加密的方式发送给Web服务器。账号和密码应该是用服务器端验证,而不能单单是在客户端用JavaScript验证。账号和密码的输入框应该屏蔽结构查询语言(StructureQueryLanguage,SQL)注入攻击。账号和密码的输入框应该禁止输入脚本,即防

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论