7

'da yapılan otomatik testler burada oldukça fazla sayıda RPG programına sahibiz ve çok sayıda otomatik test yapıyoruz, ancak bu ikisini birleştirmede henüz çok iyi değiliz. RPG programlarında veya bu konuyla ilgili diğer ILE programlarında otomatik test yapmanın iyi yolları var mı?RPG (veya diğer ILE dillerinde)

RPGUnit adlı bir projenin farkındayım, ancak 2007'de bu son güncellemeye sahip. Ancak, hala kullanılıyor gibi görünüyor, çünkü RPG Next Gen şu an dahil olmak üzere bazı çalışmalar yapıyor.

Bunlarla ne yaşıyorsunuz? Google'ın bulduğu bazı harika yazılım araçları gibi, eksik olduğum başka bir şey var mı?

Ben birim testler de komple proje entegrasyon testi ilgileniyorum. jenkins gibi araçlarla entegre olan herhangi bir şey memnuniyetle karşılanır. IBM'in Rational Developer veya System i Navigator'ı içeriyorsa, bu da sorun değil.

RPG geliştirme sürecimiz için yeni test planları oluşturmanın erken safhasındayız ve bunu istemiyorum, yanlış yöne doğru başından başlamam.

+2

Muhtemelen büyük soru şu: ünite testi için _architecture_ var mı? Dil, yazma programlarını iyi bir şekilde kapsülleme yapmayı zorlaştıracak şekilde teşvik ediyor gibi görünmektedir (yani, tek bir dosyada, ekran erişiminden ekran çıktısına kadar her şeyi içeren programlar). –

+0

@ X-Zero Eğer bunu yapmayı seçerseniz, – WarrenT

+0

@ x-zero ILE modülüne sahip olabilirsiniz. Modüle, farklı bir dilde olsa bile kapsülleme yapabilir, hepsi bir programa bağlanmış olabilir – WarrenT

cevap

4

Muhtemelen bir konu 'test' olabilir kadar çok olduğunu biliyor. IBM'in Rational Function Tester (Rational Function Tester) adlı bir ürün var (bunu kullanmadım) http://www-01.ibm.com/software/awdtools/tester/functional/ Kendimi RPGUnit kullanıyorum. Hayır, yakın zamanda güncellenmemiştir ancak Java prosedürlerini test edeceği gibi, alt prosedürleri test etmek için gereken tüm parçalara hala sahiptir.

Açıkçası, işin kolay kısmı. Zor kısım bir test veritabanı oluşturuyor ve üretim veritabanını temsil edecek kadar güncel tutuyor. Rodin'in bazı veritabanı araçları var, ama bütçeye sahip değiller, bu yüzden elimden daha çok veya daha azını kendim topluyorum. Üretim verilerini ayıklamak için bir CL programında çok sayıda SQL deyimi kullanıyorum, böylece referans bütünlüğünü koruyabiliyorum. Daha sonra, istisnai test durumlarımı eklemek için biraz daha SQL kullanıyorum - üretim verilerinde bulunmayan ancak test edilmesi gereken ilişkiler. Sonra test veritabanının bir kopyasını referans noktası olarak yapıyorum. Sonra test veritabanını güncelleyecek olan test durumlarımı çalıştırıyorum. Şimdi referans veritabanını şimdi değiştirilmiş test veritabanına karşı karşılaştırmamı sağlayacak bir ev yapımı CMPPFM yardımcı programı yazdım. Bu değişiklikler gösterecektir, ancak uygun satırların uygun güncellemeleri aldığından emin olmak için karşılaştırmaları incelemek için hala çok fazla manuel işgücüne ihtiyaç vardır. Henüz otomatikleştirmek için ekstra mil gitmedim. Bir büyük uyarı, umursamadığınız bazı sütunlar, bir değişiklik zaman damgası gibi.

+0

Şu ana kadar içgörü için teşekkürler. Yani RPGUnit yararlıdır, duymak için iyi bir kısımdır. İşlevsel Test Cihazının özellik listesinden herhangi bir RPG veya ILE işlevselliğine sahip olmadığı görülüyor, sadece testleri düzenlemek için "diğer parçalara" sahip (bu parça için bir şeyler satın alacağımızı sanmıyorum). – kratenko

+0

bu iyi bir cevap olduğundan ve bakmıyorum daha fazla bir şey alacağım, bunu kabul edebilirim ... – kratenko

4

RPGUNIT ile birlikte gittik ve çalışmak için iyi bir temel bulduk, ancak Değişim Yönetimi sistemimizle ve çalışma şeklimizle bağlantı kuracak kadar genişledik. Burada denediğimiz şeyler hakkında yazdım:

+0

Yolculuğunuza katılmamıza izin verdiğiniz için teşekkür ederiz. Bunu yaparken başarmış gibisin! Gerçek RPG testi yapmaya zaman ayırmaya karar verdiğimizde yardımcı olacaktır. – kratenko

İlgili konular