TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 3. Verifikation, validering och testning
|
|
- Carl-Johan Olofsson
- för 7 år sedan
- Visningar:
Transkript
1 TDDI02 Programmeringsprojekt, Föreläsning 3 Anton Sundblad Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren På denna föreläsning: Verifikation, validering och testning
2 Begreppsdistinktioner Lite populistiskt uttryckt 1 : Validation: Are we building the right product? Verification: Are we building this product the right way? 1 Boehm
3 Vad är ett fel? I engelskan kan man skilja på 3 olika typer av fel: Error Ett misstag begånget av en person under utvecklingen, som kan resultera i Fault Ett fel i programvaran, som när det exekeveras kan orsaka Failure Något oönskat händer under exekeveringen! Obs: Errors/faults måste inte automatiskt leda till failures, inte nödvändigtvis en 1-1 mappning mellan de tre åt något håll
4 Validering/verifikation är nästan testning det med, men på dokument! Kravanalys: Kompletthet - Allt är med, inget underförstått Konsistens - Inga motsägelser Genomförbarhet - Inte bara rent funktionellt, men även ur ett affärsmässigt perspektiv Testbarhet - Kommer det gå att testa kraven, avgöra om de är uppfyllda eller ej? Skapa testdata för funktionella tester?
5 Validering/verifikation Design: Finns konsistens mellan kravspecifikation och design, beskriver de samma sak? Håller designen rätt kvalitet? (Företagsstandarder, etc) Skapa testdata för funktionella tester? Implementation: Finns konsistens mellan implementationen och designen, beskriver de samma sak? Testa implementationen, uppfyller den de tidigare satta kraven?
6 Validering/verifikation Testfasen: Testa moduler (unit tests) Integrationstesta modulerna som samarbetar Systemtest Smoke-test Alphatest? Betatest? Acceptanstest Underhåll: Alla steg i mindre skala, om och om igen
7 Effektivitet av felsökning Realtidsprojekt, 400 utvecklare (studie av van Vliet): %-andel funna designfel %-andel funna kodningsfel total effektivitet Designgranskning 54% - 54% Kodgranskning 33% 84% 64% Testning 38% 38% 38% Kostnadseffektivitet, samma studie: Designgranskning 844 Kodgranskning 138 Testning 017 Ibland är testning det enda alternativet
8 Statisk testning Läs/granska Låt andra göra, själv har man inte rätt destruktiva inställning Review - som ovan fast mer anonymt och institutionaliserat Walkthrough/inspection Gå igenom med några inspektörer, resulterar i ett åtgärdsprotokoll Inspection, den mer formella av de två, resultaten rapporteras vidare Statisk programanalys Formella bevis Översätt kod till logiknotation Bevisa från startvillkor att slutvillkoren kommer ske
9 Code review Olika typer: Över-axeln en utvecklare förklarar för en annan ansikte till ansikte Via e-post kommentarer förmedlas via e-post Parprogrammering två utvecklare skriver kod tillsammans Med hjälp av verktyg exempelvis kommentarer på en commit i GitLab
10 Walkthrough-/inspectionlista Felaktig användning av data Oinitierade variabler, arrayindex utanför gränser, dangling pointers Deklarationsfel Användning av icke-deklarerade storheter, dubbel deklaration i ett block Beräkningsfel Division-by-zero, overflow, typmismatchningar, operatorprioriteter Logikfel < istället för <=, and-or, operatorprioriteter Fel i styrning Oändliga loopar, varvräknarfel Interfacefel Antalet, typerna på parametrar, globala data
11 Formell verifikation - exempel i n t ack ( i n t m, i n t n ) { i f (m == 0) { r e t u r n n + 1 ; } e l s e i f ( n == 0) { r e t u r n ack (m 1, 1 ) ; } e l s e { r e t u r n ack (m 1, ack (m, n 1 ) ) ; } } Terminerar ack(m, n) för alla m, n 0?
12 Formell verifikation - exempel i n t ack ( i n t m, i n t n ) { i f (m == 0) { r e t u r n n + 1 ; // T e r m i n e r a r } e l s e i f ( n == 0) { r e t u r n ack (m 1, 1 ) ; // m minskar > t e r m i n e r a r! } e l s e { r e t u r n ack (m 1, // m minskar > t e r m i n e r a r! ack (m, n 1 ) ) ; // n minskar > t e r m i n e r a r! } } Både m och n minskar, så alla anrop terminerar i sinom tid Testa: ack(3, 3), ack(4, 4)
13 Formell verifikation Kan bevisa korrekthet på liknande sätt Finns många verktyg, vissa kräver assistans: Z3 prover: Coq Proof Assistant:
14 Dynamisk testning Funktionell - Black box testning Titta ej på koden! Testar bara funktionalitet utifrån specifikationen Strukturell - White box testing Titta på koden! Testa de svåra delarna Logik i villkorssatser, if, for, while, etc Extremvärden Egentligen vill man täcka all kod, få hög coverage Hitta lämplig testdata Unit testing Identifiera och testa gränsövergångar!
15 Unit testing A unit test is an automated piece of code that invokes a unit of work in the system and then checks a single assumption about the behavior of that unit of work Ett Unit-test är: Automatiserbart Isolerat Konsekvent Läsbart Lättunderhållet Pålitligt // can i t add t h e numbers 1 and 1? TEST_CASE( " Test adder ", " [ math ] " ) { AdderImpl adder { } ; REQUIRE( adder add ( 1, 1) == 2 ) ; } C++ unittest ramverk: Catch, Google Test, QtTest, unit++, etc
16 Code coverage På hur många sätt kan man ta sig från början till slut? 4((N + (1 + N)) + 2)?
17 Integrationstestning Modul C Modul A Modul B Modul A och B enhetstestas var för sig Modul C integrationstestas
18 Regressionstestning Ändringar kan introducera nya buggar eller återintroducera gamla buggar Använd tidigare skrivna tester, se om de fortfarande passerar Unit tests?
19 Testning - exempel Specifikation: Ett program som läser in tre heltalsvärden från en rad De tre värdena tolkas som längderna på de tre sidorna i en triangel Programmet skriver ut ett meddelande som anger om triangeln är likbent, liksidig eller om alla tre sidor är olika Uppgift: Skriv ett antal testfall (dvs kategorier plus några specifika testdata per kategori) som du anser testar programmet på ett bra sätt
20 Testning - exempel #i n c l u d e <i o s t r e a m > u s i n g namespace s t d ; i n t main ( ) { i n t x, y, z ; c i n >> x >> y >> z ; } i f ( x == y && y == z ) { cout << " T r i a n g e l n ä r l i k s i d i g \ n" ; } e l s e i f ( x == y x == z y == z ) { cout << " T r i a n g e l n ä r l i k b e n t \ n" ; } e l s e { cout << " A l l a s i d o r i t r i a n g e l n ä r o l i k a \ n" ; } r e t u r n 0 ;
21 Testning - exempel > make testprogram > /testprogram Triangeln är likbent > /testprogram Triangeln är liksidig > /testprogram Triangeln är liksidig > /testprogram Alla sidor i triangeln är olika > /testprogram Klas, Kalle och Lotta Triangeln är liksidig
22 Testning - exempel Självevaluering av testfall: 1 Har du testfall som representerar en giltig oliksidig triangel? Obs, fall som eller gör inte det, de är inte giltiga trianglar! 2 Har du testfall som representerar en giltig liksidig triangel? 3 Har du testfall som representerar en giltig likbent triangel? Obs, ett testfall som har är inte en giltig triangel! 4 Har du testat alla permutationer av ovanstående fall? 5 Har du ett testfall där en sida är 0? 6 För varje testfall ovan, specifierade du (i förväg!) det förväntade resultatet?
23 Ekvivalensklasser Klass Liksidig? Beskrivning Exempel x y z x + y z Nej Inte en triangel x + z y Nej Inte en triangel y + z x Nej Inte en triangel x = y Ja x = z Ja y = z Ja x + y < z Nej Giltig triangel x + z < y Nej Giltig triangel y + z < x Nej Giltig triangel 3 2 3
24 Systemtest Test av hela systemet Mot slutet av projektet I verklig miljö, med alla externa beroenden på plats Testar också dokumentation, ex vis installationsmanual
25 Acceptanstest Utförs av kund I syfte att verifiera kraven Inte lika djupgående som systemtest
26
27
28
29
30
31
32
33 Testning - minnespunkter Utarbeta och dokumentera tester, inklusive förväntat utfall, i förväg! Gör alltså inga tester i flykten! Vid buggar, skriv ett test för att påvisa buggen, och sedan bekräfta att den är borttagen med testet! Ett test kan aldrig bevisa frånvaron av fel - bara påvisa förekomsten! När ska man sluta testa?
34 Slutdokument Användarmanual Promosida Beskriver hur produkten används Ska inte behöva ha programvaran till hands Säljande websida Viktigaste funktionaliteten
TDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 3. Filip Strömbäck. Verifikation, validering och testning
TDDI02 Programmeringsprojekt, Föreläsning 3 Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren På denna föreläsning: Verifikation, validering och testning Begreppsdistinktioner Lite populistiskt
Läs merTDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan
Läs merTDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan
Läs merNågra grundläggande begrepp
Några grundläggande begrepp Validering bygger vi rätt system? Uppfyller kravspecifikationen de verkliga behoven? Verifiering bygger vi systemet rätt? Uppfyller det färdiga systemet kravspecifikationen?
Läs merProgramdesign. Dokumentera. Dokumentera
Programdesign Dokumentera Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden
Läs merSammanfattningar Essentials of Software Engineering
Sammanfattningar Essentials of Software Engineering F10, Testning Quality Assurance (QA) inkluderar testning. Testning är en aktivitet som handlar om att utvärdera produktens kvalitet, och att förbättra
Läs merProgramdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20
Programdesign Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden vid
Läs merUTGÅNGSPUNKT KURSMÅL: Programmering (= kodning) och design (= konstruktion) är teknikområden. Kodning av lite större volym
UTGÅNGSPUNKT Programmering (= kodning) och design (= konstruktion) är teknikområden. Framställning av stora/komplexa system kräver dessutom t ex många programmerare/teams personalfrågor (specialister,
Läs merTestning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer
Testning 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer UP Faser Elaboration ü Syfte: Fastställa och validera en basarkitektur för systemet vilket ger en stabil grund för den största delen av utvecklingsarbetet
Läs merEnhetstester på.netplattformen
Enhetstester på.netplattformen Praktikfall ur verkligheten Copyright Prolore 2007. All Rights Reserved. Viktor Laszlo Vem är jag 11 år inom test Prolore: specialiserat på Testautomatisering, Prestandatest
Läs merProgramvaruutveckling - Metodik 2016 Jonas Wisbrant
Föreläsning 3: Test och efterläsning om kodning Programvaruutveckling - Metodik 2016 Jonas Wisbrant 1 Kursinformation Detta har hänt: Pratat och skapat krav (och plan) Övning 2 Riskhantering, intressenter
Läs merConfiguration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar
Skapa testfall Testing Köra testen Hitta fel Inspections and reviews Verifiera resultatet Formal methods Static analysis Completeness Verifiering Kvalitet Maintainability Validering Traceability Fault
Läs merMetoder och verktyg för funktionssäkerhet
Metoder och verktyg för funktionssäkerhet Projektstart 1. Hantera kraven En bra process är grunden för att hantera kraven i ett säkerhetsprojekt. Det krävs att du har en tydlig spårbarhet mellan krav och
Läs merKonstruktion av datorspråk
Konstruktion av datorspråk Fö2: Funderingar kring hur man kan bedöma programspråk samt några fler detaljer i Ruby Peter Dalenius peter.dalenius@liu.se Institutionen för datavetenskap Linköpings universitet
Läs mermen borde vi inte också testa kraven? Robert Bornelind
men borde vi inte också testa kraven? Robert Bornelind Presentation på SAST 15 års jubileum 14 oktober 2010 SQS Software Quality Systems Nordic Innehåll Introduktion Kvalitet, tid och kostnad Process Testning
Läs merTDDI02. På denna föreläsning: Programmeringsprojekt, Föreläsning 1. Kursinformation Vad är Software Engineering? Hur går ett projekt till?
TDDI02 Programmeringsprojekt, Föreläsning 1 Anton Sundblad Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren På denna föreläsning: Kursinformation Vad är Software Engineering? Hur går
Läs merTDDI02. Programmeringsprojekt. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Vad är Software Engineering? Hur går ett projekt till? Anatomin hos
Läs merMer om språk och Ruby
Mer om språk och Ruby TDP007 Konstruktion av datorspråk Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2014-01-21 Översikt över dagens föreläsning 1. Hur kan man bedöma ett språk? 2. Enhetstestning
Läs merTestning. 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer
Testning 1DV404, HT14 Jesper Andersson Kap 21 + Testing Primer Testning ü Testningens huvudsakliga syfte är att reducera risker. ü Osäkerhetsfaktorer inom utvecklingen av ny programvara kan få ett projekt
Läs merTestning av program. Verklig modell för programutveckling
Fel i program När man skriver program uppkommer alltid fel. Felen kan indelas i följande kategorier: Under kompileringen upptäcker kompilatorn fel som handlar om att man använt konstruktionerna i programspråket
Läs mermen borde vi inte också testa kraven?
men borde vi inte också testa kraven? Robert Bornelind Presentation på SAST, 24 februari 2011 SQS Software Quality Systems Sweden AB Innehåll Introduktion Kvalitet, tid och kostnad Process Testning av
Läs merMer om språk och Ruby
Mer om språk och Ruby TDP007 Konstruktion av datorspråk Föreläsning 2 Peter Dalenius Institutionen för datavetenskap 2017-01-17 2 Översikt 1. Hur kan man bedöma ett språk? 2. Enhetstestning 3. Likhet i
Läs merÖvningstenta (Kursplan 2011) Ver 2015, 2015-12-19
Swedish Software Testing Board (SSTB) International Software Testing Qualifications Board (ISTQB) Foundation Certificate in Software Testing Övningstenta (Kursplan 2011) Ver 2015, 2015-12-19 Tillåten tid:
Läs merUppgift v1: Teststrategi i sammanhang Terese Berger. Teststrategi. Projekt CiviCRM. Version 0.9. Sida 1(7)
Teststrategi Projekt CiviCRM Version 0.9 Sida 1(7) Innehållsförteckning Referenser...2 Revisioner...2 1. Inledning...3 1.1 Uppgift...3 1.2 Bakgrund...3 1.3 Organisation...4 1.4 Granskning och godkännande...4
Läs merExercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15
Exercise 1b: Requirements Evaluation ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15 Lund U niversity Computer Science Jonas W isbrant ETSA01 Ingenjörsp ro cessen metodik V-modellen för programvaruutvecking
Läs merTDDI02. Programmeringsprojekt. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDI02 Programmeringsprojekt. Föreläsning 1 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Kursinformation Vad är Software Engineering? Hur går ett projekt till? Anatomin hos
Läs merRegressionstestning teori och praktik
Regressionstestning teori och praktik Lic. Emelie Engström emelie.engstrom@cs.lth.se Software Engineering Research Group LUND UNIVERSITY Sweden SWELL the Swedish Research School in Software Verification
Läs merKvalitetssäkra ditt projekt med kontinuerlig integration
Kvalitetssäkra ditt projekt med kontinuerlig integration Mathias Olausson http://olausson.net/blog Om oss: QWise Vi hjälper systemutvecklingsteam att bli bättre. Vi är experter på ALM och Team System.
Läs merIdentitet och ekvivalens
Identitet och ekvivalens Värdesemantik eller pekarsemantik? class Pair { Object fst; Object snd; void foo(pair o) { o.snd = 4711; public static void main(string[] args) { Pair p = new Pair(); p.fst = 42;
Läs merTeststrategier och Testcertifiering. Per Strandberg, Maj 2013
Teststrategier och Testcertifiering Per Strandberg, Maj 2013 1 Lite om Test i Allmänhet och ISTQB Certifiering Mål med testning? Förebygga fel Hitta fel eller risk Underlätta och ge stöd vid utveckling
Läs merMer om kodkvalitet. Mer om kodkvalitet. Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité? Hur kan man jobba med kodkvalité?
Mer om kodkvalitet Hur kan man jobba med kodkvalité 1. Jobba strukturerat genom hela processen Skulle ni köpa/köra en bil som inte har besiktas de senaste åren, speciellt efter lagningen efter krocken
Läs merSTUM. Övergripande Testplan. Sammanfattning. Redaktör: Thomas Janowski Version: Syntetiskt tal utan modulering
STUM Syntetiskt tal utan modulering Övergripande Testplan Redaktör: Version: 1.1 Sammanfattning Detta är en övergripande testplan som i stora drag beskriver planerade testfaser och testaktiviteter under
Läs merFöreläsning 3 Verifiering och Validering
ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Föreläsning 3 Verifiering och Validering Jonas Wisbrant 2 Detta har hänt... Pratat och skapat krav och plan Några har kommit i kontakt med IP3-projekt
Läs merF4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH
F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH 1 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart
Läs merTDDI02. Programmeringsprojekt, Föreläsning 1. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren
TDDI02 Programmeringsprojekt, Föreläsning 1 Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren Kursledning Kursledare Kursassistent Handledare Etikmoment Examinator Kursadministratör
Läs merCOMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall
COMPUTABILITY BERÄKNINGSBARHET Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall Den centrala frågan: givet ett problem, kan det ha en algoritmisk lösning?
Läs merAgil testning i SCRUM
Agil testning i SCRUM Petter Salomonsson Petter.salomonsson@addq.se Tel: 0708-398435 Kort presentation AddQ Consulting AB tydlig fokus på test och kvalitetssäkringstjänster erbjuder mycket erfarna konsulter
Läs merTestdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski
Testdriven utveckling Januari 2009, KTH Alexander Tarnowski Teorin bakom testdriven utveckling Bakgrund Testdriven utveckling började nämnas kring 1999-2000 av Kent Beck I praktiken implementationen av
Läs merTestplan Cykelgarage
Testplan Cykelgarage Stefan Johansson D08 (dt08sj7@student.lth.se) Johan Anderholm D08 (dt08ja5@student.lth.se) Angelica Gabasio D08 (dt08ag8@student.lth.se) Marcus Carlberg D08 (dt08mc4@student.lth.se)
Läs merProgramsystemkonstruktion med C++: Övning 1. Karl Palmskog september 2010
Programsystemkonstruktion med C++: Övning 1 Karl Palmskog palmskog@kth.se september 2010 Programuppbyggnad Klassens uppbyggnad en C++-klass består av en deklaration och en definition deklaration vanligtvis
Läs merFöreläsning 3 Verifiering och Validering
ETSA01 Ingenjörsprocessen för programvaruutveckling Metodik Föreläsning 3 Verifiering och Validering Jonas Wisbrant 2 Detta har hänt... Pratat och skapat krav och plan Övning 2 Riskhantering, intressenter
Läs merÄr instruktionerna oklara, projektet rörigt och allmänt frustrerande?
Detta har hänt... Pratat och skapat krav och plan Övning 2 Riskhantering, intressenter och kravgranskning. Genomfört granskningar inför 2 x 0.99 och omarbete? ETSA01 Ingenjörsprocessen för programvaruutveckling
Läs merF4 Testning och Parprogrammering i XP. EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH
F4 Testning och Parprogrammering i XP EDAF45 Programvaruutveckling i grupp Projekt Boris Magnusson,Datavetenskap, LTH 1 XP:s Deltekniker (Practices) 1. Planering Planeringsspelet Regelbundna releaser Hållbart
Läs merTestning på 3 föreläsningar. PV7180 Verifiering och Validering. Litteratur. Vad är testning? Varför testa och olika syn? Målet med testning
ning på 3 föreläsningar Första föreläsningen Översikt PV7180 Verifiering och Validering Föreläsning 3 ning del 1 Andra föreläsningen Coverage ing, OO-ing, Utvärdering av tekniker Tredje föreläsningen Automatiserad
Läs merDetta har hänt... Kursinformation. Utse kursombud - nytt försök. Föreläsning 3: Test, Konfigurationer. Pratat och skapat krav och plan
Föreläsning 3: Test, Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant Detta har hänt... Pratat och skapat krav och plan Övning 2 Riskhantering, intressenter och kravgranskning. Projektet har granskat
Läs merProperty-based Testing. Hans Svensson SAST Väst Q4 2013-11-26 http://quviq.com/
Property-based Testing Hans Svensson SAST Väst Q4 2013-11-26 http://quviq.com/ Om mig Teknisk Fysik PhD Datavetenskap Verification of Erlang programs using: Testing, Model checking, and Theorem proving
Läs merGrunderna i C++ T A. Skapad av Matz Johansson BergströmLIMY
Grunderna i C++ ARK 385: Virtuella Verktyg i en Materiell värld AT Arkitektur & Teknik Chalmers Tekniska Högskola 2009 - Kursen skapades (3 förel.) 2010-6 förel. + 2 projekt 2011-8 förel. Helt omarbetade
Läs merF6 Objektorienterad design. ID1004 Objektorienterad programmering Fredrik Kilander
F6 Objektorienterad design ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se långa ord AKTIVITETER I PROGRAMVARUUTVECKLING Iterativ utveckling Kravspecifikation Design Implementation Testning
Läs merPH Bicycle Storage 8000 Testplan
PH Bicycle Storage 8000 Testplan Projektdeltagare: Mattias Nordahl (dt07mn0@student.lth.se) Hannes Nevalainen (dt07hn2@student.lth.se) Daniel Olofsson (dt07do1@student.lth.se) Fredrik Andersson (dt07fa5@student.lth.se)
Läs merExercise 1b: Requirements evaluation
Resurser Produktmål Tidplan Projektplan Idé Affärsmål Användarfall Risker Krav Design Gränssnitt hårdvara Återanvänd kod Funktionella krav Kvalitetskrav Granskning Programkod Applikation Validera Kodgranskning
Läs merTDP005. Föreläsning 2. Filip Strömbäck
TDP005 Föreläsning 2 Filip Strömbäck 1 Make och CMake 2 Versionshantering TDP005 Filip Strömbäck 2 Make Problem: kompilera många filer i ett stort projekt tar tid Bättre om vi kompilerar om så få filer
Läs merPlatina och kvalité. Rasmus Staberg, Teknisk direktör, 2014-04-08
Formpipe Platina och kvalité Rasmus Staberg, Teknisk direktör, 2014-04-08 04 08 1 Formpipe Presentation Bakgrund Platina släpptes som första release år 2000. Fick pris för Best in show från Bill Gates
Läs merTDP005. Föreläsning 1. Filip Strömbäck
TDP005 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Mjukvaruprojekt 3 Kravspecifikation 4 Metoder 5 Systemdesign och OOP 6 Testning 7 Kom ihåg TDP005 Filip Strömbäck 2 Personal Examinator Kursledare
Läs merVälkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA
Välkommen till Datastrukturer, algoritmer och programkonstruktion eller DOA Jag: Christer Labbassar: Caroline: Johan: Agenda, före lunch Inledning om DOA-kursen Backspegel Mål Syfte Examination Om lärande
Läs merTDP005. Föreläsning 1. Filip Strömbäck
TDP005 Föreläsning 1 Filip Strömbäck 1 Kursinformation 2 Mjukvaruprojekt 3 Metoder 4 Kravspecifikation 5 Systemdesign och OOP 6 Testning 7 Kom ihåg TDP005 Filip Strömbäck 2 TDP004 och TDP005 TDP005 Filip
Läs merFunktioner. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 8. Peter Dalenius Institutionen för datavetenskap
Funktioner TDDD73 Funktionell och imperativ programmering i Python Föreläsning 8 Peter Dalenius Institutionen för datavetenskap 2014-10-01 Prova på-laborationer Förutsättningar 3 st x 4 timmar under de
Läs merProgrammering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p
Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället
Läs merFilhanterare med AngularJS
Filhanterare med AngularJS Författare: Filip Johansson Peter Emilsson Oskar Georgsson Christian Nilsson Datum: 2014-03-26 1 Sammanfattning Filhanterare med AngularJS är en filhanterare skapad för Sigma
Läs merAgenda. Föreläsning 6: Utvärdering och om tentamen. Kursinformation
Föreläsning 6: Utvärdering och om tentamen Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant 288 Agenda Kursinformation Sammanfattning av kursen och operativ utvärdering Schemalagda kursaktiviteter
Läs merTestning av applikationer
Tentamen, (20 YH-poäng) Plats: Övningstenta Tid: Övningstenta Tillåtna hjälpmedel: Papper, penna, suddgummi, linjal. Ej tillåtna hjälpmedel: Datorer, mobiltelefoner, surfplattor, miniräknare, böcker, anteckningar,
Läs merExercise 1b: Requirements evaluation
Resurser Produktmål Tidplan Idé Affärsmål Användarfall Risker Krav Gränssnitt hårdvara Återanvänd kod Funktionella krav Kvalitetskrav Granskning Programkod Applikation Validera Kodgranskning Versioner
Läs merKursinformation. Metodik för programvaruutveckling. Utvecklingsprocessen för programvara. Innehåll. Processmodell. Exempel
Kursinformation Metodik för programvaruutveckling Föreläsning 3 Latex ok för litteraturstudierapport (prata med mig bara) Nästa föreläsning är av Björn Regnell (jag är med också) Presentationer imorgon
Läs merExercise 4a: Test 2 ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15. Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT15 Exercise 1
Exercise 4a: Test 2 ETSA01 INGENJÖRSPROCESSEN 1 - METODIK VT15 Lund University Computer Science ETSA01 Ingenjörsprocessen - Metodik VT15 Exercise 1 Agenda L4: Some quick reminders Testing in the projects
Läs merStyrteknik: Binära tal, talsystem och koder D3:1
Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder
Läs merV!cto. Att tjäna pengar genom bättre testning med
Att tjäna pengar genom testning med Att tjäna pengar genom testning med 1 (50) Det finns tre vägar till test: 1: Testautomati- Att bygga sering Att bygga Att bygga Att bygga Att bygga Att bygga Att bygga
Läs merStatic vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018
Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design (DIT95) Niklas Broberg, 2018 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon
Läs merTDIU01 - Programmering i C++, grundkurs
TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner
Läs merFelsökning. Översikt. Felsökning (debugging) Kodstandard. Kommentarer. Kommentarer. Praktiska råd
Översikt Felsökning Praktiska råd Felsökning i IDE Javadoc Kommersiella mjukvaruprojekt Allmänt om felhantering i Java Catch - throw Systematisk testning av större system Programmering tillämpningar och
Läs merExempel på verklig projektplan
Exempel på verklig projektplan Detta är ett exempel på en proffessionell projektplan hämtad ur verkliga livet. Den visas inte i sin fullständighet, det mesta är bortklippt, men strukturen och mycket av
Läs merÖverlagring, static, testning, formella metoder och undantag! Förelasning 13!! TDA540 Objektorienterad Programmering!
Överlagring, static, testning, formella metoder och undantag! Förelasning 13!! TDA540 Objektorienterad Programmering! Gränssnitt igen För att kunna ändra på olika delar av programmet utan att andra delar
Läs merAgenda. Kursinformation. Manual för systemstart... Föreläsning 6: Utvärdering och om tentamen
Föreläsning 6: Utvärdering och om tentamen Ingenjörsprocessen metodik ETSA01 VT14 Jonas Wisbrant Agenda Kursinformation Sammanfattning av kursen och operativ utvärdering Schemalagda kursaktiviteter Cykelgarageprojektet
Läs merStatic vs Dynamic binding Polymorfism. Objekt-orienterad programmering och design Alex Gerdes, 2016
Static vs Dynamic binding Polymorfism Objekt-orienterad programmering och design Alex Gerdes, 2016 Diagnostiskt prov Shape + overlaps(shape): int return 1; Shape shape = new Shape(); Polygon tripoly =
Läs merTestning. 1. Inledning
Testning 1. Inledning I all ingenjörsmässig verksamhet är testning en vedertagen metod för att fastställa om en hypotes, konstruktion eller produkt är korrekt och fungerar som avsett. Datorprogram är ofta
Läs merFöreläsning 3. Iteration while-satsen
Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har
Läs merTestplanering, test-first, testverktyg
Testplanering, test-first, testverktyg Mats Skoglund Department of Computer and Systems Sciences Stockholm University/Royal Institute of Technology Stockholm, Sweden 12 mars 2007 Mats Skoglund Page 1(33)
Läs merDD1361 Programmeringsparadigm. Carina Edlund
DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp
Läs merTDDI02. Programmeringsprojekt, Föreläsning 2. Filip Strömbäck. Med utgångspunkt i tidigare slides av Jonas Lindgren
TDDI02 Programmeringsprojekt, Föreläsning 2 Filip Strömbäck Med utgångspunkt i tidigare slides av Jonas Lindgren På denna föreläsning: Dokument - kravspecifikation, projektplan Vad är klok design? Projektarbete
Läs merLänkade listor och automatisk testning
1 (6) Länkade listor och automatisk testning Algoritmer och datastrukturer Obligatorisk nr 3 Syfte Att ge träning i programmering av länkade listor på låg abstraktionsnivå med primitiv pekarmanipulering.
Läs merFöreläsning 3: Test, Konfigurationer. Övning 2 Riskhantering, intressenter och kravgranskning.
Föreläsning 3: Test, Konfigurationer Ingenjörsprocessen metodik ETSA01 VT15 Jonas Wisbrant 105 Detta har hänt... Pratat och skapat krav och plan Övning 2 Riskhantering, intressenter och kravgranskning.
Läs merLaboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
Läs merVisuell GUI Testning
Visuell GUI Testning Vad är ett Graphical User Interface (GUI)? Icke-animerat GUI Animerat GUI Nuläget System- och acceptanstestning är dyrt! Manuellt Långsamt Enformigt Svårt att replikera exakt Nödvändigt
Läs merPraktisk hantering av automatiserade testfall T U A C A P T M F T W!
Praktisk hantering av automatiserade testfall T U A C A P T M F T W! Das TOC (Hålla låda i ca 35 min) Presentation quien soy yo? Bakgrund vad, varför? Hur man kan testa (in-) parametrar och regelverk på
Läs merSTADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Produktionssättning. Stockholms stad SOA-plattform. Sida 1 (9)
Produktionssättning Stockholms stad SOA-plattform 1 (9) Innehållsförteckning 1 Syfte 3 2 Generell information 3 2.1 Förklaringar av objekttyper... 3 2.1.1 TeamPlace... 3 2.1.2 SOA-tjänst... 3 2.1.3 Virtualisering...
Läs merTPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER
TPFD Beskrivning Rev 4 1(10) TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER Anv.krav Terminologi Detaljkrav Konfigdok Hantera Utgåvor Projektplan Testplan Test-o-felrättning Ändringslogg Återst.
Läs merTestdriven utveckling. Magnus Jonsson Siemens Medical Solutions
Testdriven utveckling Magnus Jonsson Siemens Medical Solutions 2 Soarian Stort projekt, ca 400 personer i projektet Distribuerad utveckling i USA, Indien och Sverige Web baserat lösning med admin client
Läs merÖvningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Läs merSF Bio App. Repport. Test summary. 1- Syfte. 2. Produktöversikt. Författare: Zina Alhilfi Datum: Version: v1,0
Test summary SF Bio App. Repport Författare: Zina Alhilfi Datum: 2017-03-13 Version: v1,0 Granskad: Klar Ref: Test plan V1,0 Status: klar 1- Syfte Syftet med denna slutrapport är att redovisa vilka testaktiviteter
Läs merINGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT. Övning 2 Riskhantering, intressenter och kravgranskning.
Föreläsning 3: Test, & INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT 2 Detta har hänt... Pratat och skapat krav och plan Övning 2 Riskhantering, intressenter och kravgranskning. Projektet har granskat
Läs merPlatser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat
Cheat sheets Nedan finns referensblad för fyra olika programmeringsspråk, som kan bli aktuella att använda i matematikundervisning. MATLAB är en välkänd programvara för att göra matematiska beräkningar,
Läs merVerifiering & validering -
Verifiering & validering - INGENJÖRSPROCESSEN forts. METODIK ETSA01 VT13 Verifiering och validering rep. INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT 1 1 Från F3 Verifiering & Validering Verifiering
Läs merFöreläsning 4: Konfigurationer, Plattformar & Design I Programvaruutveckling - Metodik 2016 Jonas Wisbrant
Föreläsning 4: Konfigurationer, Plattformar & Design I Programvaruutveckling - Metodik 2016 Jonas Wisbrant 1 Snabbrepris: Test Testning kan påvisa fel, men inte bevisa att det inte finns fel Testprocessen
Läs merObjektorienterad programmering
Objektorienterad programmering Föreläsning 7 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Konstanter och readonly Statiska klasser Standardklassen Math Parameteröverföring Referensen
Läs merObligatorisk uppgift: Numerisk kalkylator
Informationsteknologi Tom Smedsaas 22 augusti 2018 Obligatorisk uppgift: Numerisk kalkylator Programmet skall läsa in aritmetiska uttryck samt beräkna och skriva ut deras värden. Programmet ska läsa från
Läs merProcessbeskrivning Test
ProcIT-P-017 Processbeskrivning Test Lednings- och kvalitetssystem Fastställt av Sven Arvidson 2012-06-20 Innehållsförteckning 1 Inledning 3 1.1 Symboler i processbeskrivningarna 3 2 Testprocessen 4 2.1
Läs merFöreläsning 3. Programvaruutveckling för Stora System. Målsättning i programvaruprojekt. Fel och risker. Christin Lindholm
Föreläsning 3 Programvaruutveckling för Stora System Projektledning, planering, dokument Dokument, processöversikt, möten Christin Lindholm 2 Målsättning i programvaruprojekt producera rätt produkt med
Läs merpå ett stort spelföretag Andreas Ström
på ett stort spelföretag Andreas Ström - Spelföretag som är B2C och B2B orienterat. Bygger en pokerplattform som säljs och driftas som en tjänst till andra företag. - Grundades 1999 i Uppsala - Scrum sedan
Läs merBakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige
Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >
Läs merCalculate check digits according to the modulus-11 method
2016-12-01 Beräkning av kontrollsiffra 11-modulen Calculate check digits according to the modulus-11 method Postadress: 105 19 Stockholm Besöksadress: Palmfeltsvägen 5 www.bankgirot.se Bankgironr: 160-9908
Läs merAtt deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Läs merINGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT
Föreläsning 6: Utvärdering och om tentamen INGENJÖRSPROCESSEN METODIK ETSA01 VT13 JONAS WISBRANT 2 Agenda Kursinformation Sammanfattning av kursen och operativ utvärdering Schemalagda kursaktiviteter Cykelgarageprojektet
Läs mer