Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Web sistemų testavimas

Prezentacija apie Web sistemų automatizuotą testavimą visuose lygiuose nuo modulių iki priėmimo testavimo.
by

Saulius Grigaitis

on 22 May 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Web sistemų testavimas

Web sistemų testavimas Kas yra testavimas? Programinės įrangos testavimas yra tyrimas,
suteikiantis suinteresuotosioms šalims
informacijos apie bandomo
produkto ar paslaugos kokybę. Programinės įrangos testavimas gali suteikti objektyvios ir neprikausomos informacijos verslui ivertinti sukurtos programinės įrangos riziką Priėmimo testavimas Cucumber Feature: Add article
In order to add new article
As an admin
I want to be able to write and submit article

Scenario: Adding an article
Given I am on the articles page
When I follow "Add article"
And I fill in "Title" with "Greatest article!"
And I fill in "Body" with "Testing is so cool!"
And I press "Submit"
Then I should see "Greatest article!" on the articles list

-------------------------------------------------------------------

Then /^I should see "(.*)" on the articles list$/ do |title|
visit articles_url
page.should have_content title
end Steak feature 'Add article' do

scenario 'should add new to the articles list' do
visit '/articles'
fill_in 'Title', :with => 'Greatest article!'
fill_in 'Body', :with => 'Testing is so cool!'
click_button('Submit')
page.should have_content('Testing is so cool!')
end

end Testavimo įrankiai describe Account, "when first created" do
it "should have balance of $0" do
account = Account.new
account.balance.should == 0
end
end describe Account, "when first created" do
it "should have balance of $0" do
Account.create
visit '/account'
assigns(:account).balance.should == 0
end
end Vaizdai MVC komponentų testavimas su RSpec describe "account/show" do
it "should show balance" do
assign(:account, stub_model(Account, :balance => 0))
render
rendered.should contain("Balance: $0")
end
end Modeliai t Kontroleriai Išskirstytas testavimas Hydra
Išskirsto keliems CPU
Išskirsto keliems kompiuteriams Parallel Tests
Išskirsto keliems CPU "Mock'inimo" karkasai Daugumos panašus funkcionalumas
Skirtinga sintaksė
Didelis pasirinkimas
RSpec-Mocks
Mocha
RR (galingiausias)
Flexmock
... Testinių duomenų įkrovimas JavaScript testavimas su Jasmine Saulius Grigaitis
CTO/CEO NECOLT Factory Girl Fixtures FactoryGirl.define do
factory :user do
email "email@factory.com"
password "foobar"
password_confirmation { |u| u.password }
end
end david:
name: David Heinemeier Hansson
birthday: 1979-10-15
profession: Systems development

steve:
name: Steve Ross Kellock
birthday: 1974-09-27
profession: guy with keyboard describe('Calculator', function () {
var counter = 0

it('can add a number', function () {
counter = counter + 2; // counter was 0 before
expect(counter).toEqual(2);
});

it('can multiply a number', function () {
counter = counter * 5; // counter was 2 before
expect(counter).toEqual(10);
});
}); Klausimai? Capybara feature "Signing up" do
scenario "Signing in with correct credentials" do
within("#session") do
fill_in 'Login', :with => 'user@example.com'
fill_in 'Password', :with => 'caplin'
end
click_link 'Sign in'
end
end Draiveriai RackTest
Selenium
WebKit
Poltergeist Testavimas pagal XP Visas kodas privalo turėti "unit" testus
Visi "unit" testai turi praeiti prieš išleidžiant
kodą
Kai surandama klaida parašomas tą klaidą atkuriantis kodas
Priėmimo testai leidžiami dažnai, jų rezultatai skelbiami
Pirma parašomas testas, o tik tada kodas Klauskite prezentacijos metu! Kokius įrankius apžvelgsim? Tinkančius Agile
Populiariausius savo kategorijoje
Naudojamus mūsų komandos
Skirtus Ruby, bet dauguma jų turi analogus kitose aplinkose
Nuo "backend" "unit" testų iki JavaScript testavimo flexmock(User).should_receive(:find).with('42').and_return(jane) # Flexmock
User.should_receive(:find).with('42').and_return(jane) # Rspec
User.expects(:find).with('42').returns {jane} # Mocha
User.should_receive(:find).with('42') {jane} # Rspec using return value blocks
mock(User).find('42') {jane} # RR User.find('42') # gražins objektą "jane", be to #testas nepraeis jeigu User klasei nebus #iškviestas metodas find su parametru '42' Trumpai apie mane 2006 m. ketvirtame kurse subūriau komandą ir įkūriau NECOLT, UAB
Nuo 2007 m. taikom XP, vėliau įtraukėm ir SCRUM
Daugiausia dirbam su startup'ais ir mažu/vidutiniu verslu iš Vakarų Europos ir Japonijos
Vienas iš Ruby on Rails pionierių Lietuvoje
Dėstau apie Ruby ir TDD/BDD Vilniaus universitete
Domėjimosi sritys - "Large Scale", HTML5, Agile, Gamification, E-Learning...
Laisvalaikiu - vėjas galvoje 0 bankrotų - ne tiek daug linksmų istorijų
XP pradėjom taikyti nuo antro projekto
Pirmo projekto įsimintiniausios frazės:
"Mes dirbam pagal Agile"
"Testai yra gerai, bet pradėsim testuot nuo sekančio projekto"
Kokybės lygiai:
"biški veikia"
"kažkas veikia"
Full transcript