Challenge
Maintaining the integrity of nuclear materials accounting systems necessitates regular updates to align with evolving organizational processes, as well as national and international regulations. It's imperative that these updates do not pose substantial risks of system downtime.
Given this challenge, a vital need arose for automated diagnostics tools capable of ensuring the reliability of critical system functions after installation, updates, or routine inspections.
 
Solution
An essential element in handling nuclear materials is ensuring the confidentiality and security of restricted information. Therefore, the setup of system processes, facilities, and performance testing must be conducted securely, without permitting access to non-accredited individuals. Our specialists have outlined a systematic testing process for nuclear power plant personnel:

  1. Replicating the system from the main station to a backup machine.
  2. Installing the updated system and libraries/tools for automated testing on the backup machine. 
  3. Performing rigorous testing procedures.
  4. In the event of a positive test outcome, the updated system is deployed on the main station.
  5. If the test yields a negative result, the reports identify the problem areas. These reports contain no restricted data and can be forwarded to developers.
  6. The identified issues are rectified, and the testing process is iterated until a positive outcome is achieved.

A comprehensive suite of automated tests has been developed to scrutinize the functionality of all subsystems. This suite includes both functional testing of program modules and user interface testing. To facilitate these tests and generate reports, we utilize Selenide, Maven, and TestNG.

Results
The implemented diagnostics system empowers the rigorous assessment of the reliability of nuclear material accounting and control system, aligning with stringent safety prerequisites. During the automated diagnostics process, over 350 tests are executed within a 3–4-hour timeframe. The data obtained through these tests enables the identification and resolution of issues on the developer's end, all without breaching the restricted customer database.