Java Card applet EEPROM与RAM的测试

问题描述 投票:7回答:1

Java Card applet中的典型错误之一是将持久性存储器用于应该位于RAM中的临时变量。

这些错误会降低applet的速度,并引起一些严重的麻烦(例如Symptoms of EEPROM damage

单元测试几乎无法揭示这些错误。单元测试将小程序作为黑箱访问,而他们所能做的就是检查给定输入的输出。它们可以测量时间并报告可疑的慢速命令,但是,覆盖持久性存储器中的单个字节几乎与覆盖RAM中的单个字节所需的时间相同。

除了编码时要小心,有没有其他方法可以消除这些错误?我能以某种方式检测到EEPROM的变化,并且在处理特定的APDU时完成了多少变化?

当然,好的模拟器可以胜任。但是,JCardSim(www.jcardsim.org)和NXP JCOP Tools似乎都无法报告EEPROM使用统计信息。

您知道其他可以帮助我的工具或测试技术吗?

unit-testing debugging simulation smartcard javacard
1个回答
0
投票

可以执行测试命令并可以添加测试方案,这将返回可用内存。可以通过getAvailableMemory(byte memoryType);

实现
© www.soinside.com 2019 - 2024. All rights reserved.