Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ Кафедра інженерії програмного забезпечення Контрольна робота
з дисципліни: «Якість програмного забезпечення та тестування »
Тема: «Оцінка якості програмного забезпечення» |
|||
Виконав: |
Обремський В.С |
Оцінка |
|
Група |
302з |
в балах |
за національною шкалою |
Факультет |
ФКН |
||
Спеціальність |
6.050103 |
||
Перевірив: |
Дишлевий О.П |
||
Дата перевірки |
|||
2013 |
Хід роботи:
Технічне завдання:
ID |
Description |
Area |
R001 |
До кожного пункту меню мають бути зазначені гарячі клавіші швидкого доступу |
Меню |
R002 |
Забезпечення можливості створення нової закладки. |
Панель інструментів:Новая закладка |
R003 |
Має бути правильно локалізований інтерфейс |
Меню &Панель інструментів |
R004 |
Текст на кнопках повинен бути відцентралізований та не виходити за межі кнопки. |
Меню: Вид/Знайти Меню: Настройки/ вкладка «Вложения/Подкасты» |
R005 |
Наступне непрочитане повідомлення повинно виділятися зверху вниз. |
Панель інструментів |
R006 |
При натисканні на кнопку «TopStories» повинні відображатись найбільш використовувані стрічки новин. |
Меню: Инструменты/TopStories Панель інструментів: TopStories |
Тест кейси:
ID |
Requirement ID |
Steps |
Status |
1 |
R001 |
|
Testpassed (тест успішний) |
2 |
R002 |
|
Testpassed (тест успішний) |
3 |
R003 |
|
Testpassed (тест не успішний) |
4 |
R004 |
|
Testpassed (тест не успішний) |
5 |
R005 |
|
Testpassed (тест не успішний) |
6 |
R006 |
|
Testpassed (тест успішний) |
Незручності:
ID |
Description |
Area |
R001 |
Програма не цілком русифікована |
Меню/Панель інструментів |
R002 |
Online-документація відкривається у вебраузері,а не в новій закладці. |
Меню: Помощь/Документацияonline |
R003 |
Кнопка «Пометитькакпрочтенное» помічає прочитаним всю категорію, а не обране повідомлення(ні) |
Панель інструментів |
R004 |
Кнопки навігації між вкладками взагалі не працюють |
Тест кейсинезручності:
ID |
Requirement ID |
Steps |
Status |
1 |
R001 |
|
Testpassed |
2 |
R002 |
|
Testpassed |
Рис. 1:R001 & R002
Рис. 2:R004
Рис. 3:Незручність R004
Product:RSSBanditVersion: 1.9.0.1002 Priority:Low Scenario (UseCase):Помітити як прочитане Component: RSS Bandit/NavigationPanel Type:Functional QA Severity:Low DEF Number: D0101011 RaisedBy: ObremskuiVladislav Summary:Помічає всі повідомлення як прочитані. Steptoreproduce:Треба змінити програмний код. Notes: Впливає на зручність у використанні та на зручність візуального сприйняття. |
Виконання:
Для перевірки було обрано клас LinkedList. Нижче приведено код блочних тестів, написаних у ході виконання лабораторної роботи.
usingSystem;
usingSystem.Text;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingMicrosoft.VisualStudio.TestTools.UnitTesting;
namespace UNIT
{
/// <summary>
/// Summarydescriptionfor UnitTest1
/// </summary>
[TestClass]
publicclass UnitTest1
{
public UnitTest1()
{
//
// TODO: Addconstructorlogichere
//
}
privateTestContexttestContextInstance;
/// <summary>
///Getsorsetsthetestcontextwhichprovides
///informationaboutandfunctionalityforthecurrenttestrun.
///</summary>
publicTestContextTestContext
{
get
{
returntestContextInstance;
}
set
{
testContextInstance = value;
}
}
#regionAdditionaltestattributes
//
// Youcanusethefollowingadditionalattributesasyouwriteyourtests:
//
// UseClassInitializetoruncodebeforerunningthefirsttestintheclass
// [ClassInitialize()]
// publicstaticvoidMyClassInitialize(TestContexttestContext) { }
//
// UseClassCleanuptoruncodeafteralltestsin a classhaverun
// [ClassCleanup()]
// publicstaticvoidMyClassCleanup() { }
//
// UseTestInitializetoruncodebeforerunningeachtest
// [TestInitialize()]
// publicvoidMyTestInitialize() { }
//
// UseTestCleanuptoruncodeaftereachtesthasrun
// [TestCleanup()]
// publicvoidMyTestCleanup() { }
//
#endregion
//1
[TestMethod]
publicvoidCreationTest()
{
LinkedList<string>ll = newLinkedList<string>();
Assert.AreEqual(0, ll.Count);
}
//2
[TestMethod]
publicvoidAddingTest()
{
LinkedList<string>ll = newLinkedList<string>();
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.AddFirst("3test");
Assert.AreEqual(3, ll.Count);
Assert.AreEqual("1test", ll.ElementAt(ll.Count-1));
}
//3
[TestMethod]
publicvoidCopyTest()
{
LinkedList<string>ll = newLinkedList<string>();
string[] s = newstring[5];
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.CopyTo(s,0);
Assert.IsNotNull(s[0]);
Assert.IsNotNull(s[1]);
Assert.IsNull(s[2]);
Assert.AreEqual("1test", s[1]);
}
//4
[TestMethod]
publicvoidFindingTest()
{
LinkedList<string>ll = newLinkedList<string>();
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.AddFirst("3test");
string s = ll.Find("1test").Value;
Assert.AreEqual(s, "1test");
}
//5
[TestMethod]
publicvoidConTest()
{
LinkedList<string>ll = newLinkedList<string>();
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.AddFirst("3test");
Assert.IsTrue(ll.Contains("1test"));
}
//6
[TestMethod]
[ExpectedException(typeof(ArgumentOutOfRangeException))]
publicvoidExcTest()
{
LinkedList<string>ll = newLinkedList<string>();
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.AddFirst("3test");
ll.ElementAt(3);
}
//7
[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
publicvoidNullTest()
{
LinkedList<string>ll = null;
ll.ElementAt(0);
}
//8
[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
publicvoidNullSecondTest()
{
LinkedList<string>ll = newLinkedList<string>();
string[] s = null;
ll.CopyTo(s,10);
//Assert.AreEqual(0, ll.Count);
}
//9
[TestMethod]
publicvoidRemTest()
{
LinkedList<string>ll = newLinkedList<string>();
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.AddFirst("3test");
ll.RemoveLast();
Assert.IsFalse(ll.Contains("1test"));
}
//10
[TestMethod]
publicvoidPurTest()
{
LinkedList<string>ll = newLinkedList<string>();
ll.AddFirst("1test");
ll.AddFirst("2test");
ll.AddFirst("3test");
ll.Clear();
Assert.AreEqual(0, ll.Count);
}
}
}
Результат проходження тестів (рисунок 1).
Тест CreationTest :
Тест конструктора класу LinkedList перевірка, чи є список, після створення обєкту-списку, пустим.
Тест AddingTest :
Тест методу AddFirst перевірка, чибуло добавлено елемент до списку, та чи було додано елемент на першу позицію.
Тест CopyTest :
Тест методу CopyTo перевірка, чи правильно було збережено елементи списку до масиву, що має такий самий тип елементів (чи було збережено усі елементи, чи не було змінено елементи під час збереження, чи зберігся порядок елементів).
Тест FindTest :
Тест методу Find перевірка,чи було знайдено конкретний елемент, що міститься у списку, та чи коректно виконано пошук.
Тест ConTest :
Тест методу Content перевірка,чи вірною є перевірка наявності елементу у списку, за допомогою перевірюваного методу.
Тест ExcTest :
Перевірка отримання виключної ситуації типу ArgumentOutOfRangeExceptionпри спробі звернення до індексу, що лежить за межами списку.
Тест NullTest :
Перевірка отримання виключної ситуації типу ArgumentNullExceptionпри спробі звернення до порожнього посилання на список.
Тест NullSecondTest :
Перевірка отримання виключної ситуації типу ArgumentNullExceptionпри спробі збереження елементів списку до масиву, посилання на який є порожнім.
Тест RemTest :
Тест методу RemoveLast перевірка,чи вірнобуло видалено останній елемент зі списку.
Тест PurTest :
Тест методу Clear перевірка,чи було видалено усі елементи зі списку після виклику перевіюваного метода.
Висновок: