|
所在平台: Coursera |
课程主页: https://www.coursera.org/learn/software-engineering-implementation-and-testing
课程评论:没有评论
课程名称:软件工程:实施与测试 课程概述: 软件开发生命周期(SDLC)是通过规划、需求分析、设计、实施、测试和维护等过程开发软件的过程。本课程重点关注SDLC中的实施和测试阶段,您将研究大型软件系统开发的不同软件开发过程,并了解不同软件开发过程的优缺点。此外,您还将学习防御性编程技术,以防止在实施过程中出现软件漏洞,并学习如何通过不同类型的测试用例彻底测试系统。 在涉及防御性编程和面向对象测试的话题中,需要具备基本的面向对象编程(OOP)概念。实施由需求分析中得出的UML模型驱动。建议在尝试本课程之前学习“软件工程:使用UML建模软件系统”课程,但这不是硬性要求。 课程大纲: 1. **软件开发简介** 描述:欢迎来到本课程的第一个模块!在本模块中,您将学习:软件开发中涉及的任务,以及软件开发生命周期(SDLC)中的流程。 2. **软件开发流程** 描述:在本模块中,您将了解:不同的软件开发流程,包括瀑布模型、代码修复、原型开发、螺旋模型、阶段发布、敏捷开发、极限编程、持续集成、Scrum和统一过程。 3. **实施与防御性编程** 描述:在本模块中,您将学习:实施的目的和主要活动,以及防御性编程技术,以防止实施过程中的软件漏洞。 4. **调试与配置管理** 描述:在本模块中,您将学习:不同的调试技巧,以及配置管理以管理、控制和监控生命周期文档的变更。 5. **白盒测试** 描述:在本模块中,您将学习:测试的目的、设计测试以在最少的时间和精力下发现缺陷的技巧、白盒测试的概念以及基础路径测试的子域揭示。 6. **黑盒测试** 描述:在本模块中,您将学习:条件测试、循环测试和数据流测试的子域揭示,黑盒测试的概念,通过等价划分揭示子域,以及边界测试的子域揭示。 7. **接受测试** 描述:在本模块中,您将学习:如何执行测试,如何评估测试,以及如何推导接受测试的测试用例。 本课程适合希望深入了解软件开发实施和测试技术的学习者。
Name:Introduction to Software Development
Description:Welcome to the first module of this course! In this module, you will learn: (1) The tasks involved in software development. (2) The processes involved in Software Development Life Cycle (SDLC).
Name:Software Development Processes
Description:In this module, you will learn: (1) Different software development processes, including Waterfall, Code-and-Fix, Prototyping, Spiral, Phased-Released, Agile, Extreme Programming, Continuous Integration, Scrum, and Unified Process.
Name:Implementation and Defensive Programming
Description:In this module, you will learn: (1) The purpose and the major activities of implementation. (2) Defensive programming techniques to prevent software bugs during implementation.
Name:Debugging and Configuration Management
Description:In this module, you will learn: (1) Different techniques for debugging. (2) Configuration management to manage, control and monitor changes to life cycle artifacts.
Name:White Box Testing
Description:In this module, you will learn: (1) The purpose of testing. (2) Design tests that have the highest likelihood of finding defects with the minimum amount of time and effort. (3) What is White Box testing. (4) Revealing subdomains for Basis Path Testing.
Name:Black Box Testing
Description:In this module, you will learn: (1) Revealing subdomains for Condition Testing, Loop Testing, and Data Flow Testing. (2) What is Black Box testing. (3) Revealing subdomains with equivalence partitioning. (4) Revealing subdomains for Boundary Testing.
Name:Acceptance Testing
Description:In this module, you will learn: (1) How to perform tests. (2) How to evaluate tests. (3) Deriving test case for Acceptance Testing.
Software Development Life Cycle (SDLC) is the process of developing software through planning, requirement analysis, design, implementation, testing, and maintenance. This course focuses on the implementation and testing phases of SDLC, and you will examine different software development processes for large software systems development, and understand the strengths (pros) and weaknesses (cons) of different software development processes. You will also encounter defensive programming techniques to prevent software bugs during implementation, and learn how to test your system thoroughly using different types of test cases. Basic object-oriented programming (OOP) concepts are required for topics covered in defensive programming and object-oriented testing. Implementation is driven by the UML models derived from requirement analysis. It is recommended to take the course "Software Engineering: Modeling Software Systems using UML" before attempting this course, but it is not a hard requirement.