16 Ekim 2018 Salı

Yazılım Sınama Ödev-2 İlk Kısım

Test Edilecek Site: https://www.benjerry.co.uk/
Eğer öğrenci profesyonel olarak test yapmak isterse: Kullanacağı web sitesi
https://nest.testbirds.com/#tester

Diğer Alternatifler
https://www.usertesting.com/
https://www.userlytics.com/tester-signup
https://betafamily.com/

Ödev Teslimi Son Tarih 10.10.2018

Use Caseler en az 3 adımdan oluşmalı


Use Case 1: Now, you want to find some Ben and Jerry's products. Please use the search bar or the filter tool on the Flavours page. Try to find the "Ingredients" facts for a specific ice cream product. List your steps.
Use Case 2: You want to learn more about the company’s history. Try to find the year the first Ben and Jerry’s ice cream shop was opened. How did you find this information? List your steps.
Use Case 3: You want to get driving directions to a Ben and Jerry's Scoop Shop (ice cream shop) in Manchester, United Kingdom. Using the Scoop Shop Locator (under the Scoop Shops tab), list the steps you took to find a Shop and driving directions.
Use Case 4: Explore any other section of the website that interests you and you haven't been to yet (e.g. Values, Movies, What’s New, etc.). What section did you explore? List your steps (minimum of 5 different actions).
Q1: Which features/elements of the website did you like? And why (with details and examples)? Minimum of 3 different points.
Q2: Which features/elements of the website did you dislike? And why (with details and examples)? Minimum of 3 different points.
Q3: If you were responsible for the website, what would you change about it and why? (Give details and/or examples)



Örnek: 


Here's an example of a test report by one of our Birds of the Month. The report is about the test of an airline website. For a real test this complex you would get about 15 Euros. Keep in mind that for the entry test report you will receive a welcome bonus payment of 5 Euros, which can be withdrawn after reaching a minimum account balance of 10 Euros.
Use Case 1: You want to book a vacation. Find a flight departing from London to a destination of your choice. List your steps.
  1. I want to visit my grandma in the United States, in Denver. I will now try to find a flight on the website, departing from London. I will bring my 3 children with me of which one is still an infant.
  2. I'm adding all the options mentioned above via the dropdowns "From", "To", "Travellers". I also include the departure and return dates and the flight class.
  3. I'm ready and click the "search" button ( See screenshot 1)
  4. Searching for flights takes some time and there is a "Searching..." Animation, indicating that the site is busy (searching took around 9 seconds).
  5. Searching is finished. I can now see exactly when an airplane arrives and leaves from my destination, including the costs and remaining seats on each flight. (screenshot 3)
Rating Question: It was easy to search for a flight.
Strongly Agree
 Use Case 2: Now, you want to research some destinations. Navigate back to the main page and find the “Destinations” tab (in mobile: use hamburger menu). Select a destination that interests you from the list. Show your choice by uploading one screenshot.

Use Case 3: Finally, you want to find out what films are played on flights of this airline. Did you find the list of in-flight films? List your steps.
  1. I click on the company logo to return to the main page.
  2. Of all the menu options, "Information" is the one that sounds most suitable. I click it and it loads immediately.
  3. The section "Service on board" seemed to fit best. However, the fork and the knife image on the other hand did make me think it was not the section I needed. But I clicked 'Entertainment' as a subcategory under service on board nevertheless (see screenshot 2).
  4. It turns out I made the right choice: On the following page all the information I could possibly need was displayed. Every single film is listed there and I was even able to select certain genres.
Use Case 4: Explore any other section of the website that interests you (e.g. Holidays, Stopover, Frequent Flyer, etc). What section did you explore? List your steps.
  1. My grandmother lives far away from the airport and is too old to pick us up. I have my three children with me and I have no idea how to get to my grandmother as all the public transport facilities are far away from her as well. So I want to rent a car. Naturally, I clicked the "Cars" button from the main menu.
  2. That leads me to a similar "Booking" module as when searching for a flight earlier (see screenshot 5). I entered the relevant information and clicked search.
  3. The results show me diffferent cars to choose from (see screenshot 6)
  4. I then clicked on the menu option "Frequent Flyer".
  5. On the next page I clicked on the image "Upgrade for Points", which took me to a calculator (see screenshot 3).
  6. I calculated how many points I would need for a first class trip from Frankfurt to Orlando: 204,000 (see screenshot 4).
 Open Question 1: Which features/elements of the website did you like? Why (consider details and examples)?
  1. What I liked the most was the amount of information I got while booking flights, looking for destinations and booking a car, and the way it was presented. Extremely clear and well ordered information.
  2. The loading times were usually short (~1 second), see exception in next question.
  3. The website looks really professional. It represented itself orderly through a structure of tables and tiles. The animations, e.g. for loading are colourful and clear.
Open Question 2: What did you dislike about the website?
  1. I did not like the loading speed when looking for a destination. It was 40 seconds and that's too long. What made it worse was that there was no animation in this case showing that the search was still ongoing. I tried it two more times and had the same experience again.
  2. It wasn't clear how to return to the homepage. You have to click the logo but that wasn't obvious from the beginning. I accidentally clicked it, and that's how I got to know it could redirect you to the homepage.
  3. I didn't like that there was a pop up asking me to subscribe to the newsletter. It appeared suddenly (I think it was time triggered) and it bothered me that I had to look for the small "x" to close it. This seems redundant, since the option to "get the latest offers" is part of the footer of most of the pages on the website anyway.
Open Question 3: If you were responsible for the website, would you change something? If yes, what would you change and why would you change it?
I would definitely try to improve the loading speed for slower sections, as I personally think that is the largest pitfall of the website. People might actually cancel looking for a destination due to the long loading time.
 

8 Ekim 2018 Pazartesi

Proje (Scrum Table)

Yazılım Yapımı 2017-2018 (Bahar Dönemi) Projesi

Örnek Projeyi Geliştiren:  Emre ORHAN
Proje Linki: https://scrummastertaskmanager.herokuapp.com/story/1

İstenilenler
•Stroy bilgileri text olarak stories kısmına eklenebilecektir.
•Her bir storie’ye ait tasklar oluşturulabilecektir.
•Tasklar not started, in progress ve done olarak üç kategoriye ayrılacaktır.
•Taskların kategori bilgileri değiştirilebilecektir. (Örnek: Not started kategorisinden in progress kategorisine değiştirilebilecektir.)
•Taskların içerinide taskın kim tarafından hangi tarihte yapılacağı bilgisi bulunacaktır.

4 Ekim 2018 Perşembe

Crossover ile Uzaktan Çalışma

Uzaktan çalışmak isteyenler için güzel bir alternatif sunan Crossover uygulaması ile lokasyon bağımsız olarak iş alabilir, işin tamamlandığı hafta elde ettiğiniz ücretinizi banka hesabınıza çekebilirsiniz. Sistemin ilk kullanımınında Ingilizce konuşma ve yazışma beceriniz sınayan bir sınav gerçekleştirmektedir. Ayrıca ikinci aşamada yazılım geliştirme uzmanlığınızı sınayan farklı testlerde site içerisinde yer almaktadır. 

Sitenin web adresi: https://www.crossover.com/

1 Ekim 2018 Pazartesi

Yazılım Sınama Not Paylaşımları

Yazılım sınama dersinin ödev gönderimleri için
cbuyzm3105@gmail.com  isimli  mail adresini kullanılması gerekmektedir.
Dersin not paylaşımları için https://groups.google.com/forum/#!forum/cbuyzm3105-yazilim-sinama
isimli grup üzerinden yapılacaktır.
İlk konular ve notlar grup üzerinden paylaşılmıştır.

23 Temmuz 2018 Pazartesi

Emma

Java kullanıcıları için oluşturulan bir kod kapsama aracıdır. Eclipse uygulamasında eski versiyonu hazır olarak bulumaktadır. Emma kod kamsama aracının yeni versiyonu ise Eclipse marketten kolaylıkla indirilebilir. Programın en büyük avantajı çalışılan kodu inceleyerek kod kapsaması ve kod kapsama ölçümü yapılabilir.
Emma'nın Sahip Olduğu Özellikler

Hızlı Test Döngüsü: Ayrı pencerelere ve uygulamaya gerek yoktur, kodlar direk analiz edilebilir.
Zengin Kapsama Analizi: Test sonuçları açık bir şekilde kullanıcıya gösterilir.
Kullanım Rahatlığı: Herhangi bir kuruluma veya kod değişikliğine ihtiyaç duyulmaz.



Emma - Hesap Makinesi Örneği

 Test senaryolarımızı oluşturalım
Kodlarımızı kapsayıp sonucu inceleyelim

Emma- String Kod Örneği


Örneğin Açıklaması

Şimdi kod kapsama oranlarının değişimini yakından görmek adına bir örnek inceleyelim.
Bunu bir önceki slayttaki örneğe yeni testler ekleyerek yapalım.
MyUnit classında şöyle bir fonksiyon tanımlayalım.

Fonksiyonumuza ait bir de test case oluşturalım.
Test kapsamını çalıştırıp tablomuzu inceleyelim.


Gördüğümüz gibi testte %36,4 gibi bir başarı oranı var.
Bunun sebebi, kod kapsama işleminde hem true hem de false koşullarının incelenip işlenmesidir.

Şimdi aynı testi bir de ‘false’ yani doğru değer döndürecek şekilde kapsayıp çıkacak değerleri inceleyelim.

Kontrol edilen olumsuz koşul olmadığında %100lük bir kapsama oranı aldık.

Constructor yapısının kullanıldığı bu örneği inceleyelim.
Test sınıfında hayvan nesnesini ve test senaryosunu oluşturalım.

Önceki slaytlardaki kodlar kapsanmış haldeydi. Ve testler başarılı olduğundan yeşil renk ile işaretlenmiş haldeler.
Karmaşıklıktan uzak durmak adına işlemleri fonksiyonlar içinde yazıp daha sonra üstte return ettik.


Sıra test senaryolarını oluşturmakta
 
 

Programda yanlış karakter girilmediği için false durumu çalıştırılmadı.
Bu durum kapsama sonucunda aşağıdaki gibi belirtiliyor.
Dizi Kullanım Örneği
Demo adında oluşturduğumuz sınıfta üç fonksiyon tanımlayalım.
İlk fonksiyon dizinin elemanlarını bir arttırsın.
İkinci fonksiyon elemanların değerini bir azaltsın
Son fonksiyon da her elemanı iki ile çarpsın


Test sınıfını oluşturup senaryoları yazalım

Başarısız olan testlerin gösterimini anlamak adına ‘testAddOneToArray’ testine yanlış değerler verip durumu inceleyelim



İçerik Hazırlayan : Sinan Aktepe

Kaynaklar
http://emma.sourceforge.net/
https://www.eclemma.org/
https://www.jetbrains.com/dotcover/whatsnew/
https://www.atlassian.com/blog/announcements/atlassian-clover-open-source

Resharper - dotCover

.NET için geliştirilmiş ve visual studio içinde menüye kolaylıkla eklenip çalıştırılabilen bir araçtır. Bilgisayarınızda bulunan Visual Studio sürümlerini seçebileceğiniz bir arayüze sahiptir.
Dotcover
 
Resharper

Kurulum


Örnekler
 

Örnek Çalıştırmak İçin
 
Testlerin başarısız yada başarılı olduğunu gösteren ekran

Coverage oranları

String ile ilgili örnekler
Kelime işlem sınıfında;
Kelimenin uzunluğunu gösteren,
Kelime içinden bir bölümü silen
Ve harf değişimini sağlayan fonksiyonlar tanımlayalım.
Daha sonra test senaryolarını yazıp kodlarımızı kapsayalım


 
  
Stringlerle ilgili başka bir örneğe bakalım.

 
Listeler ve Collection Assert

Test initialize ile bir başlangıç durumu oluşturalım ve bu durum üzerine birkaç test oluşturup kapsama işlemini gerçekleştirelim.



İlk testte elemanların sırasını değiştirip sonucu inceleyelim.


Banka Hesap Örneği





İçerik Hazırlayan: Sinan Aktepe


Kaynaklar
https://en.wikipedia.org/wiki/Code_coverage
http://blog.solvepark.com/makale/yazilim-testi-nedir
https://stackoverflow.com/questions/195008/what-is-code-coverage-and-how-do-you-measure-it

Clover

Atlassian tarafından geliştirilmiş,  Java ve Groovy için tasarlanmış ve açık kaynak kodlu olan bir code coverage aracıdır.