自动化动态测试的战略优势

汽车软件开发者的必修课:ASPICE 4.0主要特点、优势及与之前版本的变化之处 专为包含关键框架的汽车产品开发支持安全关键标准和法规而构建,通过ISO 26262、ASPICE等认证,能够满足复杂的需求管理需求,帮助组织在遵守相关功能安全标准的同时,简化汽车相关产品的开发。它强调对于开发安全、可靠和高质量的汽车软件和系统至关重要的流程。纳入了机器学习(MLE.1-MLE.4)和硬件开发(HWE.1-HWE.4)的流程,并增加了整个系统的验证流程(VAL.1)和机器学习数据管理的支持流程(SUP.11)。通过遵循结构化和明确定义的流程,组织可以提高其软件和系统的质量,减少缺陷和故障。 阅读详情
动态测试和静态测试
软件测试主要有两种基本方法,即:动态测试和静态测试。动态测试需要执行源代码;静态测试有时候也被称作静态分析,这种测试方法就是通过分析源代码,检查出编码中不一致的地方以及潜在的错误。本白皮书主要着眼于动态测试。

测试项目的需求
在对软件进行动态测试时,一般会用到两种基本测试方法。至于到底该采用哪种方法则取决于测试需求。通常情况下,测试需求又分为高层级需求和低层级需求,人们一般都是根据这两种需求来选择合适测试方法。
高层级需求通常都要通过系统测试来实现。低层级测试则要通过单元测试和集成测试来实现。但很多项目中,会把单元测试和集成测试与系统测试结合起来,以保证测试的完整性。

测试方法
人们在开发和测试软件时,会用到许多方法。以前,项目一般用的都是瀑布式开发法,这种开发方法要进行多次构建,而且每次构建后都要进行单元测试、集成测试和系统测试。此外,还有一种比较现代化的开发方法,叫敏捷开发。这种方法要求在应用代码编写完成之前就要将测试构建好。使用这种方法,最开始的时候,所有测试都会失败。但是随着应用代码不断开发完成,代码就逐渐能够通过这些测试。敏捷开发的理念就是:开发的所有代码都要通过相关的单元测试。

共同点
无论采用哪种软件开发方法(瀑布式开发、螺旋式开发、以需求为基础的开发、敏捷开发、极限编程,等),都要用到几个基础测试模块:单元测试、集成测试、系统测试。

测试术语
以下是本白皮书中其它地方用到的关键术语:



先交货!以后再测试!
不幸的是,从有计算机编程开始到现在,经常会出现测试不充分、测试质量不高的情况,因而就无法始终保持产品的高质量和高可靠性。之所以测试工作会做得不够充分,主要有4大原因:

成本
因为测试本来就是低效的劳动密集型工作,所以测试的成本会比较高(到现在也是如此)。(一般来说,进行组件测试时,要为每行待测代码编写一行测试代码。)

时间和人员方面的限制
在项目时间表中,给测试安排的时间通常都不会很充裕。而且,被安排去测试的人员可能都不太熟悉测试需求,对各种测试方法也不太了解。然而要搭建一个测试环境来测试软件的各个组件,其实并不是容易。为了保证测试的效率,测试人员一定要了解整个开发过程,并对正在开发的系统有一个全面的认识。如果工程师并不了解正在开发的系统,他们可能就会浪费很多时间原地打转,无法进行高效的测试。
 
维护问题
更新测试驱动和桩的工作会比较枯燥、没有成就感,而且基本也不会受到赞赏,所以如果不是非做不可的话,人们通常都不愿意积极去做这项工作。
另外,被安排到测试任务的工程师很可能并不知道怎么将独立的单元融入到整个系统中。而且因为测试驱动和桩都没有很好的(如果有的话)成文记录,每次进行测试时,为了保证该测试是一次全新的测试,都要创建和使用新的测试驱动和桩,而不会重复使用之前用过的。

没有指导方案来保证测试的一致性
通常,测试各个组件要用的方法是由组件开发人员酌情决定的,因而没有指导方案或结构来保证项目中的测试方法和报告的一致性。因而就会浪费很多宝贵的时间来追踪“ghost缺陷”,这样就很难实现重复测试了。

有意思的是,关于A/N BSY-2 战斗系统(A/N BSY-2 Combat System)项目的GAO报告指出,没有指导方案来保证测试的一致性这个问题严重阻碍了高质量软件组件的开发(《GAO/IMTEC-91-30 BSY-2开发风险和生产计划》)。

自动化成为解决良方!
下图展示了诸如VectorCAST这样的先进验证工具是如何完全自动化地创建测试环境和测试用例的。


由VectorCAST生成的可执行环境(套件)包含测试驱动、被测的源文件、用户为依赖单元指定的桩、实际依赖。测试环境是靠数据驱动的,也就是说:在执行过程中,环境要读取测试数据。利用这种方法就不需要对每个测试用例都进行编译,并将其链接到新的执行环境中了。VectorCAST可以自动生成测试环境,这就很好地解决了上面提到的所有问题。
 
降低成本
进行自动化测试时,不需要手动创建、维护、替换测试环境,而手动测试的费用大概要占到一半的软件项目成本,所以自动化测试可以大大降低软件开发的总成本。对于大型的复杂系统来说,自动化测试更有助于降低成本。

缓解时间和员工方面的压力
实现了自动化测试,曾经被安排去创测试环境和测试案例来检验系统的开发人员现在又可以回去开发系统了。另外,不了解正在开发的系统的测试工程师也不需要浪费宝贵的时间来做测试的工作了。

省去测试维护方面的工作
利用自动化测试就不需要再对测试代码进行维护了。每次某个被测单元经过验证之后,就会根据源代码的检验结果自动生成新的测试环境。另外,在自动化测试过程中,还会自动保存测试用例和结果,然后将其用于回归测试中。

不再需要指导方案
以前需要指导方案来保证测试方法和结果的一致性,但是现在只要靠“自动化”就能实现。

结论
自动化测试会从3个主要方面改善软件开发过程:
  • 大大降低复杂软件系统的开发成本
自动化测试会减少开发和维护测试代码和测试用例所需的工时,并提高整体的开发效率,从而帮助节约成本。实现自动化测试之后,也不会再出现因为测试代码和测试用例的复用性低而无法经常进行重复测试的情况。
  • 保证产品的高质量和高可靠性
通过自动化测试,能够在软件开发生命周期的早期发现问题。ISO 9000 和软件工程研究所( Software Engineering  Institute)已证明:如果在软件生命周期的早期发现问题并进行修复,那么修复的成本会降低50%。如果在向客户发布产品之前发现问题,会减少95%的修复成本。
  • 提高整个项目的一致性和可重复性
在开发或维护单元测试方面减少手动操作,改用自动化实现,可以确保测试和报告的通用性。而且自动化测试可通过保存测试用例和测试结果,来保证测试的可重复性,进而确保通过连续测试可以发现真正的回归缺陷。



AI驱动漏洞挖掘:从语义理解到多智能体协同的攻防范式变革 在软件安全领域,自动化漏洞挖掘技术正经历从传统规则匹配到人工智能驱动的范式跃迁。传统静态分析(SAST)和模糊测试(Fuzzing)主要依赖预设规则或随机变异,而基于大型语言模型的AI系统引入了代码语义理解能力,能够推理复杂业务逻辑中的潜在威胁路径。这种技术突破的核心价值在于,它能将漏洞挖掘从依赖经验的“手艺”转变为可规模化的“工业化”流程,显著提升安全测试的覆盖深度与效率。在实际应用场景中,多智能体协作框架模拟了专业黑客团队的分工模式,通过侦察、静态分析、动态测试、利用链构建等智能体的有序编排,实现对We 阅读详情

相关推荐

别只当配置文件!深入挖掘DBC文件在车载测试与诊断中的高阶玩法

本文深入探讨了DBC文件在车载测试与诊断中的高阶应用,超越传统配置文件角色。通过动态测试框架、诊断协议增强、数据可视化引擎和版本智能管理等场景,展示了如何利用DBC属性定义实现自动化测试、智能诊断和HMI自动生成,显著提升汽车电子工程效率与精确度。

weixin_30263277的博客 184

如何提高软件测试效率 降低开发成本?

如何提高软件测试效率 降低开发成本?CoCode项目管理工具一键生成测试用例,尽快发现所有需求缺陷,提高测试效率。

CoCode888的博客 767

提示工程架构师工具教程:如何用GitHub Actions自动化检查提示系统API设计标准?

1.3.1 功能正确性挑战输入验证复杂性:LLM输入的开放性本质使得传统API的输入验证方法失效上下文管理:多轮对话中的状态维护与上下文窗口管理参数交互效应:提示参数间的非线性交互可能导致意外行为模型特定行为:不同LLM对相同提示的解释存在显著差异1.3.2 性能优化挑战Token效率:在上下文窗口限制下最大化信息密度推理速度:提示结构对模型响应时间的影响成本控制:提示长度与计算资源消耗的直接关系缓存策略:可复用提示组件的识别与优化1.3.3 安全与合规挑战提示注入防御。

大数据洞察的博客 308

静态测试和动态测试和自动化测试区别

**特点**:自动化测试可以包括自动化单元测试、自动化集成测试、自动化UI测试等,通常用于重复性较强或需要频繁运行的测试。- **定义**:静态测试是在不执行程序的情况下对软件进行测试,主要通过检查代码、文档、设计等来发现问题。- **定义**:自动化测试是利用自动化工具或脚本来执行测试,取代手动测试过程,提高测试效率和准确性。- **特点**:动态测试包括单元测试、集成测试、系统测试等,重点在于验证程序的功能和性能。- **缺点**:需要编写和维护测试脚本、无法完全取代手动测试。

weixin_42665577的博客 702

采用UWB DL-TDoA技术的高速公路和隧道自动实时定位系统

一种采用UWB DL-TDoA技术的高速公路和隧道自动实时定位系统

DT程序员的博客 807

Windows下Maven环境变量配置避坑指南:解决‘mvn‘不被识别问题

本文详细解析了Windows系统中配置Maven环境变量时常见的'mvn'不被识别问题,特别是当系统提示“无法将‘mvn’项识别为cmdlet、函数、脚本文件或可运行程序的名称”时的解决方案。文章从问题根源入手,提供了清晰的配置步骤、深入的排查方法以及针对PowerShell的特殊处理,旨在帮助开发者彻底解决环境变量配置难题,确保Maven命令正常使用。

weixin_28826961的博客 389

什么样的项目适合自动化测试

①需求稳定,不会频繁变更 自动化测试最大的挑战就是需求的变化,而自动化脚本本身就需要修改、扩展、debug,去适应新的功能,如果投入产出比太低,那么自动化测试也失去了其价值和意义; 折中的做法是选择相对稳定的模块和功能进行自动化测试,变动较大、需求变更较频繁的部分用手工测试; ②多平台运行,组合遍历型、大量的重复任务 测试数据、测试用例、自动化脚本的重用性和移植性较强,降低成本,提高效率和...

weixin_34075268的博客 538

debian mirrors 镜像源 riscv 64 赛昉 星光 starfive vf2 InRelease‘ doesn‘t support architecture ‘riscv64‘

debian mirrors 镜像 riscv 64 赛昉 星光2 starfive vf2 InRelease' doesn't support architecture 'riscv64'

qq_29758759的博客 1259

自动化测试优势和劣势

软件自动化测试是相对手工测试而存在的,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,节省人力、时间或硬件资源,提高测试效率。

一个不太黑的测试人~ 474

求助:有没有基于pscad的锂电池仿真模型

求助:有没有基于pscad的锂电池仿真模型 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变没有 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写...

qq_38922523的博客 1222

立创开源:基于STM32F103与ADS1256的六维力传感器低成本实现方案

本文详细介绍了一种基于STM32F103微控制器与ADS1256高精度ADC的低成本六维力传感器实现方案。该方案通过3D打印的六梁弹性体结构结合应变片,将多维力信号转换为电信号,并由24位ADC进行高精度采集。文章涵盖了硬件选型、电路设计、嵌入式软件驱动及上位机数据可视化全流程,为机器人、精密测量等领域的爱好者提供了一个可复现的开源实践参考。

weixin_34718952的博客 390

UI自动化的优势和劣势以及场景:

优势: 自动化测试可以代替大量的手工机械重复性操作,测试工程师可以省下大量的时间来设计测试用例和新功能。 自动化测试可以大幅度提升回归测试的效率,非常适合敏捷开发。 自动化测试可以充分利用无人值守时间,来进行测试,特别是非工作时间执行,工作时间只需要分析一下测试的执行结果。 自动化测试可以高效的实现某些手工测试无法实现的或者代价巨大的测试。例如,关键业务7*24小时稳定性测试测试。 自动...

闫振兴的博客 7509

存储关键技术·RAID技术·RAID2.0·华为RAID2.0+·华为服务器·云计算

一.RAID基本概念 常见的RAID级别组合RAID级别 二.RAID的数据组织形式 三.RAID的数据保护功能 方法一:镜像方法二:奇偶校验算法(XOR) 四.RAID热备和重构 1.热备(Hot Spare)的定义2.热备的分类3.热备的工作原理 五.RAID 2.0技术 1.RAID 2.02.RAID 2.0+3.华为RAID 2.0+ 六.RAID 2.0+块虚拟化技术 1.什么会出现RAID 2.0+技术?2.什么是RAID 2.0?3.RAID 2.0+的原理是什么?

qq_47480932的博客 3320

大规模测试自动化测试指南

本文探讨了企业级的 JavaScript 测试自动化扩展策略,旨在将你的测试基础设施从开发约束转变为竞争优势。

software_test010的博客 798

从Reset到Read:深入解析Rolling Shutter曝光流水线

本文深入解析Rolling Shutter(卷帘曝光)的工作原理,重点探讨Reset和Read信号在图像传感器中的关键作用。通过Reset-Read流水线机制,详细解释了曝光控制、时序调优及运动伪影补偿等核心技术,帮助读者理解卷帘曝光在高速摄影和动态场景中的应用。

weixin_42531925的博客 254

Pico-实时预览工具PreviewTool

Unity XR SDK与Preview Tool下载链接:SDK - Pico Developer Platform1、下载Preview Tool后,将PreviewTool的APK先安装在VR头显里2、在PC端打开Preview Tool.exe文件Window -> Package Manager -> Add package from disk,选择下载的pico sdk中的package.json(如下图),Open导入。Edit -> Project Settings,设置设备和安卓版本,如下

晴天下的大头娃娃 4251

基于AI(LLM)和Playwright MCP(模型上下文协议)的测试自动化

在快节奏的软件开发领域,大规模交付高质量应用始终是一项挑战。传统测试自动化虽然功能强大,但常面临动态用户界面、不稳定测试和耗时的脚本维护等难题。生成式AI(GenAI)与Playwright MCP(模型上下文协议)——这对改变游戏规则的组合,正在重新定义现代测试自动化。

伤心的辣条 1241

基于开源项目构建 CFS(网络靶场实战演练)平台

摘要:构建CFS网络靶场可使用多个开源组件组合,包括EVE-NG/GNS3或ContainerLab构建网络环境,Kasm提供工作空间,CALDERA+Atomic Red Team实现攻击模拟,DetectionLab建立防御环境,Malcolm/Arkime进行流量监控,CyRIS提供编排框架,Vulhub/DVWA创建漏洞靶标。关键在于通过API深度集成各组件,同时需注重安全隔离、资源规划及维护成本。建议开发统一管理平台,结合Ansible/Terraform实现自动化部署,打造定制化实战演练环境。(

深山技术宅的博客 1846

基于AI和Playwright MCP(模型上下文协议)的测试自动化

在快节奏的软件开发领域,大规模交付高质量应用始终是一项挑战。传统测试自动化虽然功能强大,但常面临动态用户界面、不稳定测试和耗时的脚本维护等难题。生成式AI(GenAI)与Playwright MCP(模型上下文协议)——这对改变游戏规则的组合,正在重新定义现代测试自动化。

人生不怕起点低,就怕没追求 1321

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Parasoft 为「台湾联发科技」提供完整半导体解决方案

Parasoft 为「台湾联发科技」提供完整半导体解决方案

595

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Parasoft 助力「联发科」实现半导体软件测试

联发科技股份有限公司,以其在无线通讯及数字多媒体等半导体芯片技术领域的创新成果而著称。作为全球的IC设计巨擘,联发科总部坐落于中国台湾,并以其前瞻性的视野,在全球多个国家和地区设立了销售及研发团队,致力于提供卓越的芯片整合系统解决方案,以满足日益增长的市场需求。

2501_91602431的博客 477

从《孙子兵法》看测试策略:知己知彼,百战不殆

摘要:文章将《孙子兵法》"知己知彼,百战不殆"的战略思想应用于软件测试领域。"知己"强调对系统架构、团队能力和测试资源的深度认知;"知彼"则关注用户行为、环境风险和潜在缺陷的全面把握。通过风险分析、分层测试和自动化策略,构建动态优化的测试体系。作者指出,现代测试人员应兼具战略思维与战术执行力,从被动检测转向主动防御,最终实现产品质量的有效保障。(149字)

2501_94436372的博客 747

告别人工排查:揭秘艾体宝ONEKEY自动化固件漏洞分析引擎

对于物联网设备制造商而言,固件安全正从一项“技术挑战”演变为一场“合规风暴”。欧盟《网络韧性法案》(CRA)的正式实施,为联网设备制造商设立了前所未有的安全基线,其中 72 小时漏洞响应窗口等硬性要求,将传统的手动固件安全检测方法推向了失效的边缘。在这一背景下,​艾体宝 ONEKEY 自动化固件漏洞分析引擎​,正通过其无需源代码的黑盒深度扫描能力,为行业提供了一条从被动合规转向主动防御的可行路径。

2501_94446959的博客 530

程序员英语词汇:elastic —— 从 AWS EC2 到系统架构里的“弹性“必修词

在英语类计算机书籍、云厂商文档和架构设计文章中,`elastic`(灵活的、有弹性的)是与"伸缩性""弹性扩容"绑定最紧的技术高频词之一。本文以本仓库 [_posts/2020-01-01-elastic.md](https://link.gitcode.com/i/e5854f70deeca57499bb66417865db6e) 词汇卡片为核心,拆解它的音标、词性与典型技术语境(AWS Ela

gitblog_00102的博客 259
上一篇: DT10功能介绍 - DT10多波示波器
下一篇: 基于Web的质量和测试度量指标
Trinitytec
博客等级 码龄11年 165粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值