目录
按照测试目标分类
界面测试
功能测试
性能测试
可靠性测试
安全性测试
易用性测试
按照执行方式分类:
测试方法
白盒测试
语句覆盖
条件覆盖
判定条件覆盖
条件组合覆盖
路径覆盖
黑盒测试
灰盒测试
按照测试阶段分类
单元测试
集成测试
按照是否手工测试
按照实施组织划分
a测试(Alpha Testing)
β测试(BetaTesting)
a测试与β测试的区别
按照测试目标分类
界面测试
页面展示的所有元素/内容都需要测试
功能测试
设计功能测试用例,参考产品规格说明书进行用例的编写,具体的测试用例需要使用黑盒设计测试用例的方法,如等价类、边界值、判定表法、正交法、场景法、错误猜测法等。
性能测试
可靠性测试
可靠性=正常运行时间/(正常运行时间+非正常运行时间)*100%
企业中一般软件产品/程序的可用性要求要答到4个9或者5个9
安全性测试
SQL注入
用户原本要输入的是正确的userld,但是在用户恶意攻击下,输入的userld为1or1=1
若服务器在处理的时候直接拼接在SQL后面,则会造成SQL注入的情况。
越权:垂直越权和水平越权
越权:超过了当前用户的权限
垂直越权:管理员:可写权限、可读权限。
普通用户登陆后看到管理员看到的页面可以操作管理员才能操作的功能(垂直越权)
水平越权:
易用性测试
按照执行方式分类:
静态测试、动态测试
所谓静态测试(statictesting)就是不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误的过程。
动态测试(dynamictesting),指的是实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程,所以判断一个测试属于动态测试还是静态的,唯一的标准就是看是否运行程序。
测试方法
白盒测试
白盒测试又称为结构测试或逻辑测试,它一般用来分析程序的内部结构,针对程序的逻辑结构来设计测试用例进行测试。
白盒测试主要分为静态测试和动态测试两种。静态测试常见于桌面检查、代码审查、代码走查、代码扫描工具。
动态测试方法主要包含六种测试方法:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。
语句覆盖
判定覆盖
在该案例中if语句就是判判定语句if语句:既要测试为T也要测试为F
条件覆盖
判定条件覆盖
结合判定覆盖和条件覆盖来设计测试用例,用例既可以覆盖到条件,也可以覆盖到判定
条件组合覆盖
路径覆盖
黑盒测试
登陆功能账号密码登陆结果(输入数据)(输出数据)
灰盒测试
结合了白盒测试和黑盒测试,但是又不完全复制
但是,灰盒测试没有白盒测试详细和完整,黑盒测试是覆盖产品范围最广的测试,因此灰盒测试基本是不能够替代黑盒测试,否则需要很大的代价,设计非常多的用例。
灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
常见面试题:你知道的测试方法有哪些?
哪种用的比较多?常见的测试方法有黑盒测试,白盒测试和灰盒测试。开发人员主要用白盒测试和灰盒测试,测试人员主要用白盒测试和黑盒测试。对于测试人员来说,相较于白盒测试,黑盒测试用的更多一些。测试面试的时候一定要留心眼子话不要说得太死,存在即合理
按照测试阶段分类
单元测试
最小单元“最小单元”是人为规定的单元测试框架
集成测试
对通过集成测试的系统进行整体测试,验证系统功能性和非功能性需求的实现
冒烟测试
检查主流程是否走的通
回归测试
按照是否手工测试
手工测试(Manual testing)
自动化测试(AutomationTesting)
按照实施组织划分
a测试(Alpha Testing)
α测试又叫内测或者叫a测,其实都是一个涵义。
α测试通常是公司内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的FLURPS(即功能、可使用性、可靠性、性能和支持)。α测试不能由程序员或测试员完成。
β测试(BetaTesting)
β测试又叫公测或者叫b测。
β测试由软件的最终用户们在一个或多个场所进行,这里就可以理解为,β测试是正式用户中的一部分,他们在任意的场合来使用软件,目的是为了发现软件是否存在一系列的问题通常会发送些邀请码,来邀请用户参与项目测试