Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Понятие качества по иверификации

Автор:   •  Май 3, 2018  •  Лабораторная работа  •  1,641 Слов (7 Страниц)  •  566 Просмотры

Страница 1 из 7

Министерство образования и науки Российской Федерации

ФГБОУ ВО Тульский государственный университет

ИНСТИТУТ ПРИКЛАДНОЙ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК

КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

ПОНЯТИЕ КАЧЕСТВА ПО И ВЕРИФИКАЦИИ

Отчет по лабораторной работе № 1

по курсу «Валидация и верификация программных систем»

Выполнил:            студент группы

Проверил:          

Тула 2017

Цель работы

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

Задание

  1. Приведите примеры встроенных средств тестирования в других языках программирования (GO, RUST).
  2.  Используя методологию Unit-тестирования проверьте правильность работы отдельно взятого метода произвольной программы, написанной на языке C#.
  3.  Используя систему Docker на основе образа Ubuntu произвольной версии создайте и запустите контейнер, проверьте его JSON-содержимое, а затем остановите работу этого контейнера.
  4.  Выделите достоинства и недостатки методологии модульного тестирования.
  5.  Приведите дополнительные примеры систем контроля версий и проектов, созданных с их использованием.
  6.  Рассмотрите основные виды систем контроля версий.
  7.  Выполните рассмотрение особенностей каждого приведенного вида систем.
  8.  Подготовьте обзор системы GitLab.
  9.  Приведите дополнительные примеры возникновения конфликтных ситуаций.

Ход работы

  1. Тестирование на языке Go

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

Для тестирования некоторой функции создаётся отдельный файл с именем исходного файла, имеющим приписку “_test”. В данном файле импортируется библиотека тестирования testing, а также создаётся функция для тестирования необходимого метода, c именем исходного метода, имеющим приписку Test в начале, аргументом которой является указатель на структуру testing.T. Данный код не используется при сборке.

Для проведения тестирования используется команда go test.

Пример приведён ниже.

//main.go

package main

import (

    "fmt"

)

func main() {

    fmt.Println(Sum(4,5))

}

func Sum(a, b int) int {

    return a + b

}

//main_test.go

package main

import (

    "testing"

)

// Test methods start with `Test`

func TestSum(t *testing.T) {

    got := Sum(1, 2)

    want := 3

    if got != want {

        t.Errorf("Sum(1, 2) == %d, want %d", got, want)

    }

}

$ go test

ok      test_app    0.005s

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

Тестирование на языке Rust

Функции на языке Rust могут быть протестированы с помощью добавления к ним следующих атрибутов:

  • #[test] помечает функцию как юнит-тест. Функция в данном случае не должна принимать на вход никаких параметров и не должна ничего возвращать.
  • #[should_panic] помечает функцию как тест на вызов паники.

Текст программы приведён ниже.

#[cfg(not(test))]

fn main() {

    println!("If you see this, the tests were not compiled nor ran!");

}

#[cfg(test)]

mod test {

    // A helper function `distance_test` will need.

    fn distance(a: (f32, f32), b: (f32, f32)) -> f32 {

        (

            (b.0 - a.0).powi(2) +

            (b.1 - a.1).powi(2)

        ).sqrt()

    }

    #[test]

    fn distance_test() {

...

Скачать:   txt (20 Kb)   pdf (629.4 Kb)   docx (701.2 Kb)  
Продолжить читать еще 6 страниц(ы) »
Доступно только на Essays.club