Список вопросов

This commit is contained in:
2025-03-09 12:33:34 +03:00
parent 2973b7ca22
commit 46de5e92fe

View File

@@ -246,8 +246,8 @@
Заседание происходило в следущем составе:
\begin{itemize}
\item секретарь Кондраев Дмитрий, исполняющий роль координатора;
\item специалист по тестированию Астафьев Игорь;
\item секретарь Астафьев Игорь, исполняющий роль координатора;
\item специалист по тестированию Кондраев Дмитрий;
\item программист Тищенко Артём, он же проектировщик программы.
\end{itemize}
@@ -423,6 +423,151 @@ int main() {
}
\end{lstlisting}
\subsection{Список вопросов и ответов на них}
Ниже представлен список вопросов, которые специалист по тестированию Кондраев задавал программисту Тищенко. После каждого вопроса приведен ответ. После некоторых ответов следуют замечания специалиста по тестированию.
\begin{enumerate}
\item Программа реализует бинарное дерево поиска?
\textit{Ответ:} Да.
\item На каком языке написана программа?
\textit{Ответ:} C++.
\item Какие типы переменных используются?
\textit{Ответ:} int, string, BSTNode*, BST, vector<string>, bool.
\item Все ли константные переменные объявлены при их инициализации?
\textit{Ответ:} Да.
\item Где-то используется индексация массивов?
\textit{Ответ:} Да, в выводе слов (например, \texttt{allWords[i]}) и обработке ввода.
\item Проверяется ли аргумент индексации что он целочисленный?
\textit{Ответ:} Да, через приведение типа и проверку условий (например, \texttt{(int)allWords.size()}).
\item Корректно ли названы все методы и переменные?
\textit{Ответ:} Да, кроме параметра \texttt{w} в методах BST.
\textbf{Замечание:} Параметры вроде \texttt{w} стоит переименовать в \texttt{word} для ясности.
\item Возможно ли деление на 0?
\textit{Ответ:} Нет.
\item Как выполняются проверки сравнения?
\textit{Ответ:} Сравниваются строки (например, \texttt{w == node->word}) и целые числа.
\item Есть ли операторы сравнения с целыми константами?
\textit{Ответ:} Да (например, проверка \texttt{command == 0}).
\item Используются ли переменные double, float?
\textit{Ответ:} Нет.
\item Может ли какая-нибудь переменная типа int переполниться?
\textit{Ответ:} Теоретически возможно, но маловероятно (например, при очень большом количестве слов).
\item Соблюдены ли правила наследования объектов?
\textit{Ответ:} Да, наследование не используется.
\item Все ли переменные объявлены?
\textit{Ответ:} Да.
\item Правильно ли инициализированы массивы и строки?
\textit{Ответ:} Да (например, \texttt{vector<string> result;} инициализируется пустым).
\item Удаляются ли неиспользуемые переменные из памяти?
\textit{Ответ:} Частично.
\textbf{Замечание:} Не хватает деструктора для класса \texttt{BST} для полной очистки памяти.
\item Присутствуют ли в программе потенциально бесконечные циклы?
\textit{Ответ:} Нет.
\item Может ли значение индекса выйти за размер массива?
\textit{Ответ:} Нет (используется \texttt{(int)allWords.size()}, что предотвращает выход за границы).
\item Проверяются ли входные данные на принадлежность к домену?
\textit{Ответ:} Частично.
\textbf{Замечание:} Не проверяется, содержит ли строка только допустимые символы (например, кириллицу).
\item Используются ли логические выражения?
\textit{Ответ:} Да (например, \texttt{if (!node)}).
\item Используются ли файлы для ввода-вывода?
\textit{Ответ:} Нет.
\item У всех ли классов есть конструктор?
\textit{Ответ:} Да (например, \texttt{BSTNode(const string\& w)}).
\item В цикле for корректно ли написана операция сравнения в цикле?
\textit{Ответ:} Да (например, \texttt{for (int i = 0; i < (int)allWords.size(); i++)}).
\item Проверяется ли наличие элементов в дереве перед удалением?
\textit{Ответ:} Нет.
\textbf{Замечание:} Метод \texttt{remove} возвращает \texttt{false} при отсутствии элемента, но нет явной проверки на пустое дерево.
\item Совпадает ли число аргументов, передаваемых вызываемым модулям и число ожидаемых параметров?
\textit{Ответ:} Да.
\item Делаются ли в программе попытки поправить входные аргументы?
\textit{Ответ:} Да (например, обработка \texttt{stoi(cmdStr)} с исключениями).
\item Нет ли пропущенных функций?
\textit{Ответ:} Нет, все функции реализованы (вставка, удаление, очистка, вывод).
\item Выдаются ли предупреждения при компиляции?
\textit{Ответ:} Нет (при условии корректных настроек компилятора).
\item Выдаются ли ошибки при компиляции?
\textit{Ответ:} Нет.
\item Выполняются ли вычисления с присваиванием несовпадающих типов?
\textit{Ответ:} Нет.
\item Есть ли комментарии в программе?
\textit{Ответ:} Нет.
\textbf{Замечание:} Стоит добавить пояснения к методам класса \texttt{BST}.
\item Оформлен ли код в соответствии с некоторым регламентом?
\textit{Ответ:} Да (отступы, именование классов и методов в camelCase).
\end{enumerate}
\newpage
\section*{Заключение}
\addcontentsline{toc}{section}{Заключение}