1.软件危机的原则
(1)用户需求不明确
(2)缺乏正确的理论指导
(3)软件开发规模越来越大
(4)软件开发复杂度越来越高
2.按测试目的分类
(1)功能型测试:就是对产品的各项功能进行验证,逐项测试 ,检查是否要求的功能达到用户
(2)非功能型测试:性能,安全性,可使用性,兼容性,开发性
3.功能测试: 4.非功能测试:
(1)单元测试 (1)压力测试
(2)功能测试 (2)效能测试
(3)集成测试 (3)可访问性测试
(4)场景测试 (4)本地化/全球化测试
(5)系统测试 (5)兼容性测试
(6)外部软件测试人员 (6)配置测试
(7)易用性测试
(8)软件安全性测试
5.单元测试:是指对软件中的最小可测试单元进行检查和验证
6.unit tes库提供了很多使用方法来测验程序运行的结果和预期包括三种类型的方法,每一种都覆盖率典型的类型:
-检查相等值
-逻辑比较
-异常
7.效能评估:指对某种事物或系统进行某一项任务结果或进行质量的好坏,作用大小,自身状态,等效率指标的量化计算或结论性评价
效能:指系统在条件下达到规定使用目标的能力
8.代码规范:(1)行长度:每行不超过80个字符
(2)括号:宁缺毋滥的使用括号
(3)缩进:用4个空格来表示缩进代码
(4)空行:顶级定义之间空2行。方法定义之间空一行
(5)空格:按照标准的排版规范来使用标点两边的空格 ,括号内不要使用空格
(6)分行:不要把多个变量定义在一行上
(7)命名
(8)下划线:用来分隔变量的作用域标注和变量的语义
(9)大小写:由多个单词组成的变量名,如果全部是小写,很不易读,一个简单的解决方案就是
用大小写区分它们
(10)注释:为了让程序员更好的理解自己的程序
9.代码复审:(1)定义:框架内正确解决问题
(2)形式:
|
形式 | 目的 | |
自我复审 | 自己VS自己 | 用同伴复审的标准来要求自己。不一定是最有效的,因为开发者对自己总是过于自信。如果能持之以恒,则对个人你有很大好处 | |
同伴复审 | 复审者VS开发者 | 简便易行 | |
团队复审 | 团队VS开发者 | 有比较严格的规定和流程,适用于关键的代码, 以及复审后不再更新的代码覆盖率高---有很多双眼睛盯着程序,但效率keen那个不高 |
(3)目的 : 1)找出代码错误
2)发现逻辑错误
3)发现算法错误
4)发现潜在错误和回归性错误--当前的修改导致以前修复的缺陷又重新出现
5)发现可能需要改进的地方
6)教育开发人员,传授经验,让更多的成员熟悉各项目各部分的代码,同时熟悉和
应用领域相关的实际知识
10.代码复审核查表:
(1)概要部分
(2)设计规范部分
(3)代码规范部分
(4)具体代码部分
(5)效能
(6)可读性
(7)可测试性
11.结对编程优点:(1)better
(2)信心
(3)交流学习
(4)更好的投入产出比
12.结对复审(1)设计复审
(2)代码复审
(3)测试计划复审
(4)文档复审
13.如何结对复审(1)俩人分工明确
(2)轮换制
(3)主动参与,共同承担
(4)平等合作,平等决策
(5)舒适