软件测试基础2(软件测试)

测试六问:

why:为什么测试?对功能、性能、可用性、容错性、安全性等测试,检查是否符合相关要求。

what:测试什么?测试对象包括文档、代码、图标等。

where:测试哪里?测试用例的环境,包括系统的硬件、软件和网络环境等。

when:什么时候测试?测试用例所需的前提条件是尽快开始。

which:什么数据?测试用例设计的各种数据。

how:如何执行?结果怎么样要根据测试用例设计的步骤来执行,最后进行结果比较,确定是否一致。若一致才能通过测试。

 

测试是为了发现错误而执行的一个程序或者系统的过程。

测试不单纯是发现错误的过程,而且包含软件质量评价的内容

测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量

测试是为了度量和提高被测试软件的质量,对测试软件进行工程设计、实施和维护的整个生命周期。

 

软件测试只能证明软件存在错误,而不能证明软件没有错误。

 

测试的目的:把软件的错误控制在一个可以进行产品交付的程度,把错误控制在一个合理的范围之内。

软件测试包括:单元测试、集成测试、确认测试、系统测试、验收测试。

大量资料证明60%以上的软件错误并不是程序错误,而是分析和设计错误。

 

软件的质量软件满足规定或者潜在用户需求特性的总和。

包含内部质量、外部质量、使用质量

 

质量保证QA:质量保证的重要工作通过预防、检查与改进来保证软件质量。着眼与软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找到问题或者评估。

软件测试:对过程的产物以及开发出的软件进行剖析。对开发文档和源代码进行走查,运行软件,以找出问题,报告质量。对测试中发现的问题进行分析、追踪与回归测试.

 

测试的目的:

测试是程序的执行过程,目的在于发现错误

一个好的测试用例在于能发现至今没有发现的错误

一个成功的测试是发现至今没有发现的错误的测试

 

测试的原则:

所有软件测试都应该追溯到用户需求。

完全测试是不可能的,测试需要终止:1.输入量太大   2.输出结果太多  3.路径组合太多

测试无法显示软件潜在的缺陷

充分注意测试中的集群现象。

程序员应该避免检查自己的程序

尽量避免测试的随意性。

 

测试阶段的划分:

单元测试:测试模块的功能、性能、接口、设计约束。从程序内部结构出发进行测试。

集成测试:将所以程序模块进行有序的、递增的测试。集成测试是检查程序单元或者部件的接口关系。

冒烟测试:每次提交版本时对功能进行验证的测试。

确认测试:通过检验和提供客观证据,证实软件是否满足特定预期用途的需求,是否满足软件需求说明书规定的要求。

系统测试:验证和确认系统是否达到其原始目标,对集成的硬件和软件系统进行的测试。

验证测试:按照项目任务书、供需求双方约定的验收依据文档进行对整个系统的测试与评审,决定是否接受或拒绝系统。

 

测试实施的划分:

开发方测试(a测试)、用户测试(b测试) 第三方测试(独立的测试机构)

 

测试用例要有以下几个原则:

代表性:测试用例能代表并覆盖各种合法和不合法的、边界内和越界的以及极限输入数据、操作环境的设置。

可判性:测试执行的结果的正确性是可以判定的。每一个测试用例都应该有相应的预期结果。

可再现性:对于同样的测试用例,系统执行的结果应当相同,并且相同测试的执行过程可以反复操作。

 

测试的划分:

黑盒测试:只检查样序是否按照需求规格说明书的规定正常实现

白盒测试:了解程序结构和处理过程,检查是否所有的结构以及路径都是正确的,检查软件内部动作是否按照设计说明的规定进行正常进行。

灰盒测试:表征性的现象、事件、标志来判断内部的运行状态。

静态测试:走查、符号执行、需求确定等

动态测试:人工或工具运行程序进行检查、分析程序的执行状态和程序的外部表现。

 环境测试: 

环境测试 = 硬件 + 软件 + 网络 + 数据。

posted @ 2019-10-29 20:28  寂静音无  阅读(198)  评论(0编辑  收藏  举报