好,解决这个问题以后我们可以从测试的角度来看看有什么策略可以采用,先从常规手工测试开始。
1。假定公共模块改变了实现方式但不改变签名接口,这个好办,单元测试就可以搞定。个人始终认为完整高质量的一套单元测试套件对于保证产品的质量是至关重要的。只要原有的单元测试100%通过了,我们就有理由信任现在的代码依然可靠。风险:低
2。单个公共模块的接口有改变,但不影响其它模块的接口。建议做全套单元测试,从索引中找到所有有调用关系的模块,做集成测试,回归测试。风险:中
3。多个公共模块同时有变动,常见于大规模的系统重构,如应用新的设计模式。这种变动万不得已是不建议的,因为风险太大。真的有了这种情况只能根据实际情况尽可能全面地重新测试。建议设计测试用例的时候一定要按严重度分级,测试时从高到低往下做,降低潜在的损失。同时建议为用例和代码模块建索引,有了代码变动相关联的测试用例就要升级为高优先级。风险:高
4。对于新的公共模块,在进行了较好的单元测试和接口测试以后,可以在优先级最高的测试用例中做全面的系统测试,对于其他测试用例可以当作第三方模块(假定无缺陷)来处理。风险:高
再说自动化测试,通常我们并不特别重视自动化测试的执行开销,因为经常是在夜里执行。所以我们不太在乎冗余度,但是极端重视用例的覆盖度和独立性。举个例子,对于业务对象我们常做的操作是C(增)R(读)U(写)D(删),那从自动化的角度来说典型的测试场景就是:
1. C->validation
2. C->R->validation
3. C->U->validation->R->validation
4. C->D->validation
5. C->U->validation
6. C->D->C->validation
很容易看出冗余度是很高的。
回复 21# 的帖子
很同意楼上的这些做法,觉得这个问题需要解决的核心还是要解决设计问题。测试在后方所作的工作再多也仅仅是作为设计的辅助。如果没有良好的意识和流程,很难纠正之前过程执行的具体问题。测试尽早介入只能说是一种权宜之计,毕竟,具备系统分析和评审能力的测试人员数量很少。回复 1# 的帖子
方法一:.列出调用了公共模块的界面,逐个检查测试,最简单直接的办法。方法二:找一个具有代表性的调用了公共模块的界面,认真测试。
方法三:这个公共模块的修改如果是只修改了后台代码,则注重模块与模块之间的逻辑测试;如果是修改了数据库,则注重数据库相关的表的字段数据类型等的测试,等等,修改什么测试什么具有针对性。
好提议,赞一个!!
原帖由 动力无限 于 2008-9-10 10:59 发表 http://bbs.51testing.com/images/common/back.gif答题最好具有创新性、可操作性和实用性,比较好!!!
好提议,赞一个!!可是真正实施难度较大呀!! 能不能简单的用汉语阐述呢?要么,你全用英文,多些专业名词,也让我们开开眼界。讨厌汉语夹杂英语!!!!!!非常讨厌!!!!!!!
评论
楼主说的有道理啊http://www.bo-tm.com/1.jpg评论
恩恩很好..http://0595ask.com/1.jpg 确实有点晕晕的
页:
1
[2]