Тестирование реализации и модульное тестирование - PullRequest
1 голос
/ 12 мая 2011

Мне просто интересно, каковы различия с модульным тестированием и тестированием реализации.Я знаю, что модульное тестирование - это тестирование ваших модулей / классов / объектов с использованием определенных входных данных и сравнение результатов с некоторыми определенными выходными данными, но что делает тестирование реализации и как вы это делаете?Также, где тестирование реализации вписывается в жизненный цикл разработки?

Ответы [ 4 ]

6 голосов
/ 12 мая 2011

«тестирование реализации» не является распространенным выражением. Я подозреваю, что вы имели в виду «интеграционное тестирование», поскольку оно обычно используется, особенно в отличие от модульного тестирования.

Интеграционное тестирование означает тестирование нескольких частей или всей системы, действующих вместе. Часто тесты имитируют реального пользователя, работающего с системой через ее обычный пользовательский интерфейс.

Преимущество состоит в том, что вы не просто проверяете, выполняет ли каждый компонент свой контракт, но также проверяет, правильно ли они составлены и настроены и взаимодействуют, как ожидается - вещи, которые вы не можете уловить с помощью модульных тестов. С другой стороны, зачастую сложно провести исчерпывающее тестирование граничных условий с помощью интеграционных тестов, они менее стабильны и требуют гораздо больше времени для выполнения. И, конечно, они не могут быть запущены (или даже записаны), пока большая часть системы не будет работать.

Таким образом, интеграционные тесты происходят намного позже в жизненном цикле разработки, чем модульные тесты.

1 голос
/ 20 декабря 2012

Я слышал, что тестирование реализации используется в двух разных контекстах.Во-первых, это может быть проверка дизайна.Если у вас есть сложная логика, вы проходите через логику, прежде чем передать ее кодировщику - таким образом, вы не тратите время на реализацию чего-то, что вы должны были разработать лучше.Я также слышал, что он используется как еще один термин для V & V (валидация и верификация), где вы убедитесь, что ваша реализация соответствует вашим требованиям и что она соответствует видению клиента.

0 голосов
/ 07 июля 2014

Реализация либо PRE, либо POST.

В этом случае реализация означает «Ввод в действие», т.е. - В производство.

Таким образом, тестирование перед реализацией означает тестирование в pre-prod непосредственно перед началом работы. Тестирование после внедрения означает тестирование в реальной среде, как только оно будет запущено.

0 голосов
/ 11 сентября 2012

Я работал с инструментами тестирования Visual Studio, Testdriven.net и Excel, все вместе - очень хорошее решение, я написал этот тестовый модуль

[TestMethod()]
public void viewFolderTest()  
{
    string Err = "";
    connect_Excel("viewFolderTest");            
    DcDms actual;
    DaDoc target = new DaDoc(); 

    for (int i = 10; i < ds.Tables[0].Rows.Count; i++)
    {
        Err = "";

        TestRow = ds.Tables[0].Rows[i]["Row"].ToString();
        string expected = ds.Tables[0].Rows[i]["expected"].ToString();
        string ParentId = ds.Tables[0].Rows[i]["ParentId"].ToString(); 

        actual = target.viewFolder(ParentId);

        try
        {
            Assert.AreEqual(expected,actual.Tables[DcDms.Dms_vrFileFolder].Rows.Count.ToString());
        }
        catch (System.Exception ex)
        {
            Err = ex.Message;
            if (Err.Length >= 254)
            {
                Err = Err.Substring(0, 255);   
            }
            Update_Excel("viewFolderTest", "ERROR", Err, "Row", TestRow);
        }
        Update_Excel("viewFolderTest", "actual", actual.Tables[DcDms.Dms_vrFileFolder].Rows.Count.ToString(), "Row", TestRow);
        if (Err == "")
        {
            Update_Excel("viewFolderTest", "ERROR", "Pass", "Row", TestRow);
        }
    }          
}
...