面试小记--软件测试概念
2020-10-29 本文已影响0人
orange_ade
一、软件测试的方法
(1)按是否查看程序内部结构分为:
- 白盒测试:通过程序源代码进行测试而不是使用用户界面(研究里面的源代码和程序),白盒测试的测试方法有:代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
- 黑盒测试:又被称为功能测试,看不到源代码是通过使用整个软件的各个功能来进行测试的(只关心输入和输出结果),黑盒测试常用的方法有:边界值、等价类、错误推测法、功能分解法、因果图、判定表、正交试验法、场景法。
(2)按是否运行程序分为: - 静态测试(static testing):指不实际运行被测软件,而只是静态地检查程序代码、界面或文档可能存在的错误的过程。
- 动态测试(dynamic testing):指实际运行被测程序,输入相应的测试数据,检查输出结果和预期结果是否相符的过程。
(3)按阶段划分: - 单元测试:指对软件中的最小可测单元进行检查和验证
- 集成测试:单元测试的下一阶段,指将通过测试的单元模块组装成系统或子系统,再进行测试,重点测试不同模块的接口部分。
- 系统测试:是整个系统的运行以及与其他软件的兼容性
- 验收测试:指的是在系统测试后期,以用户测试为主
(4)回归测试:指开发修复bug后,需要再次重新测试,保证bug已修复并且没有引入新的bug
(5)冒烟测试:指在对一个新版本进行大规模测试前,先验证喜下软件基本功能是否正常
(6)随机测试:指测试中所有数据都是随机生成的,其目的是模拟用户真实操作
二、b/s和c/s架构测试区别:
- b/c(brower/server)结构:即客户端浏览器、服务器;客户端主要通过浏览器访问,因此侧重点为“客户端操作系统版本、客户端浏览器版本、客户端配置”,还需要关注链接测试、表单测试、脚本测试、activeX控件测试
- c/s(client/server)结构:即客户端、服务器;需要安装客户端来访问系统,侧重点为客户端安装测试、客户端升级测试、客户端与服务器连接测试、服务器端数据测试、客户端可维护性测试
三、一个测试工程师应该具备哪些素质和技能:
- 掌握基本测试基础理论
- 测试工具使用(postman、jmeter、SQL等)
- 可熟练阅读需求规格说明书等文档
- 以用户的角度看待问题
- 自动化测试技能--编码能力、工具、自动化框架(python接口/UI)
- 性能测试工具使用(jmeter),性能测试流程
- 良好的沟通能力(与开发/产品)
四、软件测试基本相关概念:
(1)缺陷测试报告的组成:编号、标题、版本号、错误严重级别、错误重新步骤、测试环境、附件、开发人员、执行状态
(2)软件测试的目的:尽可能早的找出软件缺陷,并确保其得以修复。
(3)软件测试一般分为5个阶段:单元测试、集成测试、确认测试、系统测试、验收测试。
(4)软件测试一般从什么时候开始介入:软件测试应该在需求分析阶段就要介入,软件缺陷存在放大趋势,缺陷发现的越晚,修复花费的成本就越大。
(5)缺陷的生命周期:新增--提交--确认--分配--修复--验证--关闭
(6)为什么要写测试用例:便于维护、避免重复、便于跟踪统计、便于用户自测
(7)为什么要在一个团队中开展软件测试工作:因为没有经过测试的软件很难在发布之前知道该软件的质量,这个时候就需要在团队中开展软件测试工作。在测试过程中发现软件存在的问题,及时告知开发人员修改,保证软件质量。
五、数据库delete、drop、truncate差别:
- drop:删除整个表的数据及结构
- delete:可以删除整个表也可以只删除表中某一条数据(可回滚,效率低)
- truncate:只能删除整个表的数据(也可称为截断表)不可回滚,效率高。
六、Linux常用查询语句:
- 三种查看server.log的文件内容:tail、cat、tac、head、echo
- 编辑start.sh文件,查看文件前10行内容和后十行内容
vim start.sh
head -n 10 start.sh
tail -n 10 start.sh - 删除temp.conf文件:rm -rf temp.conf (-f 表示强制删除/-r 表示递归删除可删除子目录及文件)
- 查看后台所有Java进程:ps -ef|grep java 或者 ps aux|grep java
- 结束进程:kill+进程编号 结束不掉就用kill -s 9 进程编号
- 将start.sh文件改为可执行权限:chmod u + x filename.sh,语法格式为:chmod [who] [opt] [mode] 文件名或目录名
who:代表对象
u:表示文件所有者
g:表示同组用户
o:表示其他用户
a:表示所有用户
opt:代表操作,可以为“+”表示添加某个权限、“-”表示取消某个权限、“=”表示赋予某个权限
mode:“r”表示可读、“w”表示可写、“x”表示可执行。 - 检查端口是否被占用:netstart -nat|grep“:80” 后面是listen状态说明正在使用,也可以用:netstart -an|grep 80;
- 查看端口是被哪个程序使用:netstart -apn|grep 8080
- 强制终止名词中包含test的进程:kill -9 ‘ps aux|grep ‘test’’
- mysql允许的最大连接数:show variables like ‘%max_connections%’
- mysql展示所有进程:show full processlist
- 查看cpu占用率:top -bn l -i -c
- df -h:删除比较大的无用文件