软件构造课程重点

你离开我真会死。 提交于 2020-03-02 16:32:05

软件构造课程重点

Focus of Software Construction Course

本文按照哈尔滨工业大学软件构造课程的授课顺序展开,
可以帮助读者快速系统地了解高校软件构造课程的授课脉络、重点,提纲挈领,
但不适合作为全面系统性学习的主要参考资料。
 

1.1 软件构造中的多维视图

1.1 Multi-Dimensional Views of Software Construction

软件构造的三维视图
不同视图之间的转换
 

1.2 软件构造的质量目标

1.2 Quality Objectives of Software Construction

  1. 外部质量因素影响用户
    External quality factors affect users
  2. 内部质量因素影响软件本身和它的开发者
    Internal quality factors affect the software itself and its developers
  3. 外部质量取决于内部质量
    External quality results from internal quality

1.2.1 外部指标

1.2.1 External quality factors

软件质量的几个外部指标

1.2.2 内部指标

1.2.2 Internal quality factors

软件质量的几个内部指标

1.2.3 折中

1.2.3 Tradeoff between quality properties

  1. 虽然需要折中,但“正确性”绝不能与其他质量因素折中
  2. 最重要的几个质量因素
    Correctnessand robustness: reliability
    Extendibilityand reusability: modularity
     

6.5 软件测试与测试优先的编程

6.5 Testing and Test-First Programming

6.5.1 初步了解各类测试

6.5.1 Introduction to various software tests

几种软件测试
单元测试:只测试单个模块(方法、类)
集成测试:多个模块
系统测试:非软件的东西集成进来,软硬件的测试
验收测试:甲方根据合同要求测试
回归测试:一旦程序有改动(改了bug),重新(头)执行之前的所有测试

静态分析:在buildtime发生,人眼去看代码
Testing:在runtime发生,为了发现错误
debugging:在runtime发生,为了找到在哪里错了

黑盒测试:不考虑内部代码,只测试程序外部表现出来的行为(只由spec测试功能)
白盒测试:考虑了程序内部代码的结构

为什么不能做到完备性测试?
不可能把所有输入(路径)都尝试一遍,这就需要折中

6.5.2 好的测试用例

6.5.2 Good test case

好的测试用例的特征
好的测试用例的特性
Choosing Test Cases by Equivalence Partitioning
Include Boundaries in the Partition
代码覆盖度
显式记录下你的测试特性
 


文中的PPT截图来自哈尔滨工业大学软件构造课程课件
本文将在本学期内持续更新完成…

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!