【基础知识】软件测试基础知识,请童靴过目!软件测试工程师

/ 集美大学环境科学与工程学院软件测试工程师 / 2017-03-19

本文以问答方式组织,分享一些软件测试的基础知识(有部分可能来自网络)。如有不正确之处请指出,共同学习。小编辛苦整理,希望能对童靴们的学习有帮助~

    软件测试基础知识,软件测试工程师

什么是软件测试


答:依据软件需求规格和测试用例,使用人工和自动化的手段,来测试软件系统的过程。其目的在于检验它是否满足规定的需求或是确认预期结果与实际结果之间的差别。


要点:两个依据、两个手段、一个对比。


我的感受:软件测试呢,实际上就是预期目标与实测结果的一个比较的过程。无论是是何种测试类型、手段,本质上就是完成了这个过程。当然在不同的软件项目流程中的不同阶段,预期目标与实测结果所指向的对象也是不同的。若通过评审的需求规格书是预期的目标,那么,测试执行的结果记录,或者是缺陷管理系统中的缺陷就是实测的结果。对应的,测试用例即是从实测结果通向预期目标的一座桥梁,也是评价测试质量及测试人员的重要依据)。

缺陷等级的划分?


六级划分:


等级 名称 定义


P1 严重缺陷 应用系统崩溃或系统资源使用严重不足

P2 较严重缺陷 系统因软件严重缺陷导致 重要业务流程错误、重要计算错误、重要交易错误、服务程序频繁重启、后台服务响应不及时等问题

P3 一般性缺陷 系统因软件一般缺陷导致 使用障碍、数据来源错误、结果错误、初始化错误等问题

P4 较小缺陷 系统因软件操作不便方面缺陷

P5 其他缺陷 系统辅助功能缺陷

P6 建议、优化类 建议优化类


四级划分:


致命(A):

1.由于程序所引起的死机,非法退出

2.死循环

3.数据库发生死锁

4.因错误操作导致的程序中断

5.功能错误

6.与数据库连接错误

7.数据通讯错误

    

严重(B):


1.程序错误

2.程序接口错误

3.数据库表、业务规则、缺省值未曾加完整性等约束条件

一般(C):


1.操作界面错误,包括数据窗口内列名定义、含义是否一致

2.打印内容、格式错误

3.输入限制未在前台进行控制

4.删除操作未给出提示

5.数据库表中有过多的空字段


提示或建议(D):

1.界面不规范

2. 辅助说明描述不清楚

3. 输入输出不规范

4. 长操作未给用户提示

5. 提示窗口文字未采用行业术语,文字有歧义、标点符号错误

6. 可输入区域和只读区域没有明显的区分标志


测试人员在需求阶段应做哪些工作?


1.检查需求文档描述的正确性;

2.检查需求文档描述的准确性、完整性;

3.评审通过的需求文档做需求跟踪(需求是否被正确实现、是否已测试等)。


Ext4文件系统如何恢复rm命令删除文件?(考操作系统有可能考到这些命令)


Linux下删除文件并不是真实的删除磁盘分区中的文件,而是将文件的inode节点中的扇区指针清除,同时释放这些数据对应的数据块,当释放的数据块被系统重新分配时,那些被删除的数据就会被覆盖,


所以误删除数据后,应马上卸载文件所在的分区。 每个文件有inode和block组成,inode是文件系统组成的最基本单元,它保存着文件的基本属性(大小、权限、属主组等)和存放的位置信息。而block用来存储数据。类似key-value,inode就是key,block对应value,通过key查找key对应的value。类似python的字典。 必须先umount要恢复文件的分区或者把分区改为只读模式,命令:mount –o remount,ro 分区(例如:dev/hda1) 或者 mount -n -r -o remount /dba1 最好尽快将所在分区修改为只读方式,防止数据被覆盖使用。


linux下面查看文件系统的方法有:

1)mount命令

#mount 

/dev/sda1 on / type ext4 

表示sda1 的文件系统是ext4 类型的。

    

2)命令df 

# df -Th 

Filesystem Type Size Used Avail Use% Mounted on 

/dev/sda1 ext4 13G 7.6G 4.2G 65% / 

df 的-T参数就可以显示文件系统的类型,-h参数让其显示的更人性化。


3)命令 more /etc/fstab

# more /etc/fstab 通过配置文件查看 

软件下载: http://sourceforge.net/projects/extundelete/files/extundelete/0.2.0/extundelete-0.2.0.tar.bz2/download 

安装软件: 

yum install e2fsprogs-devel libcom_err-devel -y 

tar -jxfextundelete-0.2.0.tar.gbz2 

1.cdextundelete-0.2.0

2../configure 

3.make

4.makeinstall 

执行恢复动作: 

单个文件的恢复:extundelete /dev/sdaX --restore-file /*/*....*/file 

目录恢复:extundelete /dev/sdaX --restore-directory /*/*....*/dir 

恢复近期被删的所有东西:extundelete /dev/sdaX --restore-all


白盒测试用例设计方法?

1)语句覆盖法:先设计若干测试用例,然后运行被测程序,使程序中每个可执行语句至少执行一次。


2)判定覆盖法(分支覆盖):有些需求文档拿过来的时候,研发已经将程序流程图附到需求文档中,所以做系统测试用例设计时一目了然。使程序中每个判断的取真分支、取假分支至少经历一次。


3)条件覆盖法:每个程序判断中,每个条件的可能取值至少满足一次。


4)判定条件覆盖法:使判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。


5)路径覆盖法:覆盖程序中所有可能的路径。


6)基本路径覆盖法(排除了,即未考虑循环路径):根据基本的可执行路径集合,设计测试用例。


7)循环路径的测试(使用递归的代码)。


如何测一个表单(Web页面)?


从涉及的质量特性入手来分析:


总体应该考虑: a.功能 b.易用性 c.性能 d.安全性 e.可靠性、可维护性、可移植性 等方面。


1)功能特性又分为:单控件功能、组合控件功能,其中又包括了表单的必填项、选填项、隐藏域等。


2)易用性:业务相关


3)性能:比如多人同时提交表单的情况,可能会有性能的需求。比如 双十一购物节,若干人抢购同一商品(并发提交表单)。


4)安全性:表单提交方法,关键字是否已经做了转义(防止xss);


表单项使用的SQL语句,是否使用了参数化设计(预防sql注入)。


用户权限设计是否有效,服务器针对目录的访问权限是否有漏洞(具体可参考owasp 测试指南)。


5)其他维度:


例子

mysql 中有一张user表,有name,age,sex等字段。用一条语句得到 age>20 的男性用户 和 age>18 的女性用户 ?


select name,age,sex

from user

where (age>20 and sex="男") or (age>18 and sex="女")

order by sex,age asc ;


测试设计题:如何测试一个纸杯(写测试要点)?


1.功能性:用水杯装水看漏不漏、水能不能喝到;

2.安全性:杯子有没有毒或细菌;

3.可靠性:杯子从不同高度落下的损坏程度;

4.可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用;

5.兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等(装热水甚至沸水,很多质量较差的纸杯倒入热水就漏);

6.易用性:杯子是否烫手、是否有防滑措施、是否方便饮用;

7.用户文档:使用手册(产品说明书)是否对杯子的用法、限制、使用条件等有详细描述;

8.疲劳测试:将杯子盛上水(example1)放24小时检查泄漏时间和情况;盛上汽油(example2)放24小时检查泄漏时间和情况等;

9.压力测试:用根针刺杯子并在针上面不断加重量,看压强多大时会穿透。


公众号,微信

汇鱼网海峡创乐汇
汇鱼网海峡创乐汇