以下是这段时间测试手机app的流程总结。
从需求阶段开始介入。参加软件功能设计,在软件编码之前,在仍有可能大的设计变更的时候,积极参加软件的计划阶段,这会帮助我们了解正被考虑的折衷和权衡从而了解客户需要的产品的雏形。在此阶段内,可以进行测试用例的设计,因为在设计测试用例过程中,更加容易掌握整个应用的流程功能,并且还能将设计图上模糊或不合理的纠出来,从而进一步明确需求。
界面搭建阶段开始展开测试。由于移动平台的厂商,机型较多。同一个界面在不同屏幕的手机有不同的表现。尤其是android系统低分辨率的手机容易出现图标按钮的拉升、畸形的现象。所以在功能逻辑测试前 尽量进行一次UI测试,以减少开发风险。畸形覆盖测试应尽可能覆盖不同的操作系统及流行的厂商的机型。
功能测试中最常用的测试方法莫过于回归测试了。开发人员在完成某一功能模块的编码工作后,就交互给测试人员进行测试。测试人员根据测试用例进行测试,在完成一轮测试后,将测试过程发现的bug提交到项目管理工具上,如jira,redmine,bugzilla, testdirecor等。并根据每个bug的影响严重程度划分优先级。将其assign给相应的开发人员。开发人员根据bug的优先级进行修改。修复完成后,测试人员进行第二轮测试,也就是回归测试。回归测试的目的一方面在于验证bug是否修改好,另一方面则是为了检查开发人员在修复bug过程中有没有引入新的问题。
功能测试侧重于一个模块的测试。在进行完各个模块的功能测试后,接下来就应该进行系统测试。集成测试展开的目的是为了检查模块在整合之后会不会造成某些功能不可用或数据传递接收是否正常。
系统测试完成后,应该再进行一次机型覆盖测试。与前面的界面机型覆盖测试不同,这一轮的机型覆盖测试关注的是逻辑功能层面。因为有些逻辑代码在某些系统是不工作的。在我的测试经验中,就遇到不少类似的例子。比如某个方法在ios6以上的机子是可以正常工作的,但是ios5的机子则不能正常工作。
系统测试结束后进行最后一轮的验收测试。此轮测试根据验收文档的验收点,一一进行验证。以保证交到客户手中的版本缺陷是最小的。
如需了解更多测试技术信息请关注:深圳多测师软件与技术服务有限公司
1 开发测试用例的基本策略
在测试中,有两种不同的测试思路,它们分别是功能性测试和结构性测试。
功能性测试,也称为黑盒测试,其基本理念是:任何程序都可以被看作是将输入定义域取值映射到输出值域的函数。采用功能性测试来开发测试用例,唯一使用的信息是软件的规格说明。
结构性测试,也称为白盒测试,即测试人员将根据功能实现的方式来开发测试用例。
功能性测试的优点在于,其开发的测试用例是与软件实现无关的,即使实现发生改变,测试用例依然有效。功能性测试的缺点在于,其开发出的测试用例可能存在严重的冗余。
结构性测试的优点在于它可以提供定义良好的测试覆盖率指标,从而能够可视化地表现软件的已测试范围,而其缺点在于其开发出的测试用例依赖于实现。
因此,我们开发测试用例的基本策略是:采用功能性测试的方法来开发测试用例,然后利用测试覆盖率指标来提高测试覆盖范围和去除冗余的测试用例,从而保证测试用例的质量。
上述的测试用例的开发策略体现了这样一种思想:单元测试所测试的是类或对象的行为,而不是类或对象的成员函数;单元测试应该以行为为中心,而不必担心是哪个类在被测试。有些成员函数只是参与到一个特定的功能(feature)中,而不是实现该功能,因此不值得单独测试这样的成员函数。将重点放在测试行为上,而不是每个单独的成员函数上,我们就可以更好地兼顾到测试的覆盖率和重构的简易度。
2 边界值测试
边界值测试是基于如下的两个假定:
软件的bug更可能出现在输入变量的极值附近.
软件失效极少由两个(或更多)缺陷同时发生所引起.
基于以上的假定,边界值测试按如下的方法产生测试用例:
对每个输入变量,在其最小值、略高于最小值、略低于最大值和最大值处取值,这4个值被记为min,min+,max-和max。
只让一个变量取以上的极值,而其他变量都取出正常值。
边界值测试很适合于输入变量是互相独立的物理量的情况。这里的关键词是“独立”和“物理量”。由于这些变量互相独立,因此我们可以仅让其中一个变量取极值,而让其他变量取正常值。由于这些变量是物理量,因此它们往往存在极值(即使不存在极值,我们常常也可以人为设定出用于测试的极值)。
3 健壮性测试
健壮性测试负责测试被测方法对异常情况的处理是否正确。在单元测试中,我们应该通过模拟异常情况的发生,来测试错误处理逻辑。
但是必须注意的是,如果被测方法本身并没有被要求必须处理某类异常情况,那么就无需对被测方法进行健壮性测试。仅对真正需要进行异常情况处理的代码作健壮性测试。
4 等价类测试
等价类测试的思想是通过每个等价类中的一个元素来开发测试用例,从而降低测试用例的冗余度。等价类测试的关键是确定出类的等价关系,通常的方法是预测可能的实现,并考虑在实现中必须提供的功能操作。
等价类测试不仅可以针对输入变量划分等价类,也可以针对输出结果划分等价类。因此,在使用等价类测试时,要兼顾输入和输出,通盘考虑,这样往往会有很好的测试效果。当划分出合理的等价类之后,在等价类的边界值处进行边界值测试,将带来更好的测试效果。
一些常见的划分等价类的标准有:
● 存在与否
● 取值范围
● 元素顺序
● 元素个数
● 数据格式