文档介绍:计算机与信息工程学院本科生实践环节置换课程报告
学生姓名
邢思龙
专业
计算机网络技术
班级
网络07-4
学号
12
企业名称
文思创新软件技术有限公司
企业指导教师
学****时间
年月日至年月日
置换课程
软件测试技术
校内课程
软件测试技术
软件测试是贯穿整个软件开发生命周期,使用人工或自动化手段来验证和确认某个软件系统的过程,其目的是尽快尽早地发现在软件产品中所存在的各种问题——与用户需求、预先定义的不一致性。或者说是为了检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
测试是为了证明程序有错,而不是证明程序无错误;一个好的测试用例是在于它能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。
分析软件产品的过程称为静态测试,运行软件的测试过程称为动态测试。
软件测试有两个基本的功能:验证和确认。验证保证产品的正确性,确认保证生产了正确的产品
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
测试用例(Test Case)目前没有经典的定义。比较通常的说法是:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。
不同类别的软件,测试用例是不同的。
三个要素:前提条件和操作步骤、预期结果、实际结果
软件测试的重要意义:
软件测试——产品质量的保证
软件测试——控制成本的关键
软件测试——软件可靠性确认
软件测试——让企业具备国际竞争的实力
基于是否需要执行被测试软件:动态测试、静态测试;基于是否关注软件结构与算法:黑盒测试、白盒测试;基于测试的不同阶段:单元测试、集成测试、系统测试、验收测试;其它:冒烟测试、回归测试、功能测试、负载测试(压力测试)、性能测试、易用性测试、安装与反安装测试、安全性测试、兼容性测试、Alpha测试、Beta测试等
寻找错误:在开始进行测试之前,我们建立一个表格,如下图,记录测试人员操作步骤和软件的反应,然后我们看系统的实际反应和预期的反应是否一致。如果不一致,则说明在软件中存在错误。
按测试阶段
单元测试:对软件中的基本组成单位进行的测试,如一个模块、一个过程等等
集成测试:在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确
系统测试: 对已经集成好的软件系统进行彻底的测试
确认测试(验证测试):旨在向软件的购买者展示该软件系统满足其用户的需求
按测试阶段和参与者不同
Alpha测试:系统开发接近完成时进行,测试后仍然会有少量的设计变更,是在开发人员的指导下进行测试,是在受控环境下进行的
Beta测试:在开发和测试已经全部结束后,并且在最终版本发布之前进行的测试。注:这类测试应该由用户进行,或测试人员与用户一并进行
按对代码逻辑的关注程度
白盒测试:基于被测应用程序的内部逻辑的测试,通过语句,分支,路径和条件进行全面覆盖,类似于西医看病,通过X光、CT扫面等手段
黑盒测试:不是基于内部代码和设计的知识,而是基于需求和功能
灰盒测试:是介于白盒测试和黑盒测试之间的一种测试模式,重点关注模