-

Забезпечення Якості -- Quality Assurance
-

середа, 20 жовтня 2010 р.

Методи Дизайну Тестів

Test Design Techniques

Specification-based or Black-box Techniques:
- Equivalence Partitioning
- Boundary Value Analysis
- Decision Table Testing
- State Transition Testing
- Use Case Testing

Structure-based or White-box Techniques:
- Statement Testing and Coverage
- Decision Testing and Coverage
- Condition coverage and multiple condition coverage

Experience-based techniques:
- Error guessing
- Exploratory testing

*ISTQB Foundation Level Syllabus

Методи Тестування

Test Techniques

1. Based on the software engineer’s intuition and experience
1.1. Ad-hoc testing
1.2. Exploratory testing

2. Specification-based techniques
2.1. Equivalence partitioning
2.2. Boundary-value analysis
2.3. Decision table
2.4. Finite-state machine-based
2.5. Testing from formal specifications
2.6. Random testing

3. Code-based techniques
3.1. Control-flow-based criteria
3.2. Data flow-based criteria
3.3. Reference models for code-based testing

4. Fault-based techniques
4.1. Error guessing
4.2. Mutation testing

5. Usage-based techniques
5.1. Operational profile
5.2. Software Reliability Engineered Testing

6. Techniques based on the nature of the application
6.1. Object-oriented testing
6.2. Component-based testing
6.3. Web-based testing
6.4. GUI testing
6.5. Testing of concurrent programs
6.6. Protocol conformance testing
6.7. Testing of real-time systems
6.8. Testing of safety-critical systems

7. Selecting and combining techniques
7.1. Functional and structural
7.2. Deterministic vs. random

*Guide to the Software Engineering Body of Knowledge (IEEE -Computer Society)

вівторок, 12 жовтня 2010 р.

7 Принципів Тестування

Принцип 1. Тестування виявляє присутність дефектів.
Тестування виявляє, що дефекти присутні, але не може запевнити, що дефекти відсутні. Тестування зменшує ймовірну кількість незнайдених дефектів, та якщо дефектів не знайдено, це не гарантує їхньої відсутності.

Принцип 2. Вичерпне тестування неможливе.
Тестування всього (усіх комбінацій введень і передумов) є неможливе за виключенням тривіальних випадків. Замість намагань, протестувати все, використовується аналіз ризиків та пріоритетів, що допомагає провести цілеспрямоване тестування.

Принцип 3. Раннє тестування.
Тестування розпочинається так швидко як це можливо і фокусується на визначенні цілей.

Принцип 4. Групування дефектів.
Зусилля тестування фокусуються пропорційно до очікуваної і отриманої густини дефектів по модулях. Декілька модулів зазвичай містять більшість дефектів, знайдених під час дорелізного тестування, або повязаних в основному з недосконалостями операційних систем.

Принцип 5. Парадокс пестицидів.
Якщо тестування повторюється, то один набір тест кейсів не буде знаходити нові дефекти. Уникнути "парадокс пестицидів" можна регулярною перевіркою, оновленням, та дописуванням нових тестів.

Принцип 6. Тестування залежить від контексту.
Тестування відрізняється в залежності від контексту продукту. Для прикладу, програмне забезпечення з критичним захистом тестується інакше ніж комерційний сайт.

Принцип 7. Відсутність дефектів оманлива.
Знаходження та виправлення дефектів не допомагає, якщо система непридатна і не задовільняє потреб та очікувань користувача.

*ISTQB Foundation Level Syllabus

понеділок, 2 серпня 2010 р.

QA Management tool - QMetry

QMetry

1. Requirements -
* manage your test requirements,
* provides complete traceability from requriements - testcases - defects
* can import your requirement from xls/.csv to QMetry

2. Test Plan -
* Manage your testplan according to the IEEE standandard
* Customize it to match you requirement

3. Test cases/Suites/Status
* Define test cases
* Link them to requirements / defects
* Create test suite and bundle test cases to them
* Create environments/platforms to record your test case run results again
* Attach test logs and write comments for collaborative mode
* Record your run results for later comparison

4. Bugs:
QMetry is integrated with tools across testing lifecycle due to its strong web based API:
* Test Automation tools like - QTP, Selenium, Silk test
* Bug tracking tool - JIRA, Bugzilla, Mantis
* Other tools - Elementool, Targetprocess

5. Test Reports:
* We have exhaustive reports for traceability, testcases, defects at project level, across releases, across builds
* We also have standard queries & we publish our Read only database schema using which you can write your own custom queries and pull out almost anything from QMetry

6. Test Metrics:
* QMetry dashboard has 30+ metrics with pie charts/line graphs/bar charts
* Graphs have complete drill down
* Metrics can be downloaded in pdf and mailed across to team members
* view data in graphical format or tabular/data grid view
* Add the graphs important to you to your favorite for ease of navigation

7. Others:
* Version control - change management across QMetry, smallest of the change recorded by which field changed, who made the change, when was the change made etc.
* Sort, search, filter option
* Email notification for geographically distribute team to function in tandem
*Role based security - create your own roles and define access rights
* Can add User defined fields and modify the custom lists
* Import to and export from xls/.csv requirements, test cases, test suite run results
* Extensive release & build management
* copy testcases/requirements/testsuite from one build/release/project to another.

четвер, 15 липня 2010 р.

Selenium

Web Application Testing System

Selenium IDE is a Firefox add-on that records clicks, typing, and other actions to make a test, which you can play back in the browser.

Selenium Remote Control (RC) runs your tests in multiple browsers and platforms. Tweak your tests in your preferred language.

Selenium Grid extends Selenium RC to distribute your tests across multiple servers, saving you time by running tests in parallel.

Podcast: Using Selenium for application testing

Tutorial: Introducing Selenium IDE, an open source automation testing tool

Tutorial: Installing and running Selenium-RC in Perl