1、软件的定义
软件是 程序+数据+文档 的组合
2、软件测试定义
(1)为了发现程序中的错误而执行程序
(2)在规定的条件下对程序进行操作,以发现程序中存在的问题,对产品质量进行评估
(3)使用人工或自动手段,来原型或测定某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别
3、测试目的
观点一:
(1)测试是程序的执行过程,目的在于发现错误
(2)一个成功的测试用例在于发现至今未发现的错误
(3)一个成功的测试是发现了至今未发现的错误的测试
这种观点支出测试时以查找错误为中心,而不是为了证明软件的正确功能。
观点二:
(1)确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明
(2)确保产品是健壮的和适应用户环境的
(3)确保最终交给用户的产品符合用户的需求,在产品交给用户之前尽早、尽可能多的发现问题,并协助开发改正问题,共同保证产品的质量。
4、单元测试
定义:单元测试是最小的测试单位,如类,函数,存储过程等,一般这个阶段开发会进行自测
5、集成测试
在单元测试的基础上将已经通过测试的单元测试模块按照设计要求组装成系统或子系统,在进行的测试,目的是找出被测系统组件之间关系和接口中的错误。
6、确定测试
定义:有集成测试进入系统测试之前,需要对软件是否可以进行系统测试进行评价,这个过程为确认测试。
确认测试工作包括:有效性测试、软件配置审查
7、系统测试
定义:通过硬件、软件、外设和人员等一系列元素组成的测试
8、bug
bug表示错误,程序中错误或者不合理的地方
9、软测分类
(1)阶段划分:单元测试、集成测试、系统测试
(2)类型划分:
静态测试:不允许程序本身,而是去分析代码,检查代码中的类、函数过程等
动态测试:值功能测试,通过输入测试数据,测试运行是否符合我们的预期结果
(3)方法划分:
白盒测试:又称结构测试、逻辑驱动测试或基于程序本身的测试
黑盒测试:又称功能测试,不需要管黑盒子中程序运行过程的处理,只看输入数据和输出结果
灰盒测试:介于白盒测试与黑盒测试之间的测试
冒烟测试:是每一个新编译的需要正式测试的软件版本,目的是确认软件基本功能正常,可以进行后续的正式测试工作
回归测试:发生修改之后重新测试先前的测试以保证修改的正确性。理论上,对软件的任何新版本都需要进行回归测试,验证以前发现和修复的错误是否在新软件版本上再现,并确认曾经通过的功能不会出现问题
性能测试:评价一个产品或组件与性能需求是否符合的测试,包括负载测试、强度测试、数据库容量测试、基准测试等类型
易用性测试:简单来说就是用户体验测试,是提供给用户一个良好、简单、便于交互的测试方法
安装测试:确保该软件在正常情况下和异常情况的不同条件下能够正确安装
界面测试:测试用户界面的风格是否满足客户要求,文字是否正确,页面是否美观,文字图片组合是否完美,操作是否友好等
文档测试:检查文档的正确性,完备性,可理解性
兼容性测试:测试软件是否和系统的其他预支交互的元素之间兼容
安全性测试:检查系统对非法侵入的防范功能,检查系统中已经存在的系统安全性、保密性措施是否发挥作用,有无漏洞
恢复测试:检查系统的容错率
随机测试:没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查
10、负载测试和压力测试
负载测试:用于检查系统在使用大量数据的时候正确工作的能力,即检验系统的能力最高能达到什么程度
压力测试:获取系统正确运行的极限,检查系统在瞬值负荷下正确执行的能力