课程详情
课程评价
spContent=软件是人类的智力产品。它从需求分析、构思创建、设计实现、运行维护到终结使用,具有生命周期特征和质量属性。软件质量保证主要策略与方法是持续开展测试活动。软件测试工程师被誉为‘软件医生’。本课程将系统学习软件测试的主要理论、经典技术和在各领域的工程应用。欢迎你加入本课程的学习!
—— 课程团队
课程概述

本课程为普通高校师生(可适用多层次)和各类社会学习者而设置。其目标定位于软件测试工程师与软件开发设计工程师,培养其从事软件测试领域各项工作而应具备的专业技能。课程既为在校生达到软件测试领域专业能力的较高‘入门’水平或继续深造学习的奠基,也为软件测试从业者实现提升职业能力而服务。

  软件测试是高校软件类专业的重要课程之一。本课程主要涵盖软件测试基础理论与知识,经典测试技术原理及方法,软件测试在各软件领域应用策略及实施的过程,软件测试管理,以及测试工程实践,共分五个部分。课程内容覆盖较广、内涵较深、层次较多,并力争与时俱进。

  本课程突出MOOC特点。其内容选取依软件测试的内在体系与逻辑层次进行整体建构,组合为若干相关知识点/链和技能训练的单元/模块,以体现课程资源的相对‘颗粒化’和‘独立性’。这使得本课程既能保持系统性递进模式,也又采取灵活性自主选择,‘量体裁衣,各取所需’,以期最大化实现课程‘能学、好学’、资源共享的设计理念。

  本课程教学策略与学习路径主要是讲解阐述、分析导引、方法解析、技术实践及认知巩固。阅文档、观视频、作习题、交流互动和测验考试是保证获得学习成效的多个必要环节。

  本课程每期安排约16周(68-72学时,仅课内)

授课目标
  • 深入认知软件测试主要理论知识

  • 全面学习软件测试经典技术方法

  • 熟悉掌握软件测试工程应用策略

  • 精心培养软件测试专业技能需求

课程大纲
预备知识

本课程学习将涉及软件系统及程序设计(Java/C、或其他脚本语言)、软件工程、Web技术、移动APP开发、信息/网络安全等领域课程知识和相关技能,以及相关测试工程所关联的业务知识。具备学习本课程相关的知识技能将有助克服学习的障碍,但通过课前、课中及课后对相关知识、技能不足的弥补,同样可降低遇到的困难

参考资料

1. 本课程主配教材《软件测试教程(第3版)》,贺平,电子工业出版社,北京 2014 ISBN 978-7-121-23818-5。该书约涵盖本课程70%内容,建议选用。

 

2. 本课程学习将会运用到多种测试工具/平台。限于某些测试工具的商品属性,无法提供,将尽

     可能给出具同类功能的开源测试工具或链接。

3. 本课程内容涉及的其他参考文献或技术资料,将在课程中列出。

常见问题

Q1:学习者常会问,软件测试课程应当怎样学和怎样才能学得好?

A1:这个问题涉及面较大,问题也会很多。这里,仅作一般性的解答,建议学习者从以下几方面把握:

  * 为获较好的学习成效,学习软件测试需具备软件技术领域的一定基本知识或技能(主要为实践能力)。最好能在课前有以下预备:软件工程、操作系统、互联网技术、移动APP开发、信息安全,以及程序设计、编程技能。教学实践证明,在只有几十个学时的制约下,这个要求是必要的。

  * 软件测试是一项创造性工作,并非单纯体现简单、重复的特点。其所有知识领会与技术运用均需良好的逻辑思维、分析辨识、设计规划及组织实施的能力。教学实践证明,这对课程后期的学习及未来工作显得尤为重要。

  * 目前,软件测试大多涉及或采用自动化测试策略,并对其能力的要求较高。仅以会使用某几个测试工具的操作就能完成测试工作或任务,实际是幼稚的想法,也是对测试本质的不完整、不正确的认知。自动化测试的完美运用既需要人的娴熟操控,更需对测试问题分析、测试对象确立、测试规划科学、测试用例(场景)设计,以及测试执行的全方位能力。自动化测试娴熟掌握与运用,均与测试思维、理解和技术息息相关,需不断实践才可掌握方略。

  * 软件测试本质是采用各种技术措施和有效方法对软件存在的缺陷、错误进行探寻、分析的过程,同时也是对软件质量的特性进行度量的行为活动。面对各种复杂软件系统,要找出其中各种缺陷、错误,绝非易事。软件测试原理相似于医生给患者检查诊断、发现病情和寻求病因的过程。通过各种医学技术手段与方法,对预检科目逐项检查和测定(测试),最终得出综合检查报告,指出哪些方面存在病症或不良体症,哪些生化指标超标了等等。体检过程不仅涉及多种医疗检测仪器的掌握使用,更需汇集运用医学各科知识。我们有时似认为医生操作掌握检测(试)仪器并不困难,但要从检测结果中发现病症就非简单了。同样,如果软件测试仅会简单使用工具基本上还解决不了多少实际问题。系统认知和掌握方法(论),对自动化测试工程问题完全必要。‘知其然’更要‘知其所以然’,这是基础。

  * 软件测试,知名释义,归根到底是需要实践的技术。测试是一项项的活动与过程,同时具备工程特征,应按照工程方法去考虑问题或策划解决过程。本课程设计了一些测试工程(片段)的内容,如测试需求、测试设计、测试实施和测试管理等诸多影响工程的问题与因素。掌握和运用工程方法,需不断实践和体会,并反复提升理论认知,包含知识、技术、策略、规范、经验和总结等,从而为解决实际问题建立科学思维过程,遵循技术标准和工程规范,形成正确的测试思维及工程方法论来制定测试策略和实施。技术实践是深入测试专业学习与技能发展的良好基础。

  * 课程涉及的测试实例或项目(案例)设计,是基于学习活动与实践体验的载体。本课程学习的高境界是追求‘举一反三’能力,而非收获‘西康牦牛只认一个毡房’的肤浅成果。完成各种形式的实践是重要的。

Q2:需要使用特定软件测试工具才能完成课程作业或项目实践吗

A2针对每类测试,目前基本上都能找到相应的测试工具或平台。本课程教学演示会使用特定的测试工具,但学习者也可运用其他同类工具来完成作业或实践。测试工具包括但不限于本课程所列。

Q3:每周会发布多少学习资源,需要花费多少时间学习 

A3:大约按50分钟/每课时设计学习活动。每周发布视频、文档、作业和讨论等教学资源。依据学习者的基础和掌握程度,或许会有更多相关的内容和体量,学习并消化这些内容可能需1.5-2倍的课时,学习者可自行进行时间管理。

Q4:完成该课程可否达到某个软件测试专业资格认证水平,如 ISQTB(国际软件测试专业认证)证书 ?

A4ISTQB证书是全球120多个国家认可的最具权威的软件测试专业资格证书,在全球范围软件测试专业领域和业界通行,有初、高、专家级等多级别及测试领域专项认证,并在不断发展与更新。本课程涵盖了ISTQB-L(基础级)认证的绝大部分内容,并在应用和实践方面超出基础级证书范畴。该基础级认证是申请所有更高级认证的必要条件。