|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/black-box-white-box-testing
课程评论:没有评论
课程名称:黑箱与白箱测试 概述:完成本课程后,学习者将掌握多种黑箱和白箱测试技术,并能够将所学知识应用于实践,创建有效的测试用例集(称为测试套件),以有效发现软件缺陷。学习者将审查可测性的需求、为自动化测试创建一个预期值、评估测试套件的缺陷发现有效性,并使用多种技术生成输入。 学习完成后,您将能够: - 评估需求的可测性 - 定义程序规范中的可测试单元 - 应用黑箱测试输入选择方法,具体包括边界值分析、模糊测试和随机选择,并选择最适合的测试方法 - 使用变异测试评估功能测试套件的缺陷发现有效性 - 使用类别划分开发基于给定软件规范的自动化功能测试(使用Cucumber工具) - 从程序描述中创建预期值预言,以在生成的测试中使用 为了顺利完成本课程,您应该具备面向对象编程语言(如Java)的经验,安装有集成开发环境(IDE)(如Eclipse),并熟悉测试术语(可参考此专业方向内的《软件测试简介》课程)。我们还希望您对软件开发生命周期及测试阶段的背景有所了解。 本课程主要面向以下角色的学习者:软件工程师、测试软件工程师、测试自动化工程师、DevOps工程师、软件开发人员、程序员、计算机爱好者。 大纲: 模块1:介绍 描述:在本模块中,我们将学习测试充分性的基础知识,以及影响测试有效性的因素和如何量化这些指标。 模块2:黑箱与白箱技术 描述:在本模块中,我们将学习可用于黑箱和白箱测试策略的多种测试技术。 模块3:基于需求的测试 描述:在本模块中,我们将重点关注基于需求的测试,从测试的角度审查一组需求,随后转向更复杂的需求书写方式:使用Cucumber工具的结构化需求。 模块4:使用Cucumber进行黑白箱测试 描述:在本模块中,我们将深入使用Cucumber工具集,实现针对两个示例项目的多种测试策略。
Name:Module 1: Introduction
Description:In this module, we will learn about the basics of testing adequacy, as well as the factors that influence testing effectiveness and how we quantify these metrics.
Name:Module 2: Black and White-box Techniques
Description:In this module, we will learn a variety of testing techniques that can be used in both white-box and black-box testing strategies.
Name:Module 3: Requirements-Based Testing
Description:In this module, we focus on requirements-based testing. We review a set of requirements from a testing perspective and then move on to a more sophisticated way of writing requirements: structured requirements using the tool Cucumber.
Name:Performing Black and White Box Testing with Cucumber
Description:In this module, we go further in using the Cucumber toolset in order to implement a variety of testing strategies against two example projects.
After completing this course, learners will have an understanding of a variety of black-box and white-box testing techniques. The learner will have put this understanding into practice, creating effective sets of test cases (called a test suite) to properly exercise software for defect finding. The learner will have examined requirements for testability, created an oracle for automated testing, assessed fault-finding effectiveness of test suites, and generated inputs using a variety of techniques. After completing this course, you will be able to: - evaluate testability of requirements - define testable units within a program specification - apply black-box test input selection methods - specifically boundary-value analysis, fuzzing, and random selection - and select the method most-suited to achieve the given testing objective - assess the fault-finding effectiveness of a functional test suite using mutation testing - use category partitioning to develop automated functional tests (with Cucumber) based on a given software specification - create an expected-value oracle from a program description to use within the generated tests In order to do well in this course, you should have experience with an OOP language (like Java), have an IDE installed (e.g., Eclipse), and be familiar with testing terminology (see Intro to Software Testing course within this specialization). we also expect a familiarity with the Software Development Lifecycle and the context in which the testing stage sits. This course is primarily aimed at those learners interested in any of the following roles: Software Engineer, Software Engineer in Test, Test Automation Engineer, DevOps Engineer, Software Developer, Programmer, Computer Enthusiast.