软件工程
在给定成本和进度的前提下,开发出可维护性、可复用性、安全性高且满足用户需求的软件产品,并且有效地维护它
CS和SE的区别
CS负责设计和开发计算机程序、软件以及应用系统,所涉及的领域更深、更广
SE专注于设计和创建高品质的计算机软件系统
软件生命周期
问题定义,可行性分析,需求分析,开发,维护
开发模型
瀑布模型,原型模型,增量模型,螺旋模型,统一软件开发模型
黑盒测试
把被测软件视为一个黑盒子,只考虑输入输出,不考虑内部的逻辑。
依据是开发各阶段的需求规格说明
方法:等价划分法,边界值分析法,错误推测法,因果图法
白盒测试
把黑盒打开,研究源代码和内部的逻辑结构
基本路径测试法
测试方法
动态测试,静态测试,正确性证明