Лучшие практики для тестирования бесконечных входных доменов, таких как парсер или система на основе правил? - PullRequest
2 голосов
/ 13 апреля 2009

Тестирование механизма преобразования текста в речь является довольно сложной задачей. Сам движок анализирует ввод и применяет правила произношения, основанные на фонетическом анализе отдельных слов. Кроме того, существуют списки исключений для правил произношения для улучшения конечного результата. Такие проекты, как Проект Гуттенберга , позволяют буквально бросить книгу на проблему; однако проблема остается в том, что я никогда не могу чувствовать себя комфортно из-за проблемы. Я после решения шести девяток (99,9999% доказательство сбоя). Бросок случайного текста в движок ясно показывает, что я только в три девятки, и последующие исправления, похоже, не помогают. Я знаю, что делать в этом случае (пересмотреть механизмы обработки ошибок в движке, чтобы сделать их изящными). Общая проблема сохраняется. В какой бесконечной области ввода, как вы доказываете качество программного обеспечения?

Ответы [ 2 ]

1 голос
/ 13 апреля 2009

Тест на покрытие. Убедитесь, что вы выполняете все свои ветки и все свои циклы, выполняете весь свой код и убедитесь, что он работает правильно или не работает правильно. В зависимости от того, насколько это важно, попытайтесь достичь 100% Покрытие MCDC (измененное покрытие условия / решения); для каждого условия определите все перестановки входных данных, которые учитывают результат, и убедитесь, что вы проверяете каждую перестановку.

0 голосов
/ 13 апреля 2009

Как вы тестируете свой двигатель? Я бы попробовал использовать механизм распознавания речи (например, встроенный в Microsoft) для проверки качества. По объему доказательства я бы использовал текстовый словарь всех слов + тексты из некоторых книг разных авторов.

...