ConceptCore/ccl/core/test/!Testing aspects.txt

51 lines
3.6 KiB
Plaintext
Raw Normal View History

2024-04-15 22:16:14 +03:00
Основные тестируемые аспекты, которые нужно учитывать при разработке и тестировании
ОБЩИЕ
- API для некорректных идентификаторов
- исключения (throw)
- аргументы и внутренние состояния по умолчанию ={}
- аргументы, нарушающие контракт API
- аргументы nullptr, nullopt
- конструкторы по умолчанию
Constituenta
- пустые конституенты
- возможность саморефенции в ФВ и текстовых отсылках
- текстовые отсылки
- множественные термины
RSForm
- внешний текстовый модуль
- циклы в отсылках терминов и в отсылках в формальных выражениях
- трансляция имен конституент в отсылках при подстановке
- отслеживание (контроль) наследованных конституент
- хранение и обновление типизаций
- статусы выражений конституент
- статус КС
- обновление конституент при переносе из предыдущей версии синтезированной схемы
Equation (Отождествление)
- отождествление не симметрично. Удаляется первая конституента в паре, либо БМ (если первая не БМ, а вторая - БМ)
- корректность таблицы отождествления
- множественное отождествление - базовые отождествления влияют на корректность небазовых
- удаление дублирующихся конституент
- наследованные конституенты
RSModel
- перебор булеана и декартова произведения не поддерживаем, но проверять принадлежность и подмножество можно!
- COW семантика работы с данными, передавать только по значению! (исключает саморефернцию при ленивом копировании)
- сохранение в RSCompact плохо определяется для пустого множества - нужно обязательно знать типизацию
- оптимизация дерева разбора перед вычислением
- вычисление терм-функций
StructureData
- компактное представление
- взаимодействие с типизацией: разные БМ, идентификаторы отсутствующих имен
OSSchema
- внешний модуль управления источниками
- таблица отождествлений и сохраненные трансляции могут содержать ID отсутствующих конституент
- источники могут подменяться или отсутствовать
- открытые источники могут быть изменены пользователем (хеши не совпадут с сохраненными!)
- ромбовидный синтез
- абстракция операций - обязательно все проверять для nullptr и для неподдерживаемых типов операций