(三)软件测试的原则
1、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。
2、程序员(开发)应该避免检查自己的程序,软件测试应该由第三方(测试人员)来负责。
3、设计测试用例时应考虑到合法的输入和不合法的输入。
4、在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事,多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。
5、应长期保留所有测试用例,保留测试用例有助于以后修改程序后的回归测试。
(四)软件测试策略
1、选择测试方法:选择最合适当前项目的测试方法(比如项目紧急的时候?项目频繁发版)(例如:重复测试的工作可以采用自动化测试)
2、角色和职责:需要在测试策略里面明确定义各个角色,以及该角色的职责。比如项目经理、测试组长、测试工程师。
3、环境需求:这一点非常重要,它将描述测试时需要的系统环境(软件,服务器Linux,windows,数据库MySQL),包括软硬件以及网络环境等等。在澄清环境需求的时候,测试组织可以识别出资源方面的风险。
4、风险分析:影响测试过程的风险都应该尽早被识别出来,而且必须有相应的解决办法以便消除或减轻这些风险。(例如:人员休假、软件是否完成)
5、测试进度评估:测试进度将会评估完成测试所需要的时间。在设定进度的时候,首先需要明测试范围(比如说这次增加一个D模块,部分功能会影响原来已经上线的B模块的功能)然后根据测试资源的多少来指定能被各方面认可的测试进度计划。
6、回归测试(Regression Testing)策略:回归测试用来保证之前fix bug的代码不会影响软件的其他部分,这样需要我们选择已经执行过的测试用例重新运行。测试人员需要找到一个方法来确定哪些测试用例应该在回归测试中运行,用例不能太多,因为资源有限,用例也不能太少,否则会达不到必须的测试强度。
7、优先级:测试范围内的东西不会都是一样重要的,加上测试资源各种有限,所以为测试的模块排定优先级是十分的必要。
(五)软件测试模型
1、瀑布模型
瀑布模型适合于结构化方法。
软件项目或产品选择瀑布模型必须满足下列条件:
在开发时间内需求没有或很少变化
分析设计人员应对应用领域很熟悉
低风险项目(对目标、环境很熟悉)
用户使用环境很稳定
用户除提出需求以外,很少参与开发工作
2、V模型
优点:包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
缺点:自上而下的顺序导致测试工作在编码后,不能及时的进行修改;实际工作中,需求经常变化,导致V模型步骤反复执行,返工量很大,灵活度较低。
V模型和瀑布模型有一些共同的特性,V模型中的过程从左到右,描述了基本的开发过程和测试行为。
优点:V模型的价值在于它非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各个阶段的对应关系。
局限性:(测试介入太晚)把测试作为编码之后的最后一个活动,需求分析等前期产生的错误知道后期的验收测试才能发现。
3、敏捷模型
4、W模型
定义:开发一个v,测试一个v,组合起来的模型(w模型也叫双v模型)。
5、H模型
相对于V模型和W模型,H模型将测试活动完全独立出来,形成了一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来。
6、探索性测试
探索性测试可以说是一种测试思维模式。
他没有很多实际的测试方法、技术和工具,但是却是所有测试人员都应该掌握的一种测试思维方式。
探索性测试强调测试人员的主观能动性,抛弃繁杂的测试计划和测试用例设计过程,强调在碰到问题时及时改变测试策略。
原文链接:https://blog.csdn.net/AI_Green/article/details/120294907