(属于软件测试基础知识)
(了解)
开发模型:
1.敏捷开发模型:
这是一种新的模型, 前面的几种都是属于传统型。它能适应快速需求变化,交付周期短,轻量级的开发模式。
2.增量开发模式:
项目被划分为一系列的增量,每一个增量都交付整个项目需求中的一部分功能。需求按优先级进行划分增量的交付。
3.迭代开发模型:
项目被分为大量选代过程,一次迭代就是一个完整的开发循环,是一个可以发布的可执行的产品,属于软件开发周期中最终产品的一个子集。
新项目:全部新功能
老项目:都是迭代更新
测试的基本原则:
1.测试的标准是用户需求。
2. 测试不仅仅是单纯的软件本身的测试(如环境,需求)。
3. 软件外在没有失效不代表软件系统是可用的(软件外部可疑点击,用户无法登陆)。
4. 软件的完美度没有完全正确的,测试只能帮助软件更加完美,更加正确。
5. 穷尽测试是不可能的(有些条件组合非常多穷尽测试是不可能的)。
6. 测试应该尽早介入(早期引入的问题占到整企问题数目的50%以上)。
7. 二八原则(80%的缺陷或错误会集中出现在20%的区域中)。
8. 杀虫剂效应(也就是说要不断更新用例,因为反复的执行相同的测试用例将会发现新缺陷的能力几乎为零)。
9. 测试活动依赖测试对象(测试的关注点不一样,有的更多关注安全和性能的测试)。
10. 尽量选择第三方测试(避免自己测试自己开发的程序)。
软件测试分类(了解)
一、按开发阶段测试:
1.单元测试
2.集成测试
3.系统测试
4.验收测试
二、按查看代码划分:
1.黑盒测试(功能测试):
(1)定义:测试中把被测试的软件当成一个黑盒子,不关注盒子的内部结构是什么,只关注软件对的输入数据和输出数据;
(2)比如:计算器输入:1+2 结果=3
2. 白盒测试(也称为透明测试,逻辑测试,代码测试):
(1)定义:打开盒子去研究里面的源代码和程序结果
(2)比如:a+b=c 实际写
a*b=c 写错符号
输入:1+1=2 结果是:1
4.灰盒测试:
定义:介于白盒测试和黑盒测试之间一种,灰盒测试主要用于集成测试,不仅关注输入,输出的正确性,同时也关注程序内部的情况。
三、按是否运行划分:
1.静态测试:指不运行被测程序本身,仅通过分析和检查源代码的语法,结构,来检查程序的正确性。
2.动态测试:指通过运行被测程序,检查运行结果和预期的结果的差异,分析运行效率,正确性等。
四、按测试对象划分:
1.功能测试
2.性能测试
3.安全测试
4.兼容测试
五、按测试实施对象组织划分:
1.内部测试(甲方)
2.外部测试(乙方)
3.第三方测试(第三方背调公司)
六、按是否手工测试:
1.手工测试(点点)
2.自动化测试:通过工具或代码代替手工测试;UI自动化,接口自动化
七、按测试区域划分:
1.本地化测试(中国)
2.国际化测试:(1)日期 (2)语言 (3)金钱 (4)度量单位 (5)外观