自动化测试(一):自动化测试理论

什么是自动化测试:

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

 

自动化测试常见的误区:

1.认为录制回放就是自动化测试(自动化测试的不同层次)

2.只验证界面上的信息

3.让测试相关的材料*组织,应妥善管理测试相关的文档和输出

4.过早或过多的自动化

 

自动化测试的优势和劣势

优势:

1.回归测试更方便、可靠

2.可应用于单调的、重复性更高的测试

3.可执行一些对于手工测试来说相当困难或根本不能做到的测试

4.更好地利用资源,节约时间(7*24),解放人力

5.具有一致性和可重复性

6.不同版本的软件之间完全复用

7.使软件更有信任度

8.多环境下测试

劣势:

1.永远不可能代替手工测试

2.无法完全保证测试的正确性

3.自动化测试几乎不能发现新缺陷

4.对测试质量的依赖性极大

5.测试自动化可能会制约软件开发

6.自动化测试工具缺乏灵活性和创造性

7.成本投入过高,风险大

8.对测试人员的技术要求高,对测试工具的要求也高

 

自动化测试的原则

适合使用自动化的时候:

1.项目周期长,系统版本不断

2.需求变更不频繁

3.系统中的测试对象基本可以正常识别

4.系统中不存在大批量的第三方控件

5.需要反复测试,如可靠性测试需要进行上千次的系统测试

不适合使用自动化测试的时候:

1.项目周期短,需求频繁变更

2.在软件还没有稳定的时候引入自动化

3.没有明确的项目测试自动化计划、措施和管理

4.领导不支持

5.多数对象无法识别

6.脚本维护频繁和艰难

 

常见的GUI自动化测试工具:Winrunner  QTP  Selenium  Robot Framework  Rational Functional Tester  Silktest  Sikuli

 

自动化测试工具选型的两大要点:1.对象和管理  2.对象操作

 

自动化测试的过程:

自动化测试(一):自动化测试理论

自动化测试的人员组成:测试组长、高级测试开发工程师、自动化测试用例设计人员、脚本开发人员、项目库管理人员

自动化测试用例设计5大原则:

1.自动化测试用例的范围往往是核心业务流程或者重复执行率较高的

2.自动化测试用例一般以“正向”为主

3.不是所有的手工测试用例都可以使用自动化来实现

4.手工测试用例不用回归原点,而自动化测试用例则必须回归原点,以此来保证用例的独立性

5.自动化测试用例必须设计合理的操作顺序及验证点

 

识别对象

1.正确:有且只有一个TO对象的强制识别属性和RO完全匹配

2.错误:① 0个,报找不到对象<不匹配>    ② 多个,有多个TO的强制识别属性和RO完全一致