软件测试是软件⽣命周期中的⼀个重要环节,具有较⾼的复杂性,对于软件测试,可以从不同的⻆度加以分类,使开发者在软件开发过程中的不同层次、不同阶段对测试⼯作进⾏更好的执⾏和管理测试的分类⽅法
只要是肉眼可以看到的元素,都是需要去测试的
界⾯测试(简称 UI
测试),指按照界⾯的需求(⼀般是 UI
设计稿)和界⾯的设计规则,对我们软件界
⾯所展⽰的全部内容进⾏测试和检查,⼀般包括如下内容:
找茬~ 请你根据给定的设计图找出实现的⻚⾯有哪些界⾯问题
功能测试就是对产品的各功能进⾏验证,根据功能测试⽤例,逐项测试,检查产品是否达到⽤⼾要求的功能。
根据产品特性、操作描述和⽤⼾⽅案,测试⼀个产品的特性和可操作⾏为以确定它们满⾜设计需求。本地化软件的功能测试,⽤于验证应⽤程序或⽹站对⽬标⽤⼾能正确⼯作。使⽤适当的平台、浏览器和测试脚本,以保证⽬标⽤⼾的体验将⾜够好,就像应⽤程序是专⻔为该市场开发的⼀样。功能测试是为了确保程序以期望的⽅式运⾏⽽按功能要求对软件进⾏的测试,通过对⼀个系统的所有的特性和功能都进⾏测试确保符合需求和规范。
设计功能测试⽤例,参考产品规格说明书进⾏⽤例的编写,具体的测试⽤例需要使⽤⿊盒设计测试⽤例的⽅法,如等价类、边界值、判定表法、正交法、场景法、错误猜测法等。
前面说到的设计测试用例的方法,并不会关注到程序内部代码逻辑,因此前面的设计测试用例的方法也被称为黑盒测试设计测试用例的方法
我们在使用软件的时候有时会碰到软件网页打开时越来越慢,查询数据很长时间才显示列表,软件运行越来越慢等问题,这些问题都是系统的性能问题引起的
要进⾏软件产品的性能问题,要对产品的性能需求进⾏分析,然后基于系统的性能需求和系统架构,完成性能测试的设计和执⾏,最后要进⾏持续的性能调优。
10%
,那么我们称⽼王这⼈不可靠100%
,那么⽼王是个可靠的⼈可靠性=正常运行时间/(正常运行时间+非正常运行时间)*100%
企业中,一般软件产品/程序的可用性要求要达到 4 个 9 (99.99%)或者 5 个 9(99.999%)
安全性测试属于⾮功能性测试很重要的⼀个⽅⾯,系统常⻅的安全漏洞和威胁如下
SQL/XML
注⼊userId
,但是在用户恶意攻击下,输入的 use
rId 为 1 or 1=1
SQL
后面,则会造成 SQL
注入的情况分为垂直越权水平越权,超过了当前用户的权限
代码评审:写完代码之后,让其他人/领导检查代码
分为静态测试和动态测试:
所以判断⼀个测试属于动态测试还是静态的,唯⼀的标准就是看是否运⾏程序。⼤多数软件测试⼯作都属于动态测试
SonarQube
是很多企业都在用的静态扫描工具。检查代码本身有没有问题,规不规范(语法问题、变量命名、函数命名、输入输出发那个发、内存泄漏…)