Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Якість програмного забезпечення Лекції.docx
Скачиваний:
7
Добавлен:
05.12.2018
Размер:
35.28 Кб
Скачать

1.09.2011 Що таке якість?

Поняття якості важко осягнути і ніхто не знає як виміряти його.

  • Якість – це відповідність специфікації

  • Якість – це відповідність потребам кінцевого користувача

Якість за Філіпом Кросбі:

  • Перше помилкове припущення, що якість означає добро, або розкіш чи блиск

  • Якість повинна бути визначена як «відповідність вимогам», якщо ми хочемо керувати ними.

  • Невідповідність вимогам – це відсутність якості.

Якість за Вальтером Шухартом

  • Є два загальні аспекти якості: один з них пов'язаний з розглядом якості речі, як об’єктивної реальності, незалежної від існування людини. Інший має відношення до того, що ми думаємо та відчуваємо в результаті об’єктивної реальності.

Якість за Вальтером Демінгом

  • Труднощами у визначенні якості є перетворення майбутніх потреб користувачів у вимірювані характеристики, так що продукт може бути розроблений так, щоб задовольнити користувача за підходящу ціну.

Управління якістю за Демінгом

  • Створити постійність мети покращення продукту та послуг

  • Прибрати залежність від масових інспекцій

  • Інституалізація навчання

  • Інституалізація лідерства

  • Позбавлення від страху задати запитання

  • Знищення бар’єру між підрозділами

  • Знищення неможливості пишатися своєю роботою

Качество ПО:

  • Основы качества

    • Культура и этика программной инженерии

    • Значение и стоимость качества

    • Модели и характеристики качества

    • Повышение качества

  • Процессы управления качеством

    • Подтверждение качества

    • Проверка и аттестация

    • Оценка и аудит

  • Практическое соображение

    • Требования к качеству

    • Характеристика дефектов

    • Техника управления качеством

    • Количественная оценка качества

Функціональність – це сукупність властивостей, які визначають здатність ПЗ виконувати в заданому середовищі перелік функцій у відповідності з вимогами до обробки та у відповідності до загальносистемних засобів.

Надійність – це сукупність атрибутів, які визначають здатність ПЗ перетворювати вихідні дані в результати, при умовах які залежать від періоду часу життя ПЗ.

Зручність використання – характеризується множиною атрибутів, які вказують на необхідні та придатні умови використання ПЗ певним колом користувачів для отримання відповідних результатів.

Ефективність – множина атрибутів, які визначають взаємозв’язок між рівнем виконання ПЗ, кількістю використаних ресурсів та послуг, які виконуються штатним персоналом.

Супроводжуваність – це множина атрибутів, які показують зусилля, які потрібно затратити на проведення модифікацій, які включають корегування, удосконалення та адаптацію ПЗ при зміні середовища, вимог чи функціональних специфікацій.

Переносимість – це множина атрибутів, які вказують на здатність ПЗ пристосовуватися до роботи в нових умовах середовища.

Здатність до масштабування [run-time]

  • Здатність системи обробляти зростаючий обсяг роботи витонченим чином або швидко розширюватись.

Надійність [run-time]

  • Здатність системи або компонента виконувати функції, які вимагаються у відповідності з необхідними умовами у певний період часу. Може бути обчислена як R = середнє – час до відмови.

Готовність [run-time]

  • Ступінь, до якої система або компонент є робочий і доступний, коли це потрібно дял використання, часто виражається як ймовірність.

А = середнє напрацювання до відмови / (середнє напрацювання до відмови + середнє напрацювання до ремонту)

Безпека [run-time]

  • Ступінь, до якої програмне забезпечення системи забезпечує захист системних даних від розголошення, зміни або знищення.

Практичність [run-time]

  • Легкість з якою користувач може навчатися працювати, підгодовувати матеріали й інтерпретувати результати системи або компонента.

    • Зрозумілість

    • Зручність у вивченні

    • Працездатність

    • Привабливість

Здатність до супроводу [structural]

  • Легкість, з якою система ПЗ та компоненти можуть бути модифіковані для виправлення дефектів, підвищення продуктивності або інші атрибути, або адаптація до оточення, що змінюється.

Портативність [structural]

  • Легкість з якою система або компонент може бути переведений з одного апаратного програмного середовища в інше.

Здатність до взаємодії [structural]

  • Здатність двох або більше систем або компонентів для обміну інформацією і використовувати інформацію, якою обмінювались.

8.09.2011

Деякі інші здатності

  1. гнучкість

  2. здатність до повторного використання

Ділові атрибути

  1. час виходу продукту на ринок

  2. вартість та прибуток

  3. передбачувальний термін служби системи

  4. цільовий сегмент ринку

  5. графік рогортання

  6. Інтеграція з існуючими системами

Проектування важливе

Проектування це перший крок на якому атрибути якості можуть бути атаковані.

Проектні рішення значно впливають на якість программного забезпечення.

Продуктивнітсь та здатність до масшабування

  1. Час потрібен для коммунікації між різними компонентами программного забезпечення

  2. Обсяг коммунікації залежить від того, як функції зруповані в компонентах

  3. Засоби коммунікації, залежить від природи компонентів

  4. Час коммунікації залежить також від розподілу компонентів у мрежі

  5. Час на коммунікації може бути зменшений шляхом зменшення кількості синзронізації між паралелльними компонентами

Кодекс программного інженера

  1. Узгодження професійної діяльності з інтересами суспільства

  2. взаємовідносини між клієнтом, работодавцем і виконавцем розробки

  3. досягнення відповідності якості продукту кращим професійним стандартам

  4. дотримання чесності і незалежності при професійних оцінках

  5. дотримання етичних норм у менеджменті і в супроводі розробок

  6. підтримка становлення професій у відповідності з кодексом етики

  7. дотриманя етичних норм у взаємовідносинах між колегами

  8. удосконалення кваліфікації розробників

Дефект -неправильний крок, процес чи визначення даних в комп. Програмі

Помилка(Error)- дія людини, що призвела до неправильного результату

Вимірювання та властивості орієнтовані на корректність ПЗ

  1. Інтенсивність відмов — частота появи відмов у ПЗ при її тестуванні або експлуатації(вимірювання кількості відмо, їх розподілу та інтенсивності.)

  2. Надійність -ймовірність роботи системи без збоїв протягом заданного періоду часу або для данногонабору вхідних даних

  3. Суворість відмов — наскільки тяжкі наслідки може видати відмова

Гарантоздатність

  1. захищеність від збоїв

  2. безпека використання

  3. інформаційна безпека чи захищенність (від взлому)

  4. зручність і простота використання (usability)

  5. надійність — критерієм, який може бути визначений в

Дефекти в контексті якості ПЗ та інженерії якості (QA)

  1. запобігання дефектам

  2. виявлення та усунення дефектів

  3. стримування дефектів

Інженерія якості включає:

  1. Планування якості до початку діяльності по ЗЯ(QA)

  2. виконання діяльності по ЗЯ

  3. Вимірювання і аналіз, моніторінг і контроль діяльності по ЗЯ

ЗЯ - забезпечення якості

QA -

Запобігання дефектам

Відбувається шляхом блокування чи усунення джерела помилок

  1. усунення джерела помилок- знищення неоднозначностей, непорозумінь, навчяння персоналу в тому числі й у предметній області ПЗ

  2. Блокування джерела помилок — застосування спеціальних інструментів та технік для підтримання певних..

Виявлення та усунення дефектів

1) інспекція вихідного коду проектніх документів, специфікацій і т.д. З метою виявлення та усунення дефектів

2) Тестування виявляє дефекти шдяхом спостереження повьязаних з ними відмов

15.09.2011 Стандарти в інженерії якості

26.09.2011

Лекція 13: Вибір та комбінація технік тестування

  • Статичне тестування

  • Ручне тестування

  • Автоматизоване тестування

  • Операційний профіль

  • Функціональне та структурне тестування

  • Тестування вебзастосування

  • Тестування графічного інтерфейсу користувача

  • Тестування систем реального часу

  • Альфа-тестування

  • Комбінування технік тестування

Основна ціль тестування

  • Однією з цілей тестування є виявлення якомога більше потенціальних відмов і для цього було розроблено багато технік, які намагаються «зламати» програму.

Класифікація технік

  • Біла скринька. Якщо тести спираються на інформацію про те як програмне забезпечення було розроблено або закодовано.

  • Чорна скринька. Якщо тести спираються тільки на вхідну/вихідну поведінку.

  • Хоча терміни «чорна скринька» та «біла скринька» мають популярне використання багато людей віддають перевагу термінам «структурна» та «поведінкова».

Сіра скриня

  • Сіра скриня. Тестувальник застосовує обмежене число тестів для внутрішньої роботи ПЗ у процесі тестування.

Статичне тестування

  • Тестова діяльність, що пов’язана з аналізом результатів розробки програмного забезпечення, називається статичним тестуванням. Воно передбачає перевірку кодів, контроль та перевірку програми без запуску на комп’ютері.

Ручне тестування

  • Ручне тестування – це коли розробник без допоміжних утиліт тестує програму шляхом перевірки правильності функціонування кожної дії програми.

Автоматизоване тестування

  • Автоматизоване тестування – це автоматичне виконання тестування ПЗ спеціальної програмою при малій долі втручання людини (або взагалі без неї).

Операційний профіль

  • Операційний профіль використовується для обчислення частотного розподілу очікуваного використання окремих складових ПЗ (функцій, модулів, операцій). Це дозволяє диференціювати складові ПЗ за частотою використання та будувати на цій основі ефективні сценарії тестування.

Функціональне тестування

  • Техніка тестування програмного забезпечення, яка внутрішньо перевіряє деталі, що тестуються і є не відомими для тестувальника та базується на техніці «чорна скринька».

Структурне тестування

  • Структура тестування перевіряє внутрішню структуру елементів програмного забезпечення, базується на техніці «біла скринька». Проводиться за допомогою статичного тестування або перевірок.

Тестування вебзастосувань

  • Вебзастосування розглядаються як клієнт/серверні застосування, в яких функціональність реалізується на серверній та клієнтських частинах, а інтерфейс користувача має стандартизовану архітектуру.

  • Архітектура інтерфейсу користувача вебзастосування:

    • Для взаємодії з користувачем використовується веббраузер.

    • Взаємодія з користувачем чітко розділяється на етапи, протягом яких браузер працює з одним описанням інтерфейсу, а ці етапи в свою чергу розділяються локалізованими зверненнями від браузера до застосування.

    • Для описання інтерфейсу застосовується стандартне представлення.

    • Взаємодія між браузером та застосуванням відбувається по стандартному протоколу (HTTP), і чітко формалізована.

    • Функціональність вебзастосування розподілена між сервером та клієнтськими комп’ютерами користувачів.

  • Проводиться на трьох рівнях:

    • Інтерфейс користувача

    • Сервер (сервери)

    • Протокол їх взаємодії

  • Функціональне тестування проводиться на рівні інтерфейсу користувача та на рівні його взаємодії з сервером.

  • Тестування інтерфейсу зводиться до перевірки коректності ввідних даних, правильності навігації по сайту та інших характеристиках зручності використання вебзастосування.

  • Методологія систематичного тестування:

    • Ідентифікація оточення вебзастосування (мови скриптів, сервер, операційна система).

    • Тестування прихованих елементів форм і розкриття вихідних текстів (перевірка вихідного коду всіх сторінок, які випадково залишив розробник).

    • Визначення механізмів аутентифікації (відбувається спроба отримання доступу до ресурсів через всі точки входу).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]