/ / Yazılım Test Etme - bir yazılım ürünündeki hataları bulma işlemi

Yazılım Test Etme - bir yazılım ürünündeki hataları algılama işlemi

При разработке программного обеспечения üretim sürecinin önemli bir kısmı yazılım testine dayanır. Bu nedir ve bu tür faaliyetlerin nasıl yürütüldüğü bu makalede ele alınacaktır.

Sınama ne denir?

yazılım testi

Bununla kastedilen süreci kastediyoruz.kodun yanlış çalıştığı yerleri tespit etmek için yazılım çalıştırmak. En iyi sonucu elde etmek için, zor girdi verileri setleri kasıtlı olarak oluşturulmuştur. Müfettişin temel amacı, yazılım ürün arızası için en uygun fırsatları yaratmaktır. Her ne kadar bazen test edilse de, gelişmiş bir programın test edilmesi, performansın ve fonksiyonların performansının olağan testiyle basitleştirilebilir. Bu zaman kazandırır, ancak genellikle yazılımın güvenilmezliği, kullanıcı memnuniyetsizliği vb.

etki

Hataların ne kadar iyi ve hızlı bir şekilde bulunduğu,İstenilen kalitedeki yazılım geliştirme maliyetini ve süresini önemli ölçüde etkiler. Bu nedenle, test uzmanlarının programlayıcılardan birkaç kat daha düşük ücret almasına rağmen, hizmetlerinin maliyeti genellikle tüm projenin maliyetinin% 30 - 40'ına ulaşır. Bu, personel sayısından kaynaklanmaktadır, çünkü hata aramak olağandışı ve oldukça zor bir süreçtir. Ancak yazılım çok sayıda testten geçmiş olsa bile, hiçbir hata olmayacağına dair% 100 garanti yoktur. Ne zaman görünecekleri bilinmemektedir. Test edicileri bir hata bulması daha muhtemel olan kontrol türlerini seçmeye motive etmek için çeşitli motivasyon araçları kullanılır: hem ahlaki hem de maddi.

İş yaklaşımı

bilgisayar testi

Оптимальной является ситуация, когда Yazılımda en başından hiçbir hata olmamasını sağlamak için çeşitli mekanizmalar uygulanır. Bunu yapmak için, yetkin mimari tasarımına, açık bir teknik göreve dikkat etmek gerekir ve proje üzerinde çalışmaya başladığında bağlantıda düzeltmeler yapmamak da önemlidir. Bu durumda, test cihazı nihai sonuçta kalan az sayıda hata bulma ve belirleme göreviyle karşı karşıya kalır. Bu hem zamandan hem de paradan tasarruf etmenizi sağlar.

Test nedir?

Bu, etkinliğin önemli bir yönüdür.program kodu hatalarının başarılı bir şekilde algılanması için gerekli olan müfettiş. Uygulamanın doğruluğunu kontrol etmek için gereklidirler. Teste neler dahildir? Ortaya çıkan (veya orta) olduğu ortaya çıkması gereken ilk veri ve değerlerden oluşur. Sorunları ve tutarsızlıkları daha başarılı bir şekilde tanımlamak için, algoritma geliştirildikten sonra testlerin derlenmesi gerekir, ancak programlama başlamamıştır. Ayrıca, gerekli verilerin hesaplanmasında çeşitli yaklaşımların kullanılması arzu edilir. Bu durumda, kodu farklı bir bakış açısından inceleyebilmeniz nedeniyle bir hatayı algılama olasılığı artar. Entegre testler, bitmiş yazılım ürününün dış etkilerinin ve çalışma algoritmalarının doğrulanmasını sağlamalıdır. Özellikle önemli olan marjinal ve dejenere vakalardır. Dolayısıyla, pratikte, hata içeren faaliyetler genellikle döngünün planlanandan bir kez veya daha az çalıştığı ortaya çıkabilir. Bilgisayarı test etmek de önemlidir, bu sayede çeşitli makinelerde istenen sonuca uyumu kontrol edebilirsiniz. Yazılımın tüm bilgisayarlarda çalışabilmesi için bu gereklidir. Ayrıca, çok platformlu geliştirme oluşturulurken, geliştirmenin gerçekleştirileceği bilgisayarın test edilmesi de önemlidir.

Hata bulma sanatı

tarafından test

Programlar genellikle büyükbir veri dizisi. Tamamen yaratmak gerçekten gerekli mi? Hayır. Programın "minyatürleştirilmesi" uygulaması yaygınlaşmıştır. Bu durumda, ne kullanılması gerektiğine kıyasla veri miktarında makul bir azalma vardır. Bir örneğe bakalım: 50x50'lik bir matrisin yaratıldığı bir program var. Başka bir deyişle, manuel olarak 2500 bin değer girmelisiniz. Bu elbette mümkündür, ancak çok uzun zaman alacaktır. Ancak çalışabilirliği test etmek için, yazılım ürünü boyutu 5x5 olan bir matris alır. Bunu yapmak için 25 değer girmeniz gerekecektir. Bu durumda normal, hatasız bir işlem gözlemlenirse, bu her şeyin yolunda olduğu anlamına gelir. Her ne kadar burada küçük tuzaklar olsa da, minyatürleştirme sırasında değişikliklerin dolaylı hale geldiği ve geçici olarak ortadan kalktığı bir durum ortaya çıkar. Ayrıca çok nadirdir, ancak yine de yeni hatalar ortaya çıkar.

İzlenen hedefler

Yazılım testi kolay olmadığı içinbu sürecin tam olarak resmileştirilemeyeceği gerçeği. Daha büyük programlar neredeyse hiçbir zaman gerekli kesin ölçütlere sahip değildir. Bu nedenle, bazı dolaylı veriler kılavuz olarak kullanılır, ancak hata ayıklanan yazılım geliştirmelerinin özelliklerini ve işlevlerini tam olarak yansıtamaz. Ayrıca, yazılım ürünü test edilmeden önce bile doğru sonucun hesaplanacağı şekilde seçilmelidirler. Bu önceden yapılmazsa, her şeyi yaklaşık olarak düşünmek için bir cazibe vardır ve makine sonucu beklenen aralığa düşerse, her şeyin doğru olduğuna dair hatalı bir karar verilir.

Çeşitli koşullar altında test

yazılım ürünü

Kural olarak, programların test edilmesiişlevsellik testini sınırlı ölçüde en aza indirmek için gereken birimlerdir. Faaliyetler, çalışma koşullarının yanı sıra değişen parametrelerle gerçekleştirilir. Test süreci üç aşamaya ayrılabilir:

  • Normal şartlar altında doğrulama. Bu durumda, geliştirilen yazılımın ana işlevselliği test edilir. Sonuç beklendiği gibi olmalıdır.
  • Acil durumlarda kontrol edin.Bu durumlarda, oluşturulan yazılımın performansını olumsuz etkileyebilecek sınır verileri elde edildiği varsayılır. Bir örnek, çok büyük veya küçük sayılarla yapılan çalışma veya genel olarak, alınan bilgilerin tamamen yokluğudur.
  • İstisnai durumları kontrol etmek.İşlenemeyen verilerin kullanımını içerir. Bu tür durumlarda, yazılımın bunları hesaplama için geçerli olarak algılaması ve makul bir sonuç üretmesi çok kötüdür. Bu gibi durumlarda doğru işlenemeyen verilerin reddedilmesine özen gösterilmelidir. Ayrıca kullanıcının bu konuda bilgilendirilmesinin sağlanması da gereklidir.

Yazılım Test Etme: Türleri

uygulama hatası

Hatasız yazılım oluşturunoldukça zor. Bu çok zaman alır. İyi bir ürün elde etmek için genellikle iki tür test kullanılır: Alfa ve Beta. Onlar ne? Alfa testi hakkında konuşurken, geliştirici personeli tarafından "laboratuvar" koşullarında yapılan bir test anlamına gelir. Bu, program son kullanıcılara aktarılmadan önceki testin son aşamasıdır. Bu nedenle, geliştiriciler en üst düzeye çıkarmaya çalışıyorlar. Kullanım kolaylığı için, problemlerin ve çözümlerinin kronolojisini oluşturmak üzere veriler kaydedilebilir. Beta testi, programı çalıştırabilmeleri ve eksik hataları belirleyebilmeleri için yazılımın sınırlı bir kullanıcı grubuna teslim edilmesi anlamına gelir. Bu durumda tuhaflık, yazılımın genellikle amaçlanan amaç için kullanılmamasıdır. Bu sayede daha önce hiçbir şeyin fark edilmediği yerlerde arızalar tespit edilecektir. Bu oldukça normaldir ve endişelenmenize gerek yoktur.

Testin tamamlanması

Если предыдущие этапы были успешно завершены, то Bir kabul testi yapmak için kalır. Bu durumda, basit bir formalite haline gelir. Bu kontrol sırasında ilave bir sorun bulunmadığından ve yazılımın piyasaya sürülebildiğinden emin olunur. Nihai sonuç ne kadar önemli olursa, doğrulama o kadar dikkatli yapılmalıdır. Tüm aşamaların başarıyla tamamlandığından emin olmak gerekir. Test süreci bir bütün olarak böyle görünür. Şimdi, teknik detayları daha ayrıntılı inceleyelim ve test programları gibi faydalı araçlar hakkında konuşalım. Bunlar nedir ve hangi durumlarda kullanılır?

Otomatik Test

test geliştirilen program

Daha önce dinamik analizingeliştirilen yazılım - bu, hataları tespit etmek için kullanışsız olan çok ağır bir yaklaşımdır. Ancak programların artan karmaşıklığı ve hacmi nedeniyle, karşıt görüş ortaya çıktı. Performans ve güvenliğin en önemli öncelikler olduğu yerlerde otomatik test kullanılır. Ve herhangi bir girdiyle birlikte olmalılar. Bu tür testlerin uygun olduğu programlara örnek olarak aşağıdakiler gösterilebilir: ağ protokolleri, web sunucusu, korumalı alan oluşturma. Ayrıca böyle bir etkinlik için kullanılabilecek birkaç örneği inceleyeceğiz. Ücretsiz test programlarıyla ilgileniyorsanız, aralarında kaliteli olanları bulmak oldukça zordur. Ancak, kanıtlanmış projelerin saldırıya uğramış "korsan" sürümleri vardır, böylece hizmetlerine dönebilirsiniz.

çığ

Bu araç kusurları tespit etmeye yardımcı olur,Test programlarını dinamik analiz modunda geçirme. Verileri toplar ve geliştirilen nesnenin yürütme yolunu analiz eder. Test cihazında, hataya neden olan veya mevcut kısıtlamalar setini atlayan bir dizi giriş verisi bulunur. İyi bir doğrulama algoritmasının varlığı nedeniyle, çok sayıda olası durum geliştirilmiştir. Program, önemli sayıda durumu simüle etmenize ve bir arızanın ortaya çıkması muhtemel olduğunda bu koşulları oluşturmanıza izin veren çeşitli giriş verileri kümelerini alır. Programın önemli bir avantajı sezgisel metriklerin kullanılmasıdır. Bir sorun varsa, uygulama hatası olasılığı yüksektir. Ancak bu program sadece bir işaretli giriş soketini veya dosyayı kontrol etmek gibi sınırlamalara sahiptir. Program testi gibi bir işlem sırasında, boş göstericiler, sonsuz döngüler, yanlış adresler veya kitaplıkların kullanımından kaynaklanan arızalar ile ilgili sorunların varlığı hakkında ayrıntılı bilgi sağlanacaktır. Tabii ki, bu tespit edilen hataların tam bir listesi değil, sadece ortak örnekleri. Ne yazık ki, geliştiricilerin kusurları düzeltmesi gerekecek - otomatik araçlar bu amaçlar için uygun değildir.

KLEE

test programları

Bu iyi bir bellek test programıdır.Yaklaşık 50 sistem çağrısını ve çok sayıda sanal işlemi engelleyebilir, böylece paralel ve ayrı olarak çalışır. Ancak genel olarak, program bireysel şüpheli yerleri aramaz, ancak mümkün olan maksimum kod miktarını işler ve kullanılan veri iletim yollarını analiz eder. Bu nedenle, programın test süresi nesnenin boyutuna bağlıdır. Kontrol ederken, bahis sembolik süreçlere yerleştirilir. Test edilen bir programdaki görevleri tamamlamanın olası yollarından biridir. Paralel çalışma sayesinde, incelenmekte olan uygulama için çok sayıda seçenek analiz edilebilir. Her yol için, testinin bitiminden sonra, doğrulamanın başladığı giriş veri setleri kaydedilir. KLEE ile test programlarının, yapılmaması gereken çok sayıda sapmanın belirlenmesine yardımcı olduğuna dikkat edilmelidir. Onlarca yıldır geliştirilen uygulamalarda bile sorun bulabilir.

sevdim:
0
Popüler Gönderiler
Manevi gelişim
gıda
y