Skip to content

usergroup - meetup - phpug - hamburg - 130320

Grunar+Jahr Condition driven quality management / Test Pattern Nils Langner and Torsten Franz - three developers to one qa - what is quality? Reaching defined goals - Balanced score card - define threshold of errors (with which bugs is it still releasable) - also check ISO/IEC 9126 - differ between technical qa and functional qa - tools: jmeter, phpunit, bamboo, phplint, phpcs - reviews/analyse: code, architecture, flow of data - explore with teams how to test the application (try to break it) - github: livetests

couchDB jan lehnardt - example by using node.js proxy and two couchDB's with replication. - changes stream can be used to implement event based jobs, pull services - PouchDB is couchDB for mobils, based on javascript ->stores data in client as long as couchDB backend is not available - TouchDB for smartphones (ios, android) - BigCouch implements googles dynamo implementation - You can restrict document types after implementation (add/cover with a schema) - Queries in couchDB are json queries named views ->map functions are equals to selects ->reduce functions are calculating stuff like sum, count, stats or own functions. Can be extended (e.g. lucene) - CouchDB is written in ERLANG

Pretty cool talks. Especially Jan lights my fire to play with couchDb :-D.

usergroup - meetup - webPerformance - hamburg 130220

Attraktor e.v. mexikoring 21, hamburg

Soundcloud - Arbo Von Monkiewitsch

html5 audio playback widget - measuring for velocity

measure first

how to?

  • synthetic user monitoring (by phantom.js)
    • repeaable
    • doesn't show real user experience
    • good for benchmarking
  • real user monitoring (google analytics)
    • shows real user experience
    • change of user behavior impacts repeateability (e.g. side slow in asia but fast in euro)
    • impact of embedding site

what?

  • http ping
  • fully page load
  • include all transactions
  • follow K.I.S.S., just render the page

define your goals

  • what is fast
  • don't define random goals on yourself
  • public benchmarks are good as orientation (for e.g. set up a benchmark for youtube or similar)
  • response time
  • don't simple trust your metrics

best practices

  • httparchive, pagespeed, yslow (100 - 200 ms as full page loading speed is good enough)
  • compress each connection (use varnishs or something similar for uncompressable content)
  • availability fallback -> dc
  • performance - put api in cdn (also for http or https handshake)
  • consitency - load balanced cdns

rap it up

  • measure first
  • keep it simple
  • team autonomy

phantomJs - Raj Dudi

http://rajdudi.com

what it is - created by ariya hidayat

  • can be integrated into jenkins
  • automation and headless testing
  • can be used for metrics measurement
  • render and dump client side html
  • current version is 1.8
  • headless (Qt)Webkit/Browser
  • javascript driven
  • ideal for
    • headless website testing -> but it is not a test framework
    • screen capture
    • page automation
    • network monitoring
  • projects
    • casperjs
    • ghostbusters
    • poltergeist

code evaluation

  • evaluate(function, arg1, arg2, ...) {object}
  • returns simple objects but no functions and closures
  • execution is sandboxed
  • dom scripting and css selector works
  • use onConsoleMessage callback to receive the console messages

get it from

  • phantomjs.org
  • github.com/ariya/phantomjs
  • https://aur.archlinux.org/packages/phantomjs/

examples

https://github.com/ariya/phantomjs/tree/master/examples

hello world

console.log("Hello world"); phantom.exit();

screen capture

  • Page.render to render a screenshot
  • supports ong, jpeg, gif and pdf
  • options
    • page.clipRect = { top: 14, left: 3, width: 400, height: 300 };
    • page.paperSize = { width: '200px', height: '300px' } //for pdf output e.g., also supports borders and much more
    • page.zoomFactor = 0.25 // 1 is default
  • projects based on phantomjs
    • screenr
    • mediaqueri
    • chromanope
  • webpage api
    • var page = require('webpage').create();
    • page.open(url, callback) {void}
    • page.close() {void}
    • goBack(), goForward(), title, url
    • settings{object} //enable javascript, load images, username or password, websecurity
    • page.includeJs(url, callback) {void}
    • page.injectJs(filename) {boolean}
  • webpage callbacks
    • onLoadStarted
    • onLoadFinished
    • onAlert
    • onCallback //experimental
    • onClosing
    • onConfirm
    • onConsoleMessage
    • onError
  • system API
    • var system = require('system');
    • ...
  • filesstem api
    • var fs = require('fs);
    • separator {string}
    • workingDirectory
    • ...

troubleshooting

  • allows network sniffing
    • onResourceRequested
    • onResoureceReceived
    • TLS and SSL required for encrypted data - are they enabled?
  • error handling

cons

  • uses qtWebKit (not used by chrome, safari and so one)
  • asynchronous api - difficult to handle for many
  • not supported
    • plugins
    • webGL
    • video and audio
    • css 3-D
    • xpath

What could i add? Thanks to the talks, yes very much. Also thanks to the attraktor, you are doing it right!

web - E-Government-Gesetz: Bundesregierung will Verschlüsselungsstandards senken

Lang war es still um De-Mail. Dies lag vornehmlich daran, dass es keine Nutzungmöglichkeiten für den “sicheren, vertraulichen und nachweisbaren Geschäftsverkehr für jedermann im Internet” gab. [...] Daraus ergeben sich nun für sensible Daten große Probleme, zum Beispiel im Steuer-, Sozial- und Justizbereich: Die De-Mail in ihrer jetzigen Form genügt den gesetzlichen Ansprüchen an Kommunikationssicherheit nicht. Die naheliegende Reaktion wäre es nun, das De-Mail-Gesetz nachzubessern. Statt jedoch De-Mail auf eine sichere Technikgrundlage zu hieven, soll der aktuelle Schutz in mehreren Gesetzen aufgeweicht werden. Im Teil “Änderung der Abgabenordnung” des Gesetzentwurfs zur Förderung der elektronischen Verwaltung heißt es dann:
Werden dem Steuergeheimnis unterliegende Daten durch einen Amtsträger […] über De-Mail-Dienste […] versendet, liegt keine unbefugte Offenbarung, Verwertung und kein unbefugter Abruf von dem Steuergeheimnis unterliegenden Daten vor, wenn beim Versenden eine kurzzeitige automatisierte Entschlüsselung […] zum Zweck der Überprüfung auf Schadsoftware und zum Zweck der Weiterleitung an den Adressaten […] stattfindet.
Die vorgeschlagenen Ausnahmeregelungen sind ebenso einzigartig wie gefährlich: Statt auf ein sicheres Verfahren zu setzen, werden die gesetzlichen Ansprüche anhand fadenscheiniger Argumente herabgesetzt: Kurzzeitige Entschlüsselung: Dieses Argument kennen wir schon aus der Debatte ums De-Mail-Gesetz. Natürlich ist es für das Abhören von E- oder De-Mails völlig egal, ob ich sie nur für eine Sekunde oder einen halben Tag entschlüsselt werden: Wenn sie automatisch entschlüsselt werden können, sind sie nicht verschlüsselt. Wer den Server eines der wenigen De-Mail-Anbieter kontrolliert (zum Beispiel der Provider selbst, ein Angreifer oder Geheimdienste), hat Zugriff auf alle darüber abgewickelte Kommunikation. Überprüfung auf Schadsoftware: Das Versenden einer De-Mail kostet Geld und wird anonym nicht möglich sein. Für Masseninfektionen per Spam ist der Dienst daher denkbar ungeeignet. Wer die Kosten auf sich nimm, sich unter einer falschen Identität ein De-Mail-Konto zu verschaffen, um mit diesem dann gezielt Viren an ein ausgewähltes Opfer zu senden, wird dafür auch Schadsoftware nutzen, welche die automatische Prüfung nicht erkennt. So wird den Nutzern durch den serverseitigen Virenscan eine falsche Sicherheit vorgegaukelt.
Quelle

Wenn die Behörden dann untereinander mit dieser nicht vorhandenen Verschlüsselung arbeiten (müssen, denn auch dort muss es fähige Menschen geben - alleine der Statistik wegen), werden all meine Daten praktisch unverschlüsselt durch die Welt geblasen. Wie soll ich es ausdrücken ... welch Freude :-(.

web - Bruce Schneier: Das Internet ist ein Überwachungsstaat

[...]Alles, was wir heute tun, hat mit Computern zu tun, und Computer produzieren Daten als natürliches Nebenprodukt. Alles wird mittlerweile gespeichert und verknüpft und viele Big-Data-Unternehmen machen Geld damit, intime Profile über unser Leben mit Hilfe einer Vielzahl von Quellen zu erstellen," so der Sicherheitsexperte. "Dies ist allgegenwärtige Überwachung: Wir alle werden überwacht, die ganze Zeit, und die Daten werden für immer gespeichert. So sieht ein Überwachungsstaat aus und er ist effizienter, als es sich George Orwell in seinen wildesten Träumen ausgemalt hat," sagte Schneier. Zwar sei es möglich, sich mit technischen Maßnahmen oder durch den Verzicht auf bestimmte Dienste oder Features der Überwachung ein Stück weit zu entziehen, so Schneier weiter. Dies spiele aber zunehmend keine Rolle mehr, da die Überwachung mittlerweile auf zu vielen Wegen erfolge, auch an Stellen, an denen ein Verzicht nicht praktikabel sei. Auch der freie Markt kann das Problem nach Ansicht Schneiers nicht lösen, da die Kunden "in dieser Sache keine Wahl haben". Zu oft seien keine von Überwachung freien Alternativen auf dem Markt. [...]
Quelle

Ganz zu schweige von der indirekten Überwachung. Ist man nicht selbst ein Mitglied von "sozialen Netzwerken", ist es mit Sicherheit ein Bekannter zweiten oder dritten Grades. Sind somit genügend Menschen in einem Netzwerk, welches Daten ermittelt, kann man relativ einfach nicht Nichtmitglieder und deren Verhalten nachrechnen.