软件测试的定义:
书面定义:为了发现程序中的错误而执行程序的过程。
自己理解:软件质量的检查。
软件测试分类:
按测试技术,软件测试可分为:黑盒测试、白盒测试、灰盒测试
黑盒测试:在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。也被称为功能测试或者数据驱动测试。
白盒测试:要完全了解程序结构和处理过程,它按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。也被称为结构测试或逻辑驱动测试。
灰盒测试:介于黑盒测试与白盒测试之间的测试,既要像黑盒测试那样关注输出对于输入的正确性,同时也关注内容表现,但这种关注不像白盒测试那样详细、完整,只是通过一些表征性的现象、事件、标志判断内部的运行状态。
按测试方式,软件测试可分为:静态测试、动态测试
静态测试:是指不运行程序,对程序和文档进行分析与检查;静态测试技术又称为静态分析技术。
动态测试:通过运行程序进行检查、分析程序的执行状态和程序逻辑的外部表现。
按测试阶段,软件测试可分为:单元测试、集成测试、系统测试、验收测试
单元测试:单元测试是对软件设计的最小单元——模块,进行正确性检验的测试工作。
目的:主要是测试模块在语法、格式和逻辑上的错误。
集成测试:集成测试也称为组装测试,集成测试按设计要求把通过单元测试的各个模块组装在一起之后所进行的测试。
目的:检查模块间的接口关系,以便发现与接口有关的各种错误
系统测试:系统测试是将已经集成好的软件系统置于实际运行环境中所进行的测试。
目的:根据需求分析时确定的标准检验软件是否满足功能、行为、性能和系统协调性等方面的要求。
验收测试:是软件开发结束后,用户对软件产品投入实际应用前,进行的最后一次质量检验活动。它要回答开发的软件产品是否符合预期的各种要求,以及用户能否接受的问题。
软件开发需要学什么
软件开发需要学什么:计算机硬件原理、操作系统原理、计算机网络与通讯、网络操作系统、编译原理、数据结构、软件工程、C#程序设计、面向对象程序设计、软件测试、.NET/Java Web程序开发、JSP,ASP等专业课,.NET/Java企业级开发、3G手机软件开发等、大型数据库处理技术、多媒体技术与应用、java程序设计、数据库技术与应用、计算机专业英语,以及高等数学等公共课程。
至于具体学习什么,还是要看自己以后从事的方向。根据方向来选择自己的课程。
软件开发就业方向
(1)软件测试:应用软件(包括手机程序)的调试、运行、测试、维护及质量管理等技术岗位的工作。
(2)JAVA软件开发:软件公司中Java软件工程师、网络工程师、数据库工程师等相关职位。
(3)安卓软件开发:移动运营商、手机终端制造商、手机平台开发商、手机服务提供商、手机内容提供商、手机芯片提供商等相关公司。
(4).NET软件软件开发:.Net软件工程师、网络工程师、数据库工程师等相关职位。