软件测试题

本文介绍了软件测试中的关键概念,包括数据库的各个阶段、数据类型、范式和性能优化;软件需求的分类、规格说明书和需求阶段工作;测试用例设计方法如等价类划分、边界值分析、因果图法和场景法;以及功能自动化测试的应用和执行。详细阐述了如何发现和优化数据库性能问题,以及测试用例的手动执行步骤和测试报告的编写要点。

1.数据库

1)软件项目周期包括以下几个阶段

开发模型是瀑布模型,开发周期是:需求分析阶段、概要设计阶段、详细设计阶段、代码编写阶段、软件测试阶段、安装部署阶段、售后和维护阶段。
实际项目中,测试在需求分析阶段加入到项目,项目开发和测试也不是这种线性流程,是螺旋上升过程。

2)数据库物理模型

表、列、主键、候选键、外部键;
视图、存储过程、触发器;
完整性检查约束。

3)主要数据类型

数值类型;
日期类型;
字符类型。

4)数据库范式

第一范式:一张表,列具备原子性;
第二范式:每个表只表述一个事情;
第三范式:除了主键以外的其他列都不传递依赖于其他列。

5)数据库技术在软件测试中的应用

功能测试:作为功能测试中的用例之一
数据库测试:数据库设计测试,数据库迁移测试;
性能测试:数据库连接数,SQL语句效率测试;
安全性测试:数据库访问和权限测试,SQL注入root访问的路径只能是本机。

6)数据库设计测试

测试数据库设计文档:
数据库范式:满足二范式以上;
数据类型:字段类型;
约束:主键、外键、唯一性等约束条件;
索引:频繁搜索的字段要有索引,索引不能过多;
数据库其他功能:视图、触发器、函数、存储过程。

7)如何发现数据库性能问题

1.运行SQL语句,判断是否存在事务响应时间过长的问题;
2.MySQL数据库输入mysqlslap查看数据库的性能;
3.查看资源:CPU是否可稳定运行、内存使用等现象。

8)MySQL性能优化

1.运行SQL语句,找出运行很慢的SQL语句;
2.看看是否存在大表,对大表进行拆分或优化;
3.确保数据库的配置是最优的,配置MySQL的my.ini文件。

2.软件需求

1)软件分类

按技术架构划分:
单机版软件:不需要网络,如记事本、计算器;
c/s结构软件:客户端的软件+后台;
b/s结构软件。

2)软件需求规格说明书

一般包含三大方面:
1.功能型需求;
2.非功能性需求;
3.限制性条件。

3)需求阶段的工作

1.评审需求;
2.分析测试要点,编写总体测试方案和测试计划;探测性测试通过可进行性能测试,混合性测试中功能基本没有bug可以进行。

3.测试用例

1)黑盒测试方法常用4种测试用例设计方法

1.等价类划分法:输入条件分为有效等价类和无效等价类;
2.边界值划分:就是输入或输出的边界值进行测试的一种黑盒测试方法;
3.因果图:一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法;
4.场景法:通过运用场景描述系统的业务流程,从而进行测试。
前三种主要测试功能点,最后测试业务流程。

2)等价类划分方法把输入数据分为

1.有效输入数据:符合规格说明要求的合理的输入数据,主要用来检验程序是否实现了规格说明书中的功能;
2.无效输入数据:不符合规格说明书要求的不合理或非法的输入数据,主要用来检验程序是否做了规格说明以外的事。

3)边界值分析法的重要性

1.大量的软件测试实践表明故障往往出现在定义域或值域的边界上,而不是在其内部;
2.为检测边界附近的处理专门设计测试用例,通常都会取得很好的测试效果。

4) 采用因果图法设计测试用例的步骤

1.根据程序规格说明书描述,分析并确定因(输入条件)和果(输出结果或程序状态的改变),画出因果图;
2.将得到的因果图转换为判定表;
为判定表中每一列所表示的情况设计一个测试用例。

5)采用场景法设计测试用例的步骤

1.整理出系统具备的几大业务流程;
2.为每个业务整理出基本流和备选流;
3.为每个流程设计测试用例。

6)设计测试用例的思路

1.阅读软件需求规格说明书或使用系统,了解用户需求;
2.划分出系统的功能模块,要站在用户的角度分析哪些功能模块是重点测试部分,哪些功能模块是次要测试部分(分为2b:功能菜单为导向和2c:按布局上下左右);
3.功能模块分析完成后,开始针对每个功能模块编写测试用例;要根据等价类划分法先写有效测试用例,再写无效测试用例,如果有边界值用例,在根据有效用例写边界值,最后写因果关系;功能点测试后,进行业务流程的测试;
4.每一条测试用例,要列出功能模块、功能点、用例编号、用例说明、前置条件、输入和预期结果;
5.有的次要的功能点,可以把它们概括在一起写测试用例。

7)白盒测试用例设计方法?黑盒测试用例设计方法?

1.白盒测试:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖(遍历代码,模拟参数输入,逻辑判断);
2.黑盒测试:等价类划分,边界值分析,因果图法,场景法(用户的各种输入)。

8)测试用例的手动执行,执行测试步骤

1.根据测试用例的要求,人工进行软件操作,输入数据,观测输出结果;
2.记录原始数据,报告发现的缺陷,解决测试中阻碍进度的问题。

9)测试报告

包括四大部分:
1.本报告的简单说明
2.Bug记录集:功能、测试说明、前置条件、输入、预期结果、测试结果、问题等级
3.测试结果分析:Bug分布图;站在二维角度:站在功能模块统计bug和严重程度角度;
Bug具有集群效应,和系统复杂程度、开发水平有关;
4.测试总结:错误率、开发建议等;定量说话。

4.功能自动化测试

1)功能自动化测试适合场合

简单的、基本稳定的、需要重复进行测试的功能点。

2)如何进行自动化测试

目前主要进行网站的自动化测试
1.搭建开发环境,例:Python+Selenium,采用Selenium自动化测试框架,创建工程;
2.分析测试用例,准备模拟数据,次序从有效用例到无效用例的次序进行编写,通常放置在excel文件里;模拟数据包括输入和预期结果;
测试编写登录Excel输入表内容格式:用例编号 用户名 密码 预期结果
程序:输出表内容格式:用例编号 用户名 密码 预期结果 实际结果 备注
3.为一个功能点创建一个class,编写代码,并调试成功,编写过程如下:
打开浏览器,按下F12键,分析网页的源代码
编写代码,定位需要测试的网页元素并用代码执行赋值操作或点击操作,判断结果是跳到了其它网页还是到其它提示窗口还是停留在原网页,然后编写输出文件;
实现循环,依次完成所有模拟数据的读取
4.根据如上步骤编写所需要测试的所有其它功能点;
5.保存上述完成的工程,投入到功能的回归测试中,每次测试完成,打开输入文件,比对实际结果和预期结果是否一致,不一致则上报Bug。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值