测试流程
- 1.需求分析
- 2.编写测试用例
- 3.评审测试用例
- 4.搭建测试环境
- 5.等待开发提交测试包
- 6.部署测试包
- 7.冒烟测试
- 8.执行测试用例
- 9.BUG跟踪处理
- 10.测试报告输出
- 11.测试结束
软件开发过程模型
- 瀑布模型
- 快速原型模型也叫敏捷开发
- 螺旋模型
软件测试模型
- v模型 是线性模型
- w模型 也叫双v模型
- h模型
软件测试分类
单元测试
• 单元测试又称模块测试, 针对软件设计中的最小单位——程序模块.
• 定义: 在图形化的软件中,单元一般指1个窗口,1个菜单
• 单元测试的问题
• 什么时候进行单元测试
• 谁来做单元测试
• 单元测试在国内的现状
• 如何进行单元测试
集成测试
• 也叫组装测试或者联合测试,通常在单元测试的基础上,将所有模块按照设计要求进行组装,进行集成测试。
• 集成测试的问题
• 什么时候进行集成测试
• 由谁来做集成测试
系统测试
• 整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试
• 系统测试在系统集成完毕后进行测试,前期主要测试系统的功能是否满足需求,后期主要测试系统运行的性能是否满足需求,以及系统在不同的软硬件环境中的兼容性等
黑盒测试和白盒测试
• 黑盒测试: 又称数据驱动测试,完全不考虑程序内部结构和内部特性,注重于测试软件的功能需求,只关心软件的输入数据和输出数据
• 白盒测试: 指的是把盒子打开,去研究里面的源代码和程序结构
•
• 黑盒测试能发现以下几类错误:
• 功能不对或功能遗漏
• 界面错误
• 数据库访问或者处理错误
• 性能问题
黑盒测试优缺点
缺点:
• 不能测试程序内部特定部位;
• 如果程序未执行的代码无法发现;
• 不可能做到穷举测试
优点:
• 测试人员不需要了解实现得细节,包括特定的编程语言(没有编程经验的人也可以设计测试用例);
• 测试人员和编程人员是相互独立的(黑盒测试用例设计与程序如何实现无关);
• 从用户的角度进行测试,很容易被接受和理解;
• 有助于暴露任何与规格不一致或者歧异的地方;
功能测试
• 是黑盒测试的一方面,它检查实际软件的功能是否符合用户的需求
• 逻辑功能测试
• 界面测试
• 易用性测试
• 安装测试
• 兼容性测试
性能测试
• 是软件测试的高端领域,性能测试工程师的待遇和白盒测试工程师不相上下,通常我们所说的高级软件测试工程师一般就是指性能测试或是白盒测试工程师
• 时间性能(事务响应时间等)
• 空间性能(系统资源消耗)
• 一般性能测试
• 稳定性测试
• 负载测试:通过负载测试来确定在各种工作负载下,系统各项性能指标的变化情况。
• 压力测试:通过确定一个系统的瓶颈或者刚好不能接受的性能点,来获得系统能够提供的最大服务级别
灰盒测试
• 灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,既可保证黑盒的关注点又可掌控白盒的内部结构,但不会去对内部程序功能和运作做详细了解,灰盒测试结合了白盒测试和黑盒测试的要素
静态测试
• 指不实际运行被测软件,而只是静态地检查程序代码、界面或文档中可能存在的错误过程
动态测试
• 是指实际运行被测程序,输入相应的测试数据,检查实际输出结果和预期结果是否相符的过程。
随机测试
• 随机测试(探索测试), 随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressivetesting)一起进行
测试验收
α测试
• Alpha 是内测版本,即现在所说的CB,此版本表示该软件仅仅是一个初步完成品, 通常只在软件开发者内部交流, 也有很少一部分发布给专业测试人员。一般而言, 该版本软件的bug 较多, 普通用户最好不要安装。
β测试
• Beta是公测版本,是对所有用户开放的测试版本。该版本相对于α 版已有了很大的改进,消除了严重的错误, 但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布, 用户可从相关的站点下载。通过一些专业爱好者的测试, 将结果反馈给开发者, 开发者们再进行有针对性的修改。该版本也不适合一般用户安装。
γ测试
• Gamma版本,指的是软件版本正式发行的候选版。该版本已经相当成熟了, 与即将发行的正式版相差无几, 成为正式发布的候选版本。