From d55c4006883a7795d12c9f3092227045058f04fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9B=B8=E7=9D=BF=E6=98=8C?= <9818191+xiang-ruichang@user.noreply.gitee.com> Date: Sun, 3 Oct 2021 08:32:20 +0000 Subject: [PATCH] =?UTF-8?q?19990131=E7=9B=B8=E7=9D=BF=E6=98=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 586c7ca..9de6843 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ### 1 课程目标 * 掌握基础的软件测试理论、测试方法和策略 * 掌握常用工具的使用方法 -* 根据需求和设计文档,独立编写测试计划、测试方案、测试用例以及测试报告 +* 根据需求和设计文档,独立编写测试计划、测试方案、测试用例以及测试 ### 2 主要内容 * 软件测试概论 * 软件测试基础知识 @@ -12,7 +12,7 @@ * 软件测试流程 * 黑盒测试 * 白盒测试 -* 性能测试 +* 性能测 * 软件测试自动化 * 软件测试管理 ### 3 课程安排 @@ -71,7 +71,7 @@ #### 1.1.3 软件发展史 1. 程序设计阶段:个体化生产、专用软件、规模小、功能单一、开发者即使用者。(软件 = 程序); -2. 程序系统阶段:多用户系统,人机交互技术,实时系统和数据库管理系统; +2. 程序系统阶段:多用户系统,人机交互技术,实时系统和数据库管理系统 3. 软件工程阶段:以软件的产品化、系列化、工程化和标准化为特征的软件产业发展起来,软件开发有了可以遵循的软件工程化的设计准则、方法和标准; 4. 多层分布结构,面向服务架构。 @@ -225,7 +225,7 @@ W 模型相对于 V 模型来说,测试更早的进入到开发阶段,与开 **缺点:** -W 模型是顺序性的、不可逆的,需求的变更和调整,依旧不方便。 +W 模型是顺序性的、不可逆的,需求的变更和调整,不方便。 **螺旋模型** @@ -239,11 +239,10 @@ W 模型是顺序性的、不可逆的,需求的变更和调整,依旧不方 ![敏捷模型](https://gitee.com/XiaFuXiangFei/software-testing/raw/main/images/mj-model.png) -敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。专注于交付对客户有价值的软件(可以工作的)。 - +敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。专注于交付对客户有价值的软件。 强调以人为核心,程序员团队和业务专家之间的紧密联系,频繁交付新的软件版本,紧凑的自我组织型团队,更注重软件开发中人的作用。 -在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 +在敏捷开发过程中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 **《联盟敏捷宣言》** 1. 最重要的是通过尽早和不断交付有价值的软件满足客户需要; @@ -277,7 +276,7 @@ W 模型是顺序性的、不可逆的,需求的变更和调整,依旧不方 * 响应变化高于遵循计划 - 通过高效的协作,获取快速的反馈,从而尽早做出调整,减少浪费。 + 通过高效的协同合作,获取快速的反馈,从而尽早做出调整,减少浪费。 **缺点:** @@ -339,7 +338,7 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 | 级别 | 名称 | 说明 | | :---: | :---: | ----------------------------------------------------------------------------- | | P1 | 低 | 不影响整个系统的正常运行,一般指建议性的问题 | -| P2 | 中 | 不影响继续测试,但也是必须要修改的,对功能的实现有所影响,如果时间允许应该修复 | +| P2 | 中 | 不影响继续测试,但也是必须要修改的,对功能的实现有所影响,如果时间允许需要修复 | | P3 | 高 | 影响整个测试的继续进行,要马上修改 | | P4 | 急 | 系统无法继续执行下去,必须立即修改 | @@ -404,14 +403,14 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 #### 1.5.1 行业现状 软件系统越来越复杂,一个软件不能够由单独的软件工程师单独编写,而是由团队进行配合,每个人可能只负责一个模块,对于全局没有过多的了解,这时如果运行软件就会容易产生很多的错误。在行业内将这些错误叫做BUG。并且每一个软件工程师都会有思维的死角,自己不容易发现自己编写出来的错误。所以这个时候就需要专门的软件测试工程师用专业的测试方式来检查软件。检查该软件是否符合客户要求的产品设计,是否能够符合大多数用户的使用习惯,如果发现异常状态及时进行处理。软件市场虽然远远没有达到饱和但是各种各样功能的软件也层出不穷竞争激烈,对软件开发的质量要求也是日益增高。 -我国软件测试行业起步较晚,发展较慢,直到21世纪初期,我国才逐步开始重视软件测试行业。但近年来,软件行业的快速发展为软件测试行业的发展提供了良好的基础,随着我国软件测试行业的发展,行业内企业向规模化发展将获得规模效应,可以有效降低企业的单位成本;而软件测试技术的不断发展,也将淘汰那些技术实力较弱的企业,促使行业内企业向专业化方向发展。 +我国软件测试行业起步较晚,发展较慢,直到21世纪初期,我国才逐步开始逐渐重视软件测试行业。但近年来,软件行业的快速发展为软件测试行业的发展提供了良好的基础,随着我国软件测试行业的发展,行业内企业向规模化发展将获得规模效应,可以有效降低企业的单位成本;而软件测试技术的不断发展,也将淘汰那些技术实力较弱的企业,促使行业内企业向专业化方向发展。 在软件业较发达的国家,软件测试产业已形成规模,比较发达,软件测试不仅早已成为软件开发的一个重要组成部分,而且在整个软件开发的系统工程中占据着相当大的比重。在微软公司内部,软件测试人员与软件开发人员的比例一般为1.5∶1到2.5∶1左右,即一个开发人员背后,有至少两位测试人员在工作,以保证软件产品的质量。国外优秀的软件开发机构把40%的工作花在软件测试上,软件测试费用占软件开发总费用的30%至50%,对于一些要求高可靠性、高安全性的软件,测试费用甚至相当于整个软件项目开发所有费用的3至5倍。 从国内软件公司软件测试部门的独立性来看,多数软件企业没有专门的测试技术部门,软件测试程序也不太规范,多数企业也不懂测试,对测试的投入资金过少。大多数是在经过简单地测试之后,就认为没有问题了,就交于用户了,让用户去“测试”。于是,软件产品在没有经过严格测试的情况下就发布了。对国内消费类软件而言,经常出现一些已经推向市场的产品由于被发现有严重缺陷而导致大量退货的现象。定制的行业软件,常出现一再返工、无限期的修改和维护的现象。 当前国内软件测试行业主要存在以下问题: -1. 软件规模越来越大,功能越来越复杂,如何进行充分而有效的测试成为难题; +1. 软件规模越来越大,功能也越来越复杂,如何进行充分而有效的测试成为难题; 2. 面向对象的开发技术越来越普及,但是面向对象的测试技术却刚刚起步; 3. 对于分布式系统整体性能还难以进行很好的测试; 4. 对于实时系统缺乏有效的测试手段; @@ -432,7 +431,7 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 2. 人才缺口大; 3. 女性员工受到青睐; 4. 未来发展空间大; -5. 外包为主。 +5. 主要服务以外包为主。 #### 1.5.3 软件测试职业发展 1. 技术方向 @@ -529,7 +528,7 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 ### 2.1 概述 1. 从软件测试的目的来理解 - 软件测试的目的是发现软件中的错误,是为了证明软件有错,而不是无错。是在软件投入运行前,对软件需求分析、设计和编码各个阶段产品的最终检查,是为了保证软件开发产品的正确性、完整性和一致性。 + 软件测试的目的是发现软件中的错误,是为了证明软件有错,而不是没有错。是在软件投入运行前,对软件需求分析、设计和编码各个阶段产品的最终检查,是为了保证软件开发产品的正确性、完整性和一致性。 2. 从软件测试的性质来理解 @@ -549,14 +548,14 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 ### 2.2 测试的目的和原则 #### 2.2.1 测试的目的 -1. 测试不仅仅是找出错误。通过分析错误产生的原因和错误的发展趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便即时改进; +1. 测试不仅仅是找出哪里有错误。通过分析错误产生的原因和错误的发展趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便即时改进; 2. 检测产品是否符合用户要求; 3. 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法; 4. 提升用户体验。 #### 2.2.2 测试的原则 1. 软件测试是证伪而非证实; -2. 尽早地、不断地进行测试; +2. 尽早地、并且不断地进行测试; 3. 重视无效数据和非预期的测试; 4. 应当对每一个测试结果做全面的检查; 5. 测试现场保护和资料归档; @@ -605,7 +604,7 @@ IEEE729-1983 (电气和电子工程师协会标准IEEE) 对缺陷有一个标准 #### 2.4.1 简介 测试用例是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括:测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。 -简单的认为,测试用例是为某个特定目标而编制的一组测试输入、执行条件和预期结果,用于核实是否满足某个特定的软件需求。 +可以简单的认为,测试用例是为某个特定目标而编制的一组测试输入、执行条件和预期结果,用于核实是否满足某个特定的软件需求。 选择测试用例是软件测试员最重要的一项任务,不正确的选择可能导致测试量过大或者过小,甚至测试目标不对。准确评估风险,把无穷尽的可能性减少到可以控制的范围是软件测试成功的诀窍。 -- Gitee