##商业软件如需下载安装使用试用,可以通过下面添加,提供编译器定制,技术支持,培训。
wanglequshuijiao
有需要可以加详细聊
vx
静态测试软件(QAC、Klocwork、Coverity等)单元测试软件 集成测试软件(VectorCAST、TestBED、Tessy、C++Test等)_哔哩哔哩_bilibili
#从V模型说起
##什么是V模型
V模型示意图1
V模型示意图2
##特点
清楚的标识了开发和测试的各个阶段;开发和测试同等重要(左边部分是开发,右边部分是测试),但有明显的先后执行步骤。
##缺点
把测试仅放在了形成产品编码之后,如果在验收测试这一过程中,程序错误或者需求偏离造成客户给了否定票,那么此次任务产品设计开发可能会实现零收入,或者如果进行修改无疑增加了投入成本,延长了开发周期。(缺乏及时性)
##解决方案
要在产品设计过程中就应该考虑到测试,即软件开发的时候,开发人员和测试人员需要协同沟通,测试在软件做需求分析的同时就会有测试用例的跟踪。
###W模型(仍是线性)/X模型/H模型
这里仅简单说明W模型。
W模型示意图
W模型进行测试过程中仍然存在测试与开发的一个线性问题。
#软件测试
##软件测试 Software Testing的定义:
- 一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。
- 在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。
测试的对象是整个软件产品(代码,数据,文档等)
##分类
###按照测试过程中程序执行状态
- 静态测试:只依靠分析或检查源程序的语句、结构、过程等来检查程序是否有错误。
- 动态测试:通过运行被测试程序,对得到的运行结果与预期的结果进行比较分析,同时分析运行效率和健壮性等。
###根据具体实现算法细节和系统内部结构的相关情况
- 黑盒测试:不考虑内部结构和特性的条件下,检查程序功能是否能够按照规范说明准确无误地运行。
- 白盒测试:借助程序内部的逻辑和相关信息,通过检测内部动作是否按照设计规格说明书的设定进行,检查每一条通路是否能够正常工作。
- 灰盒测试:不仅重视输出内容的正确性,也关注内部表现。通过象征性的现象或标志判断内部的运行情况。
###按照程序执行方式
- 手动测试:设计好测试用例,然后按照测试用例一步步执行,然后对比结果。
- 自动化测试:在预先设定的条件下运行程序,分析结果。
###按软件开发阶段划分
- 单元测试:又称模块测试,对程序模块进行检验。
- 集成测试:又称组装测试,检验程序单元的接口关系。
- 系统测试:确认系统是否达到目标要求,对集成的硬件,软件系统进行测试。
- 验收测试:按照项目任务书或合同。供需双方约定的验收依据文档进行的整个系统的测试与评审,决定是否接受或拒绝系统。
##软件测试与质量保证的区别(Tester与QA区别)
- 质量保证(QA)是通过预防、检查和改进来保证软件质量,即全面的质量管理与过程改进来开展质量保证工作;
- 软件测试是执行软件,对开发文档和源代码进行走查,以找出问题,报告质量。
##软件测试的原则
- 所有的软件测试应该溯源到用户的需求
- 尽早的将软件测试贯穿到软件开发的全过程中
- 完全测试是不可能,测试需要中止
- 测试无法保证软件中完全没有缺陷
- 充分注意测试中错误集群现象
- 应避免自己检测自己的程序
- 应避免测试的随意性