测试基础理论
一、软件的定义
软件的定义是程序+数据+文档。 按层次可以分类为系统软件、支持软件、应用软件; 按适用范围可以分类为单机版软件和分布式软件,其中分布式软件又可以分为C/S结构(即客户端/服务器结构)和B/S结构(即浏览器/服务器)结构。 软件的特性是:抽象、研制生产、无磨损老化、依赖硬件、手工生产效率低、复杂、成本昂贵。
二、软件工程与软件危机
1.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。 它主要包含两方面的问题:开发和维护。 2.软件工程 包括两方面内容:软件研发技术和软件项目管理。软件研发技术包括:软件研发方法学、软件工具和软件工程环境; 软件项目管理包括:软件度量、项目估算、进度控制、人员组织、设置管理、项目计划等。
三、软件测试的产生、概念和意义
1.产生:程序规模的爆炸式增长、在程序员和用户之间寻找平衡点。 2.概念:是为了发现错误而执行程序的过程、应关心程序的效率和鲁棒性等因素、 检验软件是否满足规定的需求、弄清预期与实际结果之间的差别。 3.意义:从软件测试过程的角度来说:它推动了软件工程的 发展,使软件的质量得到了阶段性的提升;从工作量来说:解放程序员和售后服务员 4.定义使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。 5.步骤制定测试计划——设计测试用例——实施测试——提交缺陷报告——测试总结。
四、软件测试的目的和原则
1.目的测试是程序的执行过程,目的在于发现错误,确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明,确保产品满足性能和效率的要求,确保产品是健壮的和适应用户环境的。 2.原则软件测试应尽早执行,软件测试应贯穿于整个软件生命周期,软件测试应追溯需求,测试应由第三方来构造,穷举测试是不可能的,要遵循Good-enough原则,必须确定预期输出(或结果),必须彻底检查每个测试结果,充分注意测试中的群集现象。
五、软件测试的现状和发展
1.现状:处于发展阶段,目前还是以手工测试为主、国内外软件企业越来越重视软件测试 2.:发展: 测试行业发展的原因:市场竞争的压力、不断提升的用户需求、整个行业逐渐的规范、用户技术水平的提升。 发展:以调试为主、以证明为主、以破坏为主、以评估为主、以预防为主 3.思维模型 正向:测试是验证软件的正确性 逆向:测试就是发现软件中的缺陷BUG
六、软件测试人员的必备素质
1、责任心 2、沟通能力 3、团队合作精神 4、耐心、细心、信心 5、时刻保持怀疑的态度,并且有缺陷预防意识 6、具备一定的编程经验
|