测试理论:
- 测试类型:功能测试、安全测试、性能测试等
- 测试过程:制定测试计划、准备测试环境、执行测试验证、确认
- 测试结果:测试报告、错误报告、总结报告等
测试方法:
- 白盒测试:测代码,(1)保证一个模块中的所有独立路径至少被测试一次;(2)对所有的逻辑判定均需测试取真和取假两种情况;(3)在上下边界 及可操作范围内运行所有循环;(4)检查程序的内部数据结构,保证其结构的有效性。:主要方式有
代码检查:检查代码
基本路径测试:通过分析业务,设计的测试用例保证都能执行到,且每个可执行语句至少执行一次 - 黑盒测试:测功能,主要方式有:
等价类划分:将程序的输入域根据相似性划分为若干个等价类,分为有效等价类(合理的、关注功能和性能)和无效等价类(不合理的、关 注异常),举例:年龄测试(非空0-150的正整数)有效:50,无效:负数、小数、英文、中文、特殊符号、0、150、空等
边界值分析:边界,边界前后取值。如果是两个数据边界(类似F(x1,x2)),就取笛卡尔集
判定表法:穷举出所有组合条件下的测试用例
因果图法:复杂的因果关系转化为判断表法的方法
错误推测法:基于经验和直觉推测程序中可能存在的各种错误。此可以作为重点,程序员的优势
黑盒测试阶段:
- 冒烟测试:就是完成一个新版本的开发后,对该版本最基本的功能进行测试,如果通过测试,才会进行下一步的测试(功能测试,集成测试,系统测试等等)。冒烟测试的目的就是为了减小 软件的测试成本!试想一下,如果完成的一个版本,不去做冒烟测试,而是直接去做余下的测试,做着做着发现做不下去了,因为测试过程中发现最基本的业务功能模块都存在bug,更别说相关的其他功能模块了,更别说集成测试等其他测试了,而bug发现的越早其修复bug所耗费的成本越低,如果不做冒烟测试,可以想象成本代价风险多高!并且冒烟测试最好是开发和测试都去执行的过程
- 集成测试:将所有单元、模块进行有序递增的测试,直至整个系统的测试完成,检验各个模块之间的关系是否正常
- 单元测试:又叫模块测试,根据具体情况判断含义,如c函数,java类,图形化软件中可以指一个窗口或一个菜单,总的来说就是人为规定的最小被测功能模块。
- 确认测试:又叫有效性测试,验证软件的所有功能、性能及其他特性是否满足要求,*****重点包括软件配置复查*****
- 系统测试:软件作为计算机系统的一部分,与硬件、网络、外设、支撑软件、数据以及人员结合在一起,在实际或模拟环境下,对计算机系统进行测试,目的在于与系统需求比较,发现问题。
- 验收测试:上线之后的测试,不是对系统进行全覆盖测试,而是对核心业务流程进行测试。
- 备注:单用户登陆系统的响应时间是否符合“3-5-8”原则。(3s之内得到响应,那么给客户的感觉是该系统性能十分优秀;5s之内请求得到响应,用户会感觉还不错;超过8s甚至更长的时间以后,用户很有可能就失去信心
登录用例中需注意的是:
- 输入过长或过短
- PC和移动端同时登录
- 单账号多用户登录
- 账号错误次数验证
- 账号锁定登录
- 密码是否支持辅之粘贴
- 密码是否加密,支持显示明文
- 手机短信验证码是否支持多次使用
- 不登录输入url打回登录页面
- sql注入
- 不同的操作系统都可以进行登录:Windows,Mac,安卓
- 不同的版本的操作系统都可以登录
- 不同分辨率下都可以进行登录
- 不同的浏览器下,验证登录界面以及登录的正确性
- 相同浏览器的不同版本下,验证登录界面的显示 以及登录的正确性
- 在移动设备的不同浏览器下,验证登录页面的显示以及功能的正确性
网友评论