测试用例
测试用例是测试的核心; 定义 某个特殊目标而编制的一组测试输入,执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个需求。 用例的重要性: 1.有效性。2.可复用。3.易组织。4.可评估性。5.可管理性。
测试用例的基本准则 代表性。结果可判定性。结果可再现
如何选择测试方法 在任何情况下都必须使用边界值分析方法 用等价类划分方法补充一些测试用例 涉及到业务流程的软件,应采用场景法 用错误猜测法再追加一些测试用例 如果程序的功能说明中含有输入条件的组合情况,则应在一开始就选用判定表法 如果程序某功能适合自动测试,可以采用自动测试以及随机测试
测试流程
软件生命周期
可行性研究需求分析——设计编码,测试——软件发布 维护——淘汰
软件的定义 : 问题定义。可行性研究。需求分析
软件研发模型
一:大爆炸式 特点:简单,计划、进度安排和正规开发过程几乎没有, 所有精力都花在开发软件和编写代码上,没有测试活动
二:边写边改模式 特点:开发组最初有粗略的想法,进行简单的设计,然后 开始漫长的来回编写、测试和修改缺陷的过程。适合快速 制作而且用完就扔的小项目。
三:瀑布模型 特点:瀑布模型非常强调产品的定义——开发或者代码编制阶段只是其中单独的一块 瀑布模型各步骤是分立的\没有交叉 瀑布模型无法回溯 ——一旦进入某个步骤,就要完成该步骤的任务,然后才能向下继续——无法 回溯;每个阶段都要仔细验证,线性过程太理想化,越来越不适合现代软件的开发 模式
四:快速原型模型 克服瀑布模型的缺点,更好地满足用户的需求并减少由于软件需求不明确带 来的项目开发风险。 适合预先不能确切定义需求的软件系统的开发。 不适合大型系统的开发(适合开发小型的、灵活性高的系统)。 前提要有一个展示性的产品原型,因此在一定程度上可能会限制开发人员的 创新。
五:螺旋模型 特点:开始不必详细定义所有细节 。从小开始,定义重要功能,努力实现。接受反馈,进入下一次循环。测试活动贯穿于每个循环。
六:敏捷开发 敏捷开发流程: 1.产品经理调研客户需求,协商需求的优先级,进行排序 2.项目经理接收到需求,分配任务,计划研发:迭代任务2-6周一个周期 3. 迭代周期,每日站会(立会),讲述昨天任务完成情况,今日计划安排,遇到什 么问题等。参会人员有开发、测试、QA、设计人员等 4. 交付客户进行确认,一个迭代周期结束需要开反思会,避免下个周期出现同样的 错误 5. 进入下一个迭代周期…直到交付客户的所有需求,避免了后期出现大量不符合客 户需求的功能
测试生命周期及模型
生命周期
V模型
优点:在V模型里,强调软件开发的协作和速度,反应测试活动和分析测试 的关系,并且将软件的实现和验证有机的结合了起来,V模型,明确的界 定测试过程是存在不同阶段的。 缺点:但是V模型也有一定的局限性,它仅仅把测试过程放在需求分析、系统 设计、编码之后的一个阶段,忽视了测试对于需求的分析和验证。我们对 需求的验证,对系统设计的验证,到后期的验收测试才有可能被发现,对 于我们测试当中的测试需要尽早进行的原则在V模型中没有体现,这是V模 型的局限。
W(双V)模型
优点:开发与测试并行,有利于尽早发现问题,有利于及时的了解项 目的测试风险,来及早的执行相应的应对方案,加快项目的进度。 局限性:需求、设计、编码仍然是串行进行的,测试和开发保持线性 的关系,上一个阶段完成之后才能进行下一个阶段,不能够很好的支持 迭代的开发模型。
H模型
H模型强调把测试分为测试准备和测试执行两个不同的阶段,只要由于其 他流程的进展引发了测试就绪点的到位,这时候,只要测试准备完成,测试 执行活动就可以或者需要开展,,具有很强的灵活性。在H模型当中,测试 是一个完全独立的模型,所以可以和其他的流程交叉地进行,也便于我们尽 早的执行测试。
X模型
左边描述的是针对单独的程序片段相互分离的编码和测试,此后进行频繁的 交接,再通过集成,最终合成可执行的程序,然后再对这些程序进行测试,已 经通过的程序可以进行封板提交给用户,也可以作为更大集成的一部分,X模 型还定位了探索式测试,探索式测试是不进行事先计划的特殊类型的测试,能 够帮助测试人员在测试计划之外发现更多的错误
不足:给个知识点掌握程度有待加强
|