您的当前位置:首页正文

软件测试基础知识汇总

2022-05-18 来源:爱go旅游网
黑盒测试主要是为了发现以下错误: 1、是否有不正确或遗漏的功能?

2、在接口上,输入能否正确地接受?能否输出正确的结果? 3、是否有数据结构错误或外部信息(例如数据文件)访问错误? 4、性能上是否满足要求? 5、是否有初始化或终止性错误?

黑盒测试用例方法包括等价类划分法、边界值分析法、错误推测法、因果图法、判定表驱动法、正交实验设计法、功能图法。

等价类划分法:把程序的输入域划分为若干部分,然后从每个部分中选取少数代表性数据作为测试用例,每一类的代表性数据在测试的作用等价于这一类中的其他值。

边界值分析法:对输入或输出的边界值进行测试,通常边界值分析法是作为等价类划分的补充,其测试用例来自等价类的边界。

错误分析法:基于经验和直觉推测程序中可能存在的错误,从而对有针对性的设计测试用例的方法。

因果图法:利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

判定表驱动法:判定表是分析和表达多逻辑条件下执行不同操作的。

正交实验法:从大量的数据中挑选适量的,有代表性的点,从而合理地安排实验的一种科学测试方法。

功能图法:由状态迁移图和布尔函数组成,状态迁移图用状态和迁移来描述,一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变,同时要依靠判定表或因果图表示的逻辑功能。

折叠LR

函数:

lr_start_transaction 为性能分析标记事务的开始 lr_end_transaction 为性能分析标记事务的结束 lr_rendezvous 在 Vuser 脚本中设置集合点 lr_think_time 暂停 Vuser 脚本中命令之间的执行

lr_end_sub_transaction 标记子事务的结束以便进行性能分析

lr_end_transaction 标记 LoadRunner 事务的结束 Lr_end_transaction(\"trans1\

lr_end_transaction_instance 标记事务实例的结束以便进行性能分析 lr_fail_trans_with_error 将打开事务的状态设置为 LR_FAIL 并发送错误消息 lr_get_trans_instance_duration 获取事务实例的持续时间(由它的句柄指定) lr_get_trans_instance_wasted_time 获取事务实例浪费的时间(由它的句柄指定) lr_get_transaction_duration 获取事务的持续时间(按事务的名称) lr_get_transaction_think_time 获取事务的思考时间(按事务的名称) lr_get_transaction_wasted_time 获取事务浪费的时间(按事务的名称) lr_resume_transaction 继续收集事务数据以便进行性能分析

lr_resume_transaction_instance 继续收集事务实例数据以便进行性能分析 lr_set_transaction_instance_status 设置事务实例的状态 lr_set_transaction_status 设置打开事务的状态 lr_set_transaction_status_by_name 设置事务的状态 lr_start_sub_transaction 标记子事务的开始 lr_start_transaction 标记事务的开始 Lr_start_transaction(\"trans1\");

lr_start_transaction_instance 启动嵌套事务(由它的父事务的句柄指定) lr_stop_transaction 停止事务数据的收集

lr_stop_transaction_instance 停止事务(由它的句柄指定)数据的收集 lr_wasted_time 消除所有打开事务浪费的时间

lr_get_attrib_double 检索脚本命令行中使用的 double 类型变量 lr_get_attrib_long 检索脚本命令行中使用的 long 类型变量 lr_get_attrib_string 检索脚本命令行中使用的字符串 lr_user_data_point 记录用户定义的数据示例

折叠

脚本

lr_whoami 将有关 Vuser 脚本的信息返回给 Vuser 脚本 lr_get_host_name 返回执行 Vuser 脚本的主机名

lr_get_master_host_name 返回运行 LoadRunner Controller 的计算机名

lr_eval_string 用参数的当前值替换参数

lr_save_string 将以 NULL 结尾的字符串保存到参数中 lr_save_var 将变长字符串保存到参数中 lr_save_datetime 将当前日期和时间保存到参数中 lr _advance_param 前进到下一个可用参数 lr _decrypt 解密已编码的字符串

lr_eval_string_ext 检索指向包含参数数据的缓冲区的指针 lr_eval_string_ext_free 释放由 lr_eval_string_ext 分配的指针

lr_save_searched_string 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中

lr_debug_message 将调试信息发送到输出窗口 lr_error_message 将错误消息发送到输出窗口 lr_get_debug_message 检索当前消息类 lr_log_message 将消息发送到日志文件 lr_output_message 将消息发送到输出窗口 lr_set_debug_message 设置调试消息类

lr_vuser_status_message 生成带格式的输出,并将其写到 ControllerVuser 状态区域 lr_message 将消息发送到 Vuser 日志和输出窗口 lr_load_dll 加载外部 DLL

lr_peek_events 指明可以暂停 Vuser 脚本执行的位置

lr_think_time 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)

lr_continue_on_error 指定处理错误的方法 lr_continue_on_error (0);lr_continue_on_error ⑴; lr_rendezvous 在 Vuser 脚本中设置集合点 TE_wait_cursor 等待光标出现在终端窗口的指定位置 TE_wait_silent 等待客户端应用程序在指定秒数内处于静默状态 TE_wait_sync 等待系统从 X-SYSTEM 或输入禁止模式返回 TE_wait_text 等待字符串出现在指定位置

TE_wait_sync_transaction 记录系统在最近的 X SYSTEM 模式下保持的时间

折叠

WEB函数列表:

web_custom_request 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求 web_image 在定义的图像上模拟鼠标单击 web_link 在定义的文本链接上模拟鼠标单击 web_submit_data 执行\"无条件\"或\"无上下文\"的表单 web_submit_form 模拟表单的提交 web_url 加载由\"URL\"属性指定的 URL

web_set_certificate 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书 web_set_certificate_ex 指定证书和密钥文件的位置和格式信息

web_set_user 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用

户身份的区域

web_cache_cleanup 清除缓存模拟程序的内容 web_find 在 HTML 页内搜索指定的文本字符串

web_global_verification 在所有后面的 HTTP 请求中搜索文本字符串 web_image_check 验证指定的图像是否存在于 HTML页内

web_reg_find 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索

web_disable_keep_alive 禁用 Keep-Alive HTTP 连接 web_enable_keep_alive 启用 Keep-Alive HTTP 连接

web_set_connections_limit 设置 Vuser 在运行脚本时可以同时打开连接的最大数目 web_concurrent_end 标记并发组的结束 web_concurrent_start 标记并发组的开始

web_add_cookie 添加新的 Cookie 或修改现有的 Cookie web_cleanup_cookies 删除当前由 Vuser 存储的所有 Cookie web_remove_cookie 删除指定的 Cookie

web_create_html_param 将 HTML 页上的动态信息保存到参数中。(LR 6.5 及更低版本)

web_create_html_param_ex 基于包含在 HTML 页内的动态信息创建参数(使用嵌入边界)(LR 6.5 及更低版本)。

web_reg_save_param 基于包含在 HTML 页内的动态信息创建参数(不使用嵌入边界)

web_set_max_html_param_len 设置已检索的动态 HTML 信息的最大长度 web_add_filter 设置在下载时包括或排除 URL 的条件 web_add_auto_filter 设置在下载时包括或排除 URL 的条件 web_remove_auto_filter 禁用对下载内容的筛选

web_add_auto_header 向所有后面的 HTTP 请求中添加自定义标头 web_add_header 向下一个 HTTP 请求中添加自定义标头

web_cleanup_auto_headers 停止向后面的 HTTP 请求中添加自定义标头 web_remove_auto_header 停止向后面的 HTTP 请求中添加特定的标头

web_revert_auto_header 停止向后面的 HTTP 请求中添加特定的标头,但是生成隐性标头

web_save_header 将请求和响应标头保存到变量中

web_set_proxy 指定将所有后面的 HTTP 请求定向到指定的代理服务器

web_set_proxy_bypass 指定 Vuser 直接访问(即不通过指定的代理服务器访问)的服务器列表

web_set_proxy_bypass_local 指定 Vuser 对于本地 (Intranet) 地址是否应该避开代理服务器

web_set_secure_proxy 指定将所有后面的 HTTP 请求定向到服务器 web_set_max_retries 设置操作步骤的最大重试次数 web_set_timeout 指定 Vuser 等待执行指定任务的最长时间 web_convert_param 将 HTML 参数转换成 URL 或纯文本 web_get_int_property 返回有关上一个 HTTP 请求的特定信息 web_report_data_point 指定数据点并将其添加到测试结果中

web_set_option 在非 HTML 资源的编码、重定向和下载区域中设置 Web 选项 web_set_sockets_option 设置套接字的选项

用户关注的是用户操作的相应时间。

其次,我们站在管理员的角度考虑需要关注的性能点 1、 相应时间

2、 服务器资源使用情况是否合理

3、 应用服务器和[url=]数据库[/url]资源使用是否合理 4、 系统能否实现扩展

5、 系统最多支持多少用户访问、系统最大业务处理量是多少 6、 系统性能可能存在的瓶颈在哪里 7、 更换那些设备可以提高性能 8、 系统能否支持7×24小时的业务访问 再次,站在开发(设计)人员角度去考虑 1、 架构设计是否合理 2、 数据库设计是否合理 3、 代码是否存在性能方面的问题 4、 系统中是否有不合理的内存使用方式 5、 系统中是否存在不合理的线程同步方式 6、 系统中是否存在不合理的资源竞争

那么站在性能测试工程师的角度,我们要关注什么呢? 一句话,我们要要关注以上所有的性能点

二、软件性能的几个主要术语

1、响应时间:对请求作出响应所需要的时间,网络传输时间:N1+N2+N3+N4,应用服务器处理时间:A1+A3,数据库服务器处理时间:A2,响应时间=N1+A1+N2+A2+N3+A3+N4 2、并发用户数的计算公式

系统用户数:系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是2000个,那么这个数量,就是系统用户数

同时在线用户数:在一定的时间范围内,最大的同时在线用户数量

平均并发用户数的计算: C=nL / T

其中C是平均的并发用户数,n是平均每天访问用户数,L是一天内用户从登录到退出的平均时间(操作平均时间),T是考察时间长度(一天内多长时间有用户使用系统)

并发用户数峰值计算: C^ 约等于 C + 3*根号C

其中C^是并发用户峰值,C是平均并发用户数,该公式遵循泊松分布理论

3、吞吐量的计算公式

指单位时间内系统处理用户的请求数

从业务角度看,吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量

从网络角度看,吞吐量可以用:字节/秒 来衡量

对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力

以不同方式表达的吞吐量可以说明不同层次的问题,例如,以字节数/秒方式可以表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;已请求数/秒的方式表示主要是受应用服务器和应用代码的制约体现出的瓶颈。 当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:F=VU * R / T

其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间

4、性能计数器

是描述服务器或[url=]操作系统[/url]性能的一些数据指标,如使用内存数、进程时间,在性能测试中发挥着“监控和分析”的作用,尤其是在分析统统可扩展性、进行新能瓶颈定位时有着非常关键的作用。

资源利用率:指系统各种资源的使用情况,如cpu占用率为68%,内存占用率为55%,一般使用“资源实际使用/总的资源可用量”形成资源利用率。 5、思考时间的计算公式

Think Time,从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔,而在做新能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。

在吞吐量这个公式中F=VU * R / T说明吞吐量F是VU数量、每个用户发出的请求数R和时间T的函数,而其中的R又可以用时间T和用户思考时间TS来计算:R = T / TS

下面给出一个计算思考时间的一般步骤: A、 首先计算出系统的并发用户数 C=nL / T F=R×C B、 统计出系统平均的吞吐量

F=VU * R / T R×C = VU * R / T C、 统计出平均每个用户发出的请求数量 R=u*C*T/VU

D、根据公式计算出思考时间 TS=T/R

因篇幅问题不能全部显示,请点此查看更多更全内容