💡 Инструкция: Выберите один ответ из пяти. На тест отведено 85 минут; после ответа можно открыть объяснение.
Вопрос 16 из 30
Не запуская фрагмент, выберите объяснение, которое учитывает весь механизм «Ошибки границы».
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Imports System.Runtime.InteropServices
Module Demo
Sub Export(documentName As String)
Try
OfficeExporter.Run(documentName)
Catch ex As COMException
Throw New InvalidOperationException($"Office export failed for {documentName}; HRESULT={ex.HResult:X8}", ex)
End Try
End Sub
End Module
Наблюдаемое поведение: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка не должна получить контекст документа, шага и версии, не скрывая исходный код.
Наблюдаемое поведение: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Наблюдаемое поведение: граница COM не может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Наблюдаемое поведение: нарушение условия «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» допустимо, если тест подтверждает «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Наблюдаемое поведение: достаточно выполнить одно из двух условий: «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» или «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Вопрос 17 из 30
После рефакторинга код стал короче. Какое условие по теме «Ошибки границы» нельзя потерять?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Option Strict On
Imports System.Runtime.InteropServices
Namespace ReviewCase23_4
Module Demo
Sub Export(reviewDocumentName As String)
Try
OfficeExporter.Run(reviewDocumentName)
Catch reviewEx As COMException
Throw New InvalidOperationException($"Office export failed for {reviewDocumentName}; HRESULT={reviewEx.HResult:X8}", reviewEx)
End Try
End Sub
End Module
End Namespace
Сохранить на ревью: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Сохранить на ревью: достаточно выполнить одно из двух условий: «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» или «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Сохранить на ревью: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка не должна получить контекст документа, шага и версии, не скрывая исходный код.
Сохранить на ревью: граница COM не может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Сохранить на ревью: нарушение условия «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» допустимо, если тест подтверждает «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Вопрос 18 из 30
Раздел «Ошибки границы»: какой результат следует зафиксировать до запуска отрицательного сценария?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Option Explicit On
Option Infer On
Imports System.Runtime.InteropServices
Namespace BoundaryCase23_4
Module Demo
Sub Export(edgeDocumentName As String)
Try
OfficeExporter.Run(edgeDocumentName)
Catch edgeEx As COMException
Throw New InvalidOperationException($"Office export failed for {edgeDocumentName}; HRESULT={edgeEx.HResult:X8}", edgeEx)
End Try
End Sub
End Module
End Namespace
Добавить регрессионную проверку: достаточно выполнить одно из двух условий: «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» или «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Добавить регрессионную проверку: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка не должна получить контекст документа, шага и версии, не скрывая исходный код.
Добавить регрессионную проверку: граница COM не может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Добавить регрессионную проверку: нарушение условия «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» допустимо, если тест подтверждает «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Добавить регрессионную проверку: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Вопрос 19 из 30
Раздел «Ошибки границы»: как уменьшить риск дефекта, не подменяя причину запасным значением?
Не скрывать за запасным сценарием: граница COM не может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Не скрывать за запасным сценарием: нарушение условия «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» допустимо, если тест подтверждает «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Не скрывать за запасным сценарием: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Не скрывать за запасным сценарием: достаточно выполнить одно из двух условий: «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» или «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Не скрывать за запасным сценарием: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка не должна получить контекст документа, шага и версии, не скрывая исходный код.
Вопрос 20 из 30
Раздел «Ошибки границы»: какой вывод описывает семантику, а не предпочтение в оформлении?
Надёжное обобщение: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Надёжное обобщение: достаточно выполнить одно из двух условий: «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» или «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Надёжное обобщение: граница COM может вернуть HRESULT, COMException или частично выполненную операцию; ошибка не должна получить контекст документа, шага и версии, не скрывая исходный код.
Надёжное обобщение: граница COM не может вернуть HRESULT, COMException или частично выполненную операцию; ошибка должна получить контекст документа, шага и версии, не скрывая исходный код.
Надёжное обобщение: нарушение условия «Граница COM может вернуть HRESULT, COMException или частично выполненную операцию» допустимо, если тест подтверждает «ошибка должна получить контекст документа, шага и версии, не скрывая исходный код».
Вопрос 21 из 30
Раздел «Проверка корректности»: в примере с OfficeSmokeTest важна не форма записи, а поведение. Какое утверждение его описывает?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Class OfficeSmokeTest
Public Sub Run()
If Not Environment.Is64BitProcess Then Throw New InvalidOperationException("x64 required")
Using sample = SampleDocument.CreateCorruptedCopy()
Assert.Throws(Of OfficeImportException)(Sub() Importer.Import(sample.Path))
End Using
End Sub
End Class
Наблюдаемое поведение: автоматизацию проверяют на любой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Наблюдаемое поведение: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; глобальный успешный файл недостаточен.
Наблюдаемое поведение: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Наблюдаемое поведение: автоматизацию не проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Наблюдаемое поведение: достаточно обеспечить «локальный успешный файл недостаточен»; условие «Автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением» можно отдельно не проверять.
Вопрос 22 из 30
После рефакторинга код стал короче. Какое условие по теме «Проверка корректности» нельзя потерять?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Option Strict On
Namespace ReviewCase23_5
Class OfficeSmokeTest
Public Sub Run()
If Not Environment.Is64BitProcess Then Throw New InvalidOperationException("x64 required")
Using sample = SampleDocument.CreateCorruptedCopy()
Assert.Throws(Of OfficeImportException)(Sub() Importer.Import(sample.Path))
End Using
End Sub
End Class
End Namespace
Сохранить на ревью: автоматизацию проверяют на любой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Сохранить на ревью: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Сохранить на ревью: автоматизацию не проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Сохранить на ревью: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; глобальный успешный файл недостаточен.
Сохранить на ревью: достаточно обеспечить «локальный успешный файл недостаточен»; условие «Автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением» можно отдельно не проверять.
Вопрос 23 из 30
Раздел «Проверка корректности»: какое утверждение поможет отличить настоящий дефект от случайности тестовых данных?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Option Explicit On
Option Infer On
Namespace BoundaryCase23_5
Class OfficeSmokeTest
Public Sub Run()
If Not Environment.Is64BitProcess Then Throw New InvalidOperationException("x64 required")
Using sample = SampleDocument.CreateCorruptedCopy()
Assert.Throws(Of OfficeImportException)(Sub() Importer.Import(sample.Path))
End Using
End Sub
End Class
End Namespace
Добавить регрессионную проверку: достаточно обеспечить «локальный успешный файл недостаточен»; условие «Автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением» можно отдельно не проверять.
Добавить регрессионную проверку: автоматизацию не проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Добавить регрессионную проверку: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Добавить регрессионную проверку: автоматизацию проверяют на любой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Добавить регрессионную проверку: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; глобальный успешный файл недостаточен.
Вопрос 24 из 30
Раздел «Проверка корректности»: как уменьшить риск дефекта, не подменяя причину запасным значением?
Сделать явным правилом модуля: автоматизацию проверяют на любой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Сделать явным правилом модуля: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Сделать явным правилом модуля: автоматизацию не проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Сделать явным правилом модуля: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; глобальный успешный файл недостаточен.
Сделать явным правилом модуля: достаточно обеспечить «локальный успешный файл недостаточен»; условие «Автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением» можно отдельно не проверять.
Вопрос 25 из 30
Раздел «Проверка корректности»: какой вывод описывает семантику, а не предпочтение в оформлении?
Надёжное обобщение: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; глобальный успешный файл недостаточен.
Надёжное обобщение: достаточно обеспечить «локальный успешный файл недостаточен»; условие «Автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением» можно отдельно не проверять.
Надёжное обобщение: автоматизацию проверяют на любой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Надёжное обобщение: автоматизацию не проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Надёжное обобщение: автоматизацию проверяют на целевой разрядности Office, с пустым и повреждённым документом, повторным запуском и отсутствующим приложением; локальный успешный файл недостаточен.
Вопрос 26 из 30
Какой контракт действительно соблюдает показанный фрагмент из раздела «Устойчивость к сбоям»?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Class OfficeJob
Public Function Run(source As String, target As String) As Boolean
Dim temp = target & ".partial"
Try
Exporter.Export(source, temp)
File.Move(temp, target, True)
Return True
Catch
If File.Exists(temp) Then File.Delete(temp)
Throw
End Try
End Function
End Class
Контракт кода: достаточно обеспечить «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее»; условие «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата» можно отдельно не проверять.
Контракт кода: заблокированный файл или половину опубликованного результата»; условие «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее» можно не учитывать на обычном входе.
Контракт кода: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Контракт кода: сбой Office должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Контракт кода: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска не делают сценарий устойчивее.
Вопрос 27 из 30
Раздел «Устойчивость к сбоям»: что должно остаться явным после переработки участка с OfficeJob?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Option Strict On
Namespace ReviewCase23_6
Class OfficeJob
Public Function Run(reviewSource As String, reviewTarget As String) As Boolean
Dim reviewTemp = reviewTarget & ".partial"
Try
Exporter.Export(reviewSource, reviewTemp)
File.Move(reviewTemp, reviewTarget, True)
Return True
Catch
If File.Exists(reviewTemp) Then File.Delete(reviewTemp)
Throw
End Try
End Function
End Class
End Namespace
Проверить перед объединением: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Проверить перед объединением: достаточно обеспечить «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее»; условие «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата» можно отдельно не проверять.
Проверить перед объединением: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска не делают сценарий устойчивее.
Проверить перед объединением: сбой Office должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Проверить перед объединением: условие «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата» влияет только на диагностику; поведение определяет «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее».
Вопрос 28 из 30
Раздел «Устойчивость к сбоям»: обычный сценарий проходит. Что следует закрепить отдельным граничным тестом?
Visual Basic / VB.NET Visual Basic · COM-взаимодействие и Office Automation Копировать
Option Explicit On
Option Infer On
Namespace BoundaryCase23_6
Class OfficeJob
Public Function Run(edgeSource As String, edgeTarget As String) As Boolean
Dim edgeTemp = edgeTarget & ".partial"
Try
Exporter.Export(edgeSource, edgeTemp)
File.Move(edgeTemp, edgeTarget, True)
Return True
Catch
If File.Exists(edgeTemp) Then File.Delete(edgeTemp)
Throw
End Try
End Function
End Class
End Namespace
Закрепить тестом: достаточно обеспечить «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее»; условие «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата» можно отдельно не проверять.
Закрепить тестом: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Закрепить тестом: в теме Устойчивость к сбоям достаточно выполнить «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата»; условие «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее» можно не учитывать на обычном входе.
Закрепить тестом: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска не делают сценарий устойчивее.
Закрепить тестом: сбой Office должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Вопрос 29 из 30
Раздел «Устойчивость к сбоям»: какое решение выдержит не только демонстрационный, но и отказный сценарий?
Не скрывать за запасным сценарием: сбой Office должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Не скрывать за запасным сценарием: условие «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата» влияет только на диагностику; поведение определяет «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее».
Не скрывать за запасным сценарием: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска не делают сценарий устойчивее.
Не скрывать за запасным сценарием: сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата; временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее.
Не скрывать за запасным сценарием: достаточно обеспечить «временный файл, тайм-аут и план повторного запуска делают сценарий устойчивее»; условие «Сбой Office не должен оставлять процесс, заблокированный файл или половину опубликованного результата» можно отдельно не проверять.