二、重要概念
\1. 软件测试设计的关键问题考虑的几个方面;

链接

谁来进行测试

测试什么

什么时候进行测试

怎样进行测试

测试停止的标准是什么

\2. 动态测试包括哪些方面?

链接

单元测试:对软件中的基本组成单位进行测试

集成测试:软件系统集成过程中所进行的测试

系统测试:对已经集成好的软件系统进行彻底的测试

验收测试:软件在投入使用之前最后的测试

回归测试:软件维护阶段,对验收测试结果进行验证和修改

3.回归测试过程中考虑的策略和因素。

重新运行已经测试过的测试子集,以确保变更没有引发非预计的副作用:

每次对软件进行修改时,就改变了软件配置的某些方面 软件、文档及支持软件的数据

回归测试有助于确保变更 不会引入非预计的行为或者增加的错误

回归测试可以手动进行,通过重新运行一部分测试用例或者全部用例,也可以使用自动捕获/回放工具

4.类测试和传统测试区别。

不再孤立的测试某个操作,而是将其作为类的一部分,相当于传统的单元测试

要考虑类的层次,测试顺序由父类到子类

5.测试用例设计考虑的因素。

测试用例的设计是软件测试的关键所在
设计尽可能少的测试用例来发现尽可能多的错误
设计最有可能发现软件错误的测试用例,同时避免使用发现错误效果相同的测试用例
测试用例的设计方法大体可分为两类:白盒测试和黑盒测试

6.软件缺陷的概念。

软件缺陷是指系统或者系统部件中那些导致系统或部件不能实现其功能的缺陷。

7.黑盒测试和白盒测试的优缺点。

白盒测试:(结构测试)把测试对象看作一个透明的盒子,测试人员根据程序内部的逻辑结构及有关信息设计测试用例,检查程序中所有逻辑路径是否都按预定的要求正确的工作,白盒测试主要用于对模块的测试

黑盒测试:(行为测试)完全不考虑程序内部的逻辑结构和内部特性,只依据程序的功能是否符合他的功能需求

  1. 黑盒测试的优点有 :
    1. 比较简单,不需要了解程序的内部的代码及实现
    2. 与软件的内部实现无关
    3. 从用户的角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题
    4. 基于软件开发文档,所以也能知道软件实现了文档中的哪些功能
    5. 在做软件自动化测试时较为方便
  2. 缺点 :
    1. 不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%
      1. 自动化测试的复用性较低。
  3. 白盒测试的优点有 :
    1. 帮助软件测试人员增大代码的覆盖率。 提供代码的质量,发现代码中隐藏的问题
  4. 缺点 :
    1. 程序运行会有很多不同的路径,不可能测试所有的运行路径
    2. 测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求
    3. 系统庞大时,测试开销会非常大。

8.alpha测试和beta测试的区别
两者的不同主要是测试场所的不同。

Alpha测试是指把用户请到开发方的场所来测试,

Beta测试是指在一个或多个用户的场所进行的测试。

Alpha测试的环境是受开发方控制的,用户的数量相对较少,时间比较集中;

而Beta测试的环境是不受开发方控制的,谁也不知道用户如何折磨软件,用户数量相对比较多,时间不集中。一般,Alpha测试先与Beta测试执行

三、Selenium(含Python)
\1. 掌握selenium八大定位方法,要求能写相关代码,代码一般不超过10行;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Driver.find_element_by_id

Driver.find_element_by_name

Driver.find_element_by_class_name

Driver.find_element_by_css_selector

Driver.find_element_by_xpath

​ 绝对路径:'/html/div/div/input[class="main"]'

​ 相对路径:'//*input[calss=""]'

Driver.find_element_by_tag_name

Driver.find_element_by_link_text

Driver.find_element_by_partial_link_text

2.掌握Selenium常用方法中的基本方法,要求同上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 模拟键盘输入
.send_key()
# 获取标签文本值
.text()
get_attribute('class')
# 窗口最大化
maximize_window()
# 返回窗口标识字符串
current_window_handle()


current_url()

# 返回选择框是否被选中 True/False
is_selected()

is_enabled()

is_displayed()

# 清除输入框值
clear()

quit()

title()

refresh()

back()

forward()


四、测试设计
1. 熟练使用等价类划分方法进行测试设计;

2.熟练使用边界值分析方法进行测试设计;