markdown:
tag:blogger.com,1999:blog-87929781051491174302015-04-18T00:32:14.268-07:00T@ThoKết nối bạn bèTran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.comBlogger95125tag:blogger.com,1999:blog-8792978105149117430.post-2750949053504811552015-04-18T00:32:00.000-07:002015-04-18T00:32:14.291-07:00Một số kỹ thuật testing
1. Kỹ thuật phân vùng tương đương (Equivalence Partitioning)

1.1. Ý tưởng:

Phân vùng tương đương là phương pháp chia các điều kiện đầu vào thành những vùng tương đương nhau. Tất cả các giá trị trong một vùng tương đương sẽ cho một kết quả đầu ra giống nhau. Vì vậy chúng ta có thể test một giá trị đại diện trong vùng tương đương.

Hình 1. Kỹ thuật phân vùng tương đương

Thiết kế test case bằng kỹ thuật phân vùng tương đương tiến hành theo 2 bước:

(1) Xác định các lớp tương đương

(2) Xác định các ca kiểm thử

1.2. Ví dụ:

(*) Form login bao gồm:

User: Text-box

PassWord: Text-box

Yêu cầu:

Thiết kế test case sao cho người dùng nhập vào ô text-box user chỉ cho nhập ký tự chữ với độ dài trong khoảng [6-20]

Nếu nhập giá trị với số ký tự không nằm trong khoảng [6-20] => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”

Nếu để trống ô hoặc nhập ký tự khác ký tự chữ => hiển thị lỗi “Tên người dùng chưa hợp lệ! Vui lòng nhập ký tự chữ”

(*) Dựa vào yêu cầu bài toán ta có thể có các lớp tương đương(phân vùng) sau:

+ Phân vùng 1: Nhập giá trị hợp lệ từ 6 => 20

+ Phân vùng 2: Nhập giá trị không hợp lệ < 6 ký tự

+ Phân vùng 3: Nhập giá trị không hợp lệ > 20 ký tự

+ Phân vùng 4: Trường hợp để trống không nhập gì hay nhập ký tự không phải dạng chữ

Sau khi áp dụng phân vùng tương đương có thể chọn được các ca kiểm thử (test case) sau:

+ Case 1: Nhập giá trị từ 6 => 20 => pass

+ Case 2: Nhập giá trị < 6 ký tự (có thể chọn nhập 1, 2, 3, 4 hoặc 5 ký tự) => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”

+ Case 3: Nhập giá trị > 20 ký tự (có thể chọn nhập 21, 22, 23,… ký tự) => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”

+ Case 4: Để trống không nhập gì hay nhập ký tự không phải dạng chữ => hiển thị lỗi “Tên người dùng chưa hợp lệ! Vui lòng nhập ký tự chữ”

1.3. Ưu/ nhược điểm:

(*) Ưu điểm:

Vì mỗi vùng tương đương ta chỉ cần test trên các phần tử đại diện nên số lượng test case được giảm đi khá nhiều nhờ đó mà thời gian thực hiện test cũng giảm đáng kể.

(*) Nhược điểm:

Không phải với bất kỳ bài toán nào đều có thể áp dụng kỹ thuật này. Có thể bị lack lỗi ở biên nếu chỉ chọn giá trị ở khoảng giữa của miền tương đương.
Vì vậy việc kết hợp linh hoạt giữa kỹ thuật phân vùng tương đương và phân tích giá trị biên dưới đây sẽ mang lại hiệu quả cao hơn để vừa tối ưu số lượng test case và vẫn đảm bảo đươc chất lượng phần mềm.

2. Kỹ thuật phân tích giá trị biên (Boundary-value Analysis)

2.1. Ý tưởng:

Hầu hết các lỗi được tìm thấy khi kiểm tra ở các giá trị biên. Vì vậy phương pháp này tập trung vào việc kiểm thử các giá trị biên này.

Phân tích giá trị biên là trường hợp đặc biệt của phân vùng tương đương, dựa trên những phân vùng tương đương tester sẽ xác định giá trị biên giữa những phân vùng này và lựa chọn test case phù hợp.

Các case chuẩn được lựa chọn dựa vào quy tắc sau:

Giá trị biên nhỏ nhất – 1

Giá trị biên nhỏ nhất

Giá trị biên lớn nhât

Giá trị biên lớn nhất + 1

Nhưng nếu bạn muốn kiểm tra sâu hơn thì bạn cũng có thể lựa chọn theo quy tắc:

Giá trị biên nhỏ nhất – 1

Giá trị biên nhỏ nhất

Giá trị biên nhỏ nhất + 1

Giá trị biên lớn nhất – 1

Giá trị biên lớn nhất

Giá trị biên lớn nhất + 1

Hình 2. Kỹ thuật phân tích giá trị biên

2.2. Ví dụ:
(*) Form login bao gồm:

User: Text-box

PassWord: Text-box

Yêu cầu:

Thiết kế test case sao cho người dùng nhập vào ô text-box user chỉ cho nhập ký tự chữ với độ dài trong khoảng [6-20]

Nếu nhập giá trị với số ký tự không nằm trong khoảng [6-20] => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”

Nếu để trống ô hoặc nhập ký tự khác ký tự chữ => hiển thị lỗi “Tên người dùng chưa hợp lệ! Vui lòng nhập ký tự chữ”

(*)Theo phương pháp phân vùng tương đương ở trên ta xây dựng được các miền tương đương:

+ Phân vùng 1: Nhập giá trị hợp lệ từ 6 => 20

+ Phân vùng 2: Nhập giá trị không hợp lệ < 6 ký tự

+ Phân vùng 3: Nhập giá trị không hợp lệ > 20 ký tự

+ Phân vùng 4: Trường hợp để trống không nhập gì hay nhập ký tự không phải dạng chữ

Áp dụng kỹ thuật phân tích giá trị biên ta chọn được các case sau:
+ Case 1: Nhập giá trị với 5 ký tự => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”

+ Case 2: Nhập giá trị với 6 ký tự => pass

+ Case 3: Nhập giá trị với 20 ký tự => pass

+ Case 4: Nhập giá trị với 21 ký tự => hiển thị lỗi “Bạn chỉ được phép nhập chuỗi từ 6 => 20 ký tự”

+ Case 5: Để trống không nhập gì hay nhập ký tự không phải dạng chữ => hiển thị lỗi “Tên người dùng chưa hợp lệ! Vui lòng nhập ký tự chữ

2.3. Ưu/ nhược điểm:

(*) Ưu điểm:

Thay vì phải test hết toàn bộ các giá trị trong từng vùng tương đương, kỹ thuật phân tích giá trị biên tập trung vào việc kiểm thử các giá trị biên của miền giá trị inputs để thiết kế test case do “lỗi thường tiềm ẩn tại các ngõ ngách và tập hợp tại biên”.

Tiết kiệm thời gian thiết kế test case và thực hiện test.

(*) Nhược điểm:

Phương pháp này chỉ hiệu quả trong trường hợp các đối số đầu vào (input variables) độc lập với nhau và mỗi đối số đều có một miền giá trị hữu hạn.

3. Đoán lỗi (Error Guessing)

3.1. Ý tưởng:

Phương pháp này không có quy trình cụ thể vì có tính trực giác cao và không thể dự đoán trước.

Phương pháp chỉ phù hợp với những Tester có kinh nghiệm. Họ được đưa cho 1 chương trình, họ phỏng đoán dựa vào trực giác, dựa vào kinh nghiệm, dữ liệu lịch sử về các lỗi đã từng xảy ra với chương trình trước đó… và sau đó viết các ca kiểm thử để đưa ra các lỗi đó.

Hình 3: Kỹ thuật đoán lỗi

3.2. Ví dụ:

Ở màn hình login, đôi khi developer code thì gán user name là “admin” và pass là rỗng hoặc “123” vì vậy khi thực hiện test mình nên test cả case này

3.3. Ưu/ nhược điểm:

(*) Ưu điểm:

Sử dụng phương pháp này có thể giúp tester tìm ra những lỗi điển hình thường xảy ra trong phần mềm hoặc những lỗi không thể tìm thấy khi thiết kế test case theo hình thức formal

(*) Nhược điểm:

Kỹ thuật này thường được thực hiện bởi các Tester có kinh nghiệm và không theo một quy tắc nhất định, thiết kế test case dựa nhiều vào cảm tính

Tổng kết:

Ngoài 3 kỹ thuật thiết kế test case đã nói ở trên, bạn cũng có thể tìm hiểu và sử dụng rất nhiều các kỹ thuật khác nữa như: thiết kế test case dựa trên đồ thị nguyên nhân – kết quả(Cause-Effect Diagram), dựa trên bảng quyết định(Decision Tables)…

Để giảm thiểu số case đến mức tối ưu mà vẫn đảm bảo chất lượng phần mềm, mỗi tester cần linh hoạt trong việc lựa chọn các kỹ thuật thiết kế test case.

Chúc các bạn thành công trong việc vận dụng các kỹ thuật này để đạt được hiệu quả cao nhất!
Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-48715558505191364362015-04-03T13:51:00.002-07:002015-04-03T13:51:28.366-07:00How to stress test this chat application<div class="question" data-questionid="5388" id="question" style="-webkit-text-stroke-width: 0px; background-color: white; border: 0px; clear: both; color: #222222; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 16.8999996185303px; margin: 0px; orphans: auto; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">

1<a class="vote-down-off" href="https://draft.blogger.com/null" style="background-image: url(http://cdn.sstatic.net/beta/img/sprites.svg?v=78be897a4f09), none; background-position: 0px -220px; background-repeat: no-repeat; background-size: initial; border: 0px; color: #4e82c2; cursor: pointer; display: block; font-size: 1px; height: 48px; margin: 0px auto 10px; overflow: hidden; padding: 0px; text-decoration: none; text-indent: -9999em; width: 40px;" title="This question does not show any research effort; it is unclear or not useful">down vote<a class="star-off" href="http://sqa.stackexchange.com/questions/5388/how-to-stress-test-this-chat-application#" style="background-image: url(http://cdn.sstatic.net/beta/img/sprites.svg?v=78be897a4f09), none; background-position: 0px -120px; background-repeat: no-repeat; background-size: initial; border: 0px; color: #18529a; cursor: pointer; display: block; font-size: 1px; height: 30px; margin: 0px auto 2px; overflow: hidden; padding: 0px; text-decoration: none; text-indent: -9999em; width: 40px;" title="This is a favorite question (click again to undo)">favorite
1

I am creating a chat application with node.js and socket.io. I want to know how many chatters my application can handle.

What I want to know is what will happen to CPU and memory on the server having 10,100,1000,10000,100000 chatters talking to each other and see if the application and server can handle this much connections. I also want to know if the messages these chatters send will be progressed as they should.

I'm testing my application with Cucumber and Selenium. With Cucumber/Selenium I could open a few browser windows and start chatting, but I guess this would not be a good solution testing it with 1000 or more chatters. Though this would be ideal to test with because I can use real scenarios.

I have also looked at ab but I am not very sure if it can test the application itself or just create a lot of connections.

What would be the best way to test and are there good tools for testing this?

web-application

shareimprove this question

edited Dec 19 '12 at 10:29

asked Dec 19 '12 at 9:30

Klaasvaak
1064

Welcome to SQA, Klaasvaak. What do you mean by, "if the messages these chatters send will be progressed as they should"? –  user246 Dec 19 '12 at 16:01

With that I mean the functionality I made should keep working if there are a lot of users. –  Klaasvaak Dec 19 '12 at 16:57

add a comment

2 Answers

activeoldestvotes

up vote2down vote

As I understand it, you have two requirements: a load requirement (simulate up to 100,000 simultaneous chats; determine whether chatters can connect) and a functional requirement (determine whether the chats are processed correctly). You will probably use different technologies for the two of those.

For the load requirement, you want something that can handle initiating and communicating over lots of simultaneous connections. ab appears measure how many of the same request the server can handle simultaneously. Presumably your chat protocol is more complicated than that. For example, I suspect the chat application has to start by logging in.

I assume you are looking for an open source solution. There are plenty of those available, but you might start by looking at JMeter and The Grinder.

For the functional requirement, you may want to use Selenium since you are already familiar with it. You do not need 100,000 of these -- just one (or a handful) should suffice.

shareimprove this answer

answered Dec 19 '12 at 16:16

user246
12.5k21546

Thanks for your answer. You are right about Selenium use for functional requirement. I was just thinking to use it for load testing, which would be a little difficult... I will take a look at JMeter and The Grinder and let you know if this is what I was looking for. –  Klaasvaak Dec 19 '12 at 17:00

add a comment

up vote1down vote

use Jmeter and recording with proxy. Set proxy to internet explorer as all app shared that settings. And depend on the chat application, you can create a test case and then run that. For basic idea on jmter, you may see my blog(http://shantonusarker.blogspot.com/p/jmeter.html) or you may mail to me.

Thanks

shareimprove this answer

answered Apr 30 '13 at 19:27

Shantonu
304

add a comment

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-12616383242447697972015-04-03T13:50:00.003-07:002015-04-03T13:50:52.760-07:00Software Testing - Overview
Software Testing - Overview

What is Testing?

Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words, testing is executing a system in order to identify any gaps, errors, or missing requirements in contrary to the actual requirements.

According to ANSI/IEEE 1059 standard, Testing can be defined as - A process of analyzing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.

Who does Testing?

It depends on the process and the associated stakeholders of the project(s). In the IT industry, large companies have a team with responsibilities to evaluate the developed software in context of the given requirements. Moreover, developers also conduct testing which is called Unit Testing. In most cases, the following professionals are involved in testing a system within their respective capacities:

Software Tester

Software Developer

Project Lead/Manager

End User

Different companies have different designations for people who test the software on the basis of their experience and knowledge such as Software Tester, Software Quality Assurance Engineer, QA Analyst, etc.

It is not possible to test the software at any time during its cycle. The next two sections state when testing should be started and when to end it during the SDLC.

When to Start Testing?

An early start to testing reduces the cost and time to rework and produce error-free software that is delivered to the client. However in Software Development Life Cycle (SDLC), testing can be started from the Requirements Gathering phase and continued till the deployment of the software. It also depends on the development model that is being used. For example, in the Waterfall model, formal testing is conducted in the testing phase; but in the incremental model, testing is performed at the end of every increment/iteration and the whole application is tested at the end.

Testing is done in different forms at every phase of SDLC:

During the requirement gathering phase, the analysis and verification of requirements are also considered as testing.

Reviewing the design in the design phase with the intent to improve the design is also considered as testing.

Testing performed by a developer on completion of the code is also categorized as testing.

When to Stop Testing?

It is difficult to determine when to stop testing, as testing is a never-ending process and no one can claim that a software is 100% tested. The following aspects are to be considered for stopping the testing process:

Testing Deadlines

Completion of test case execution

Completion of functional and code coverage to a certain point

Bug rate falls below a certain level and no high-priority bugs are identified

Management decision

Verification & Validation

These two terms are very confusing for most people, who use them interchangeably. The following table highlights the differences between verification and validation.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

S.N.	Verification	Validation

1	Verification addresses the concern: "Are you building it right?"	Validation addresses the concern: "Are you building the right thing?"

2	Ensures that the software system meets all the functionality.	Ensures that the functionalities meet the intended behavior.

3	Verification takes place first and includes the checking for documentation, code, etc.	Validation occurs after verification and mainly involves the checking of the overall product.

4	Done by developers.	Done by testers.

5	It has static activities, as it includes collecting reviews, walkthroughs, and inspections to verify a software.	It has dynamic activities, as it includes executing the software against the requirements.

6	It is an objective process and no subjective decision should be needed to verify a software.	It is a subjective process and involves subjective decisions on how well a software works.

Software Testing - Myths

Given below are some of the most common myths about software testing.

Myth 1 : Testing is Too Expensive

Reality : There is a saying, pay less for testing during software development or pay more for maintenance or correction later. Early testing saves both time and cost in many aspects, however reducing the cost without testing may result in improper design of a software application rendering the product useless.

Myth 2 : Testing is Time-Consuming

Reality : During the SDLC phases, testing is never a time-consuming process. However diagnosing and fixing the errors identified during proper testing is a time-consuming but productive activity.

Myth 3 : Only Fully Developed Products are Tested

Reality : No doubt, testing depends on the source code but reviewing requirements and developing test cases is independent from the developed code. However iterative or incremental approach as a development life cycle model may reduce the dependency of testing on the fully developed software.

Myth 4 : Complete Testing is Possible

Reality : It becomes an issue when a client or tester thinks that complete testing is possible. It is possible that all paths have been tested by the team but occurrence of complete testing is never possible. There might be some scenarios that are never executed by the test team or the client during the software development life cycle and may be executed once the project has been deployed.

Myth 5 : A Tested Software is Bug-Free

Reality : This is a very common myth that the clients, project managers, and the management team believes in. No one can claim with absolute certainty that a software application is 100% bug-free even if a tester with superb testing skills has tested the application.

Myth 6 : Missed Defects are due to Testers

Reality : It is not a correct approach to blame testers for bugs that remain in the application even after testing has been performed. This myth relates to Time, Cost, and Requirements changing Constraints. However the test strategy may also result in bugs being missed by the testing team.

Myth 7 : Testers are Responsible for Quality of Product

Reality : It is a very common misinterpretation that only testers or the testing team should be responsible for product quality. Testers’ responsibilities include the identification of bugs to the stakeholders and then it is their decision whether they will fix the bug or release the software. Releasing the software at the time puts more pressure on the testers, as they will be blamed for any error.

Myth 8 : Test Automation should be used wherever possible to Reduce Time

Reality : Yes, it is true that Test Automation reduces the testing time, but it is not possible to start test automation at any time during software development. Test automaton should be started when the software has been manually tested and is stable to some extent. Moreover, test automation can never be used if requirements keep changing.

Myth 9 : Anyone can Test a Software Application

Reality : People outside the IT industry think and even believe that anyone can test a software and testing is not a creative job. However testers know very well that this is a myth. Thinking alternative scenarios, try to crash a software with the intent to explore potential bugs is not possible for the person who developed it.

Myth 10 : A Tester's only Task is to Find Bugs

Reality : Finding bugs in a software is the task of the testers, but at the same time, they are domain experts of the particular software. Developers are only responsible for the specific component or area that is assigned to them but testers understand the overall workings of the software, what the dependencies are, and the impacts of one module on another module.

Software Testing - QA, QC & Testing

Testing, Quality Assurance, and Quality Control

Most people get confused when it comes to pin down the differences among Quality Assurance, Quality Control, and Testing. Although they are interrelated and to some extent, they can be considered as same activities, but there exist distinguishing points that set them apart. The following table lists the points that differentiate QA, QC, and Testing.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Quality Assurance	Quality Control	Testing

QA includes activities that ensure the implementation of processes, procedures and standards in context to verification of developed software and intended requirements.	It includes activities that ensure the verification of a developed software with respect to documented (or not in some cases) requirements.	It includes activities that ensure the identification of bugs/error/defects in a software.

Focuses on processes and procedures rather than conducting actual testing on the system.	Focuses on actual testing by executing the software with an aim to identify bug/defect through implementation of procedures and process.	Focuses on actual testing.

Process-oriented activities.	Product-oriented activities.	Product-oriented activities.

Preventive activities.	It is a corrective process.	It is a preventive process.

It is a subset of Software Test Life Cycle (STLC).	QC can be considered as the subset of Quality Assurance.	Testing is the subset of Quality Control.

Audit and Inspection

Audit : It is a systematic process to determine how the actual testing process is conducted within an organization or a team. Generally, it is an independent examination of processes involved during the testing of a software. As per IEEE, it is a review of documented processes that organizations implement and follow. Types of audit include Legal Compliance Audit, Internal Audit, and System Audit.

Inspection : It is a formal technique that involves formal or informal technical reviews of any artifact by identifying any error or gap. As per IEEE94, inspection is a formal evaluation technique in which software requirements, designs, or codes are examined in detail by a person or a group other than the author to detect faults, violations of development standards, and other problems.

Formal inspection meetings may include the following processes: Planning, Overview Preparation, Inspection Meeting, Rework, and Follow-up.

Testing and Debugging

Testing : It involves identifying bug/error/defect in a software without correcting it. Normally professionals with a quality assurance background are involved in bugs identification. Testing is performed in the testing phase.

Debugging : It involves identifying, isolating, and fixing the problems/bugs. Developers who code the software conduct debugging upon encountering an error in the code. Debugging is a part of White Box Testing or Unit Testing. Debugging can be performed in the development phase while conducting Unit Testing or in phases while fixing the reported bugs.

Software Testing - ISO Standards

Many organizations around the globe develop and implement different standards to improve the quality needs of their software. This chapter briefly describes some of the widely used standards related to Quality Assurance and Testing.

ISO/IEC 9126

This standard deals with the following aspects to determine the quality of a software application:

Quality model

External metrics

Internal metrics

Quality in use metrics

This standard presents some set of quality attributes for any software such as:

Functionality

Reliability

Usability

Efficiency

Maintainability

Portability

The above-mentioned quality attributes are further divided into sub-factors, which you can study when you study the standard in detail.

ISO/IEC 9241-11

Part 11 of this standard deals with the extent to which a product can be used by specified users to achieve specified goals with Effectiveness, Efficiency and Satisfaction in a specified context of use.

This standard proposed a framework that describes the usability components and the relationship between them. In this standard, the usability is considered in terms of user performance and satisfaction. According to ISO 9241-11, usability depends on context of use and the level of usability will change as the context changes.

ISO/IEC 25000:2005

ISO/IEC 25000:2005 is commonly known as the standard that provides the guidelines for Software Quality Requirements and Evaluation (SQuaRE). This standard helps in organizing and enhancing the process related to software quality requirements and their evaluations. In reality, ISO-25000 replaces the two old ISO standards, i.e. ISO-9126 and ISO-14598.

SQuaRE is divided into sub-parts such as:

ISO 2500n - Quality Management Division

ISO 2501n - Quality Model Division

ISO 2502n - Quality Measurement Division

ISO 2503n - Quality Requirements Division

ISO 2504n - Quality Evaluation Division

The main contents of SQuaRE are:

Terms and definitions

Reference Models

General guide

Individual division guides

Standard related to Requirement Engineering (i.e. specification, planning, measurement and evaluation process)

ISO/IEC 12119

This standard deals with software packages delivered to the client. It does not focus or deal with the clients’ production process. The main contents are related to the following items:

Set of requirements for software packages.

Instructions for testing a delivered software package against the specified requirements.

Miscellaneous

Some of the other standards related to QA and Testing processes are mentioned below:
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Standard	Description

IEEE 829	A standard for the format of documents used in different stages of software testing.

IEEE 1061	A methodology for establishing quality requirements, identifying, implementing, analyzing, and validating the process, and product of software quality metrics.

IEEE 1059	Guide for Software Verification and Validation Plans.

IEEE 1008	A standard for unit testing.

IEEE 1012	A standard for Software Verification and Validation.

IEEE 1028	A standard for software inspections.

IEEE 1044	A standard for the classification of software anomalies.

IEEE 1044-1	A guide for the classification of software anomalies.

IEEE 830	A guide for developing system requirements specifications.

IEEE 730	A standard for software quality assurance plans.

IEEE 1061	A standard for software quality metrics and methodology.

IEEE 12207	A standard for software life cycle processes and life cycle data.

BS 7925-1	A vocabulary of terms used in software testing.

BS 7925-2	A standard for software component testing.

Software Testing - Types of Testing

This section describes the different types of testing that may be used to test a software during SDLC.

Manual Testing

Manual testing includes testing a software manually, i.e., without using any automated tool or any script. In this type, the tester takes over the role of an end-user and tests the software to identify any unexpected behavior or bug. There are different stages for manual testing such as unit testing, integration testing, system testing, and user acceptance testing.

Testers use test plans, test cases, or test scenarios to test a software to ensure the completeness of testing. Manual testing also includes exploratory testing, as testers explore the software to identify errors in it.

Automation Testing

Automation testing, which is also known as Test Automation, is when the tester writes scripts and uses another software to test the product. This process involves automation of a manual process. Automation Testing is used to re-run the test scenarios that were performed manually, quickly, and repeatedly.
<img alt="Automation Testing" src="http://www.tutorialspoint.com/software_testing/images/automation_testing.jpg" style="-webkit-text-stroke-width: 0px; box-sizing: border-box; color: #313131; display: block; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-left: auto; margin-right: auto; max-width: 100%; orphans: auto; padding-bottom: 4px; text-align: start; text-indent: 0px; text-transform: none; vertical-align: middle; white-space: normal; widows: 1; word-spacing: 0px;" />
Apart from regression testing, automation testing is also used to test the application from load, performance, and stress point of view. It increases the test coverage, improves accuracy, and saves time and money in comparison to manual testing.

What is Automate?

It is not possible to automate everything in a software. The areas at which a user can make transactions such as the login form or registration forms, any area where large number of users can access the software simultaneously should be automated.

Furthermore, all GUI items, connections with databases, field validations, etc. can be efficiently tested by automating the manual process.

When to Automate?

Test Automation should be used by considering the following aspects of a software:

Large and critical projects

Projects that require testing the same areas frequently

Requirements not changing frequently

Accessing the application for load and performance with many virtual users

Stable software with respect to manual testing

Availability of time

How to Automate?

Automation is done by using a supportive computer language like VB scripting and an automated software application. There are many tools available that can be used to write automation scripts. Before mentioning the tools, let us identify the process that can be used to automate the testing process:

Identifying areas within a software for automation

Selection of appropriate tool for test automation

Writing test scripts

Development of test suits

Execution of scripts

Create result reports

Identify any potential bug or performance issues

Software Testing Tools

The following tools can be used for automation testing:

HP Quick Test Professional

Selenium

IBM Rational Functional Tester

SilkTest

TestComplete

Testing Anywhere

WinRunner

LaodRunner

Visual Studio Test Professional

WATIR

Software Testing - Methods

There are different methods that can be used for software testing. This chapter briefly describes the methods available.

Black-Box Testing

The technique of testing without having any knowledge of the interior workings of the application is called black-box testing. The tester is oblivious to the system architecture and does not have access to the source code. Typically, while performing a black-box test, a tester will interact with the system's user interface by providing inputs and examining outputs without knowing how and where the inputs are worked upon.

The following table lists the advantages and disadvantages of black-box testing.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Advantages	Disadvantages

Well suited and efficient for large code segments.

Code access is not required.

Clearly separates user's perspective from the developer's perspective through visibly defined roles.

Large numbers of moderately skilled testers can test the application with no knowledge of implementation, programming language, or operating systems.

Limited coverage, since only a selected number of test scenarios is actually performed.

Inefficient testing, due to the fact that the tester only has limited knowledge about an application.

Blind coverage, since the tester cannot target specific code segments or error-prone areas.

The test cases are difficult to design.

White-Box Testing

White-box testing is the detailed investigation of internal logic and structure of the code. White-box testing is also called glass testing or open-box testing. In order to performwhite-box testing on an application, a tester needs to know the internal workings of the code.

The tester needs to have a look inside the source code and find out which unit/chunk of the code is behaving inappropriately.

The following table lists the advantages and disadvantages of white-box testing.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Advantages	Disadvantages

As the tester has knowledge of the source code, it becomes very easy to find out which type of data can help in testing the application effectively.

It helps in optimizing the code.

Extra lines of code can be removed which can bring in hidden defects.

Due to the tester's knowledge about the code, maximum coverage is attained during test scenario writing.

Due to the fact that a skilled tester is needed to perform white-box testing, the costs are increased.

Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems, as many paths will go untested.

It is difficult to maintain white-box testing, as it requires specialized tools like code analyzers and debugging tools.

Grey-Box Testing

Grey-box testing is a technique to test the application with having a limited knowledge of the internal workings of an application. In software testing, the phrase the more you know, the better carries a lot of weight while testing an application.

Mastering the domain of a system always gives the tester an edge over someone with limited domain knowledge. Unlike black-box testing, where the tester only tests the application's user interface; in grey-box testing, the tester has access to design documents and the database. Having this knowledge, a tester can prepare better test data and test scenarios while making a test plan.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Advantages	Disadvantages

Offers combined benefits of black-box and white-box testing wherever possible.

Grey box testers don't rely on the source code; instead they rely on interface definition and functional specifications.

Based on the limited information available, a grey-box tester can design excellent test scenarios especially around communication protocols and data type handling.

The test is done from the point of view of the user and not the designer.

Since the access to source code is not available, the ability to go over the code and test coverage is limited.

The tests can be redundant if the software designer has already run a test case.

Testing every possible input stream is unrealistic because it would take an unreasonable amount of time; therefore, many program paths will go untested.

A Comparison of Testing Methods

The following table lists the points that differentiate black-box testing, grey-box testing, and white-box testing.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Black-Box Testing	Grey-Box Testing	White-Box Testing

The internal workings of an application need not be known.	The tester has limited knowledge of the internal workings of the application.	Tester has full knowledge of the internal workings of the application.

Also known as closed-box testing, data-driven testing, or functional testing.	Also known as translucent testing, as the tester has limited knowledge of the insides of the application.	Also known as clear-box testing, structural testing, or code-based testing.

Performed by end-users and also by testers and developers.	Performed by end-users and also by testers and developers.	Normally done by testers and developers.

Testing is based on external expectations - Internal behavior of the application is unknown.	Testing is done on the basis of high-level database diagrams and data flow diagrams.	Internal workings are fully known and the tester can design test data accordingly.

It is exhaustive and the least time-consuming.	Partly time-consuming and exhaustive.	The most exhaustive and time-consuming type of testing.

Not suited for algorithm testing.	Not suited for algorithm testing.	Suited for algorithm testing.

This can only be done by trial-and-error method.	Data domains and internal boundaries can be tested, if known.	Data domains and internal boundaries can be better tested.

Software Testing - Levels

There are different levels during the process of testing. In this chapter, a brief description is provided about these levels.

Levels of testing include different methodologies that can be used while conducting software testing. The main levels of software testing are:

Functional Testing

Non-functional Testing

Functional Testing

This is a type of black-box testing that is based on the specifications of the software that is to be tested. The application is tested by providing input and then the results are examined that need to conform to the functionality it was intended for. Functional testing of a software is conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements.

There are five steps that are involved while testing an application for functionality.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

Steps	Description

I	The determination of the functionality that the intended application is meant to perform.

II	The creation of test data based on the specifications of the application.

III	The output based on the test data and the specifications of the application.

IV	The writing of test scenarios and the execution of test cases.

V	The comparison of actual and expected results based on the executed test cases.

An effective testing practice will see the above steps applied to the testing policies of every organization and hence it will make sure that the organization maintains the strictest of standards when it comes to software quality.

Unit Testing

This type of testing is performed by developers before the setup is handed over to the testing team to formally execute the test cases. Unit testing is performed by the respective developers on the individual units of source code assigned areas. The developers use test data that is different from the test data of the quality assurance team.

The goal of unit testing is to isolate each part of the program and show that individual parts are correct in terms of requirements and functionality.
<h3 style="-webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box; color: black; font-family: 'Open Sans', Arial, sans-serif; font-size: 1.3em; font-style: normal; font-variant: normal; font-weight: normal; left: 0px; letter-spacing: normal; line-height: 1.5em; margin: 0.2em 0.2em 0.2em 0px; orphans: auto; padding: 0px; position: relative; text-align: start; text-indent: 0px; text-shadow: rgb(204, 204, 204) 1px 1px 2px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">Limitations of Unit Testing

Testing cannot catch each and every bug in an application. It is impossible to evaluate every execution path in every software application. The same is the case with unit testing.

There is a limit to the number of scenarios and test data that a developer can use to verify a source code. After having exhausted all the options, there is no choice but to stop unit testing and merge the code segment with other units.

Integration Testing

Integration testing is defined as the testing of combined parts of an application to determine if they function correctly. Integration testing can be done in two ways: Bottom-up integration testing and Top-down integration testing.
<table class="table table-bordered" style="-webkit-text-stroke-width: 0px; background-color: transparent; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(221, 221, 221); box-sizing: border-box; color: #313131; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-bottom: 20px; max-width: 100%; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 1; width: 604px; word-spacing: 0px;">

S.N.	Integration Testing Method

1
Bottom-up integration

This testing begins with unit testing, followed by tests of progressively higher-level combinations of units called modules or builds.

2
Top-down integration

In this testing, the highest-level modules are tested first and progressively, lower-level modules are tested thereafter.

In a comprehensive software development environment, bottom-up testing is usually done first, followed by top-down testing. The process concludes with multiple tests of the complete application, preferably in scenarios designed to mimic actual situations.

System Testing

System testing tests the system as a whole. Once all the components are integrated, the application as a whole is tested rigorously to see that it meets the specified Quality Standards. This type of testing is performed by a specialized testing team.

System testing is important because of the following reasons:

System testing is the first step in the Software Development Life Cycle, where the application is tested as a whole.

The application is tested thoroughly to verify that it meets the functional and technical specifications.

The application is tested in an environment that is very close to the production environment where the application will be deployed.

System testing enables us to test, verify, and validate both the business requirements as well as the application architecture.

Regression Testing

Whenever a change in a software application is made, it is quite possible that other areas within the application have been affected by this change. Regression testing is performed to verify that a fixed bug hasn't resulted in another functionality or business rule violation. The intent of regression testing is to ensure that a change, such as a bug fix should not result in another fault being uncovered in the application.

Regression testing is important because of the following reasons:

Minimize the gaps in testing when an application with changes made has to be tested.

Testing the new changes to verify that the changes made did not affect any other area of the application.

Mitigates risks when regression testing is performed on the application.

Test coverage is increased without compromising timelines.

Increase speed to market the product.

Acceptance Testing

This is arguably the most important type of testing, as it is conducted by the Quality Assurance Team who will gauge whether the application meets the intended specifications and satisfies the client’s requirement. The QA team will have a set of pre-written scenarios and test cases that will be used to test the application.

More ideas will be shared about the application and more tests can be performed on it to gauge its accuracy and the reasons why the project was initiated. Acceptance tests are not only intended to point out simple spelling mistakes, cosmetic errors, or interface gaps, but also to point out any bugs in the application that will result in system crashes or major errors in the application.

By performing acceptance tests on an application, the testing team will deduce how the application will perform in production. There are also legal and contractual requirements for acceptance of the system.

Alpha Testing

This test is the first stage of testing and will be performed amongst the teams (developer and QA teams). Unit testing, integration testing and system testing when combined together is known as alpha testing. During this phase, the following aspects will be tested in the application:

Spelling Mistakes

Broken Links

Cloudy Directions

The Application will be tested on machines with the lowest specification to test loading times and any latency problems.

Beta Testing

This test is performed after alpha testing has been successfully performed. In beta testing, a sample of the intended audience tests the application. Beta testing is also known as pre-release testing. Beta test versions of software are ideally distributed to a wide audience on the Web, partly to give the program a "real-world" test and partly to provide a preview of the next release. In this phase, the audience will be testing the following:

Users will install, run the application and send their feedback to the project team.

Typographical errors, confusing application flow, and even crashes.

Getting the feedback, the project team can fix the problems before releasing the software to the actual users.

The more issues you fix that solve real user problems, the higher the quality of your application will be.

Having a higher-quality application when you release it to the general public will increase customer satisfaction.

Non-Functional Testing

This section is based upon testing an application from its non-functional attributes. Non-functional testing involves testing a software from the requirements which are nonfunctional in nature but important such as performance, security, user interface, etc.

Some of the important and commonly used non-functional testing types are discussed below.
<h3 style="-webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box; color: black; font-family: 'Open Sans', Arial, sans-serif; font-size: 1.3em; font-style: normal; font-variant: normal; font-weight: normal; left: 0px; letter-spacing: normal; line-height: 1.5em; margin: 0.2em 0.2em 0.2em 0px; orphans: auto; padding: 0px; position: relative; text-align: start; text-indent: 0px; text-shadow: rgb(204, 204, 204) 1px 1px 2px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">Performance Testing

It is mostly used to identify any bottlenecks or performance issues rather than finding bugs in a software. There are different causes that contribute in lowering the performance of a software:

Network delay

Client-side processing

Database transaction processing

Load balancing between servers

Data rendering

Performance testing is considered as one of the important and mandatory testing type in terms of the following aspects:

Speed (i.e. Response Time, data rendering and accessing)

Capacity

Stability

Scalability

Performance testing can be either qualitative or quantitative and can be divided into different sub-types such as Load testing and Stress testing.
<h3 style="-webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box; color: black; font-family: 'Open Sans', Arial, sans-serif; font-size: 1.3em; font-style: normal; font-variant: normal; font-weight: normal; left: 0px; letter-spacing: normal; line-height: 1.5em; margin: 0.2em 0.2em 0.2em 0px; orphans: auto; padding: 0px; position: relative; text-align: start; text-indent: 0px; text-shadow: rgb(204, 204, 204) 1px 1px 2px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">Load Testing

It is a process of testing the behavior of a software by applying maximum load in terms of software accessing and manipulating large input data. It can be done at both normal and peak load conditions. This type of testing identifies the maximum capacity of software and its behavior at peak time.

Most of the time, load testing is performed with the help of automated tools such as Load Runner, AppLoader, IBM Rational Performance Tester, Apache JMeter, Silk Performer, Visual Studio Load Test, etc.

Virtual users (VUsers) are defined in the automated testing tool and the script is executed to verify the load testing for the software. The number of users can be increased or decreased concurrently or incrementally based upon the requirements.
<h3 style="-webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box; color: black; font-family: 'Open Sans', Arial, sans-serif; font-size: 1.3em; font-style: normal; font-variant: normal; font-weight: normal; left: 0px; letter-spacing: normal; line-height: 1.5em; margin: 0.2em 0.2em 0.2em 0px; orphans: auto; padding: 0px; position: relative; text-align: start; text-indent: 0px; text-shadow: rgb(204, 204, 204) 1px 1px 2px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">Stress Testing

Stress testing includes testing the behavior of a software under abnormal conditions. For example, it may include taking away some resources or applying a load beyond the actual load limit.

The aim of stress testing is to test the software by applying the load to the system and taking over the resources used by the software to identify the breaking point. This testing can be performed by testing different scenarios such as:

Shutdown or restart of network ports randomly

Turning the database on or off

Running different processes that consume resources such as CPU, memory, server, etc.

Usability Testing

Usability testing is a black-box technique and is used to identify any error(s) and improvements in the software by observing the users through their usage and operation.

According to Nielsen, usability can be defined in terms of five factors, i.e. efficiency of use, learn-ability, memory-ability, errors/safety, and satisfaction. According to him, the usability of a product will be good and the system is usable if it possesses the above factors.

Nigel Bevan and Macleod considered that usability is the quality requirement that can be measured as the outcome of interactions with a computer system. This requirement can be fulfilled and the end-user will be satisfied if the intended goals are achieved effectively with the use of proper resources.

Molich in 2000 stated that a user-friendly system should fulfill the following five goals, i.e., easy to Learn, easy to remember, efficient to use, satisfactory to use, and easy to understand.

In addition to the different definitions of usability, there are some standards and quality models and methods that define usability in the form of attributes and sub-attributes such as ISO-9126, ISO-9241-11, ISO-13407, and IEEE std.610.12, etc.
<h3 style="-webkit-text-stroke-width: 0px; border: 0px; box-sizing: border-box; color: black; font-family: 'Open Sans', Arial, sans-serif; font-size: 1.3em; font-style: normal; font-variant: normal; font-weight: normal; left: 0px; letter-spacing: normal; line-height: 1.5em; margin: 0.2em 0.2em 0.2em 0px; orphans: auto; padding: 0px; position: relative; text-align: start; text-indent: 0px; text-shadow: rgb(204, 204, 204) 1px 1px 2px; text-transform: none; white-space: normal; widows: 1; word-spacing: 0px;">UI vs Usability Testing

UI testing involves testing the Graphical User Interface of the Software. UI testing ensures that the GUI functions according to the requirements and tested in terms of color, alignment, size, and other properties.

On the other hand, usability testing ensures a good and user-friendly GUI that can be easily handled. UI testing can be considered as a sub-part of usability testing.

Security Testing

Security testing involves testing a software in order to identify any flaws and gaps from security and vulnerability point of view. Listed below are the main aspects that security testing should ensure:

Confidentiality

Integrity

Authentication

Availability

Authorization

Non-repudiation

Software is secure against known and unknown vulnerabilities

Software data is secure

Software is according to all security regulations

Input checking and validation

SQL insertion attacks

Injection flaws

Session management issues

Cross-site scripting attacks

Buffer overflows vulnerabilities

Directory traversal attacks

Portability Testing

Portability testing includes testing a software with the aim to ensure its reusability and that it can be moved from another software as well. Following are the strategies that can be used for portability testing:

Transferring an installed software from one computer to another.

Building executable (.exe) to run the software on different platforms.

Portability testing can be considered as one of the sub-parts of system testing, as this testing type includes overall testing of a software with respect to its usage over different environments. Computer hardware, operating systems, and browsers are the major focus of portability testing. Some of the pre-conditions for portability testing are as follows:

Software should be designed and coded, keeping in mind the portability requirements.

Unit testing has been performed on the associated components.

Integration testing has been performed.

Test environment has been established.

Software Testing - Documentation

Testing documentation involves the documentation of artifacts that should be developed before or during the testing of Software.

Documentation for software testing helps in estimating the testing effort required, test coverage, requirement tracking/tracing, etc. This section describes some of the commonly used documented artifacts related to software testing such as:

Test Plan

Test Scenario

Test Case

Traceability Matrix

Test Plan

A test plan outlines the strategy that will be used to test an application, the resources that will be used, the test environment in which testing will be performed, and the limitations of the testing and the schedule of testing activities. Typically the Quality Assurance Team Lead will be responsible for writing a Test Plan.

A test plan includes the following:

Introduction to the Test Plan document

Assumptions while testing the application

List of test cases included in testing the application

List of features to be tested

What sort of approach to use while testing the software

List of deliverables that need to be tested

The resources allocated for testing the application

Any risks involved during the testing process

A schedule of tasks and milestones to be achieved

Test Scenario

It is a one line statement that notifies what area in the application will be tested. Test scenarios are used to ensure that all process flows are tested from end to end. A particular area of an application can have as little as one test scenario to a few hundred scenarios depending on the magnitude and complexity of the application.

The terms 'test scenario' and 'test cases' are used interchangeably, however a test scenario has several steps, whereas a test case has a single step. Viewed from this perspective, test scenarios are test cases, but they include several test cases and the sequence that they should be executed. Apart from this, each test is dependent on the output from the previous test.
<img alt="Test Scenario" src="http://www.tutorialspoint.com/software_testing/images/test_scenario.jpg" style="-webkit-text-stroke-width: 0px; box-sizing: border-box; color: #313131; display: block; font-family: 'Open Sans', Arial, sans-serif; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 22px; margin-left: auto; margin-right: auto; max-width: 100%; orphans: auto; padding-bottom: 4px; text-align: start; text-indent: 0px; text-transform: none; vertical-align: middle; white-space: normal; widows: 1; word-spacing: 0px;" />
Test Case

Test cases involve a set of steps, conditions, and inputs that can be used while performing testing tasks. The main intent of this activity is to ensure whether a software passes or fails in terms of its functionality and other aspects. There are many types of test cases such as functional, negative, error, logical test cases, physical test cases, UI test cases, etc.

Furthermore, test cases are written to keep track of the testing coverage of a software. Generally, there are no formal templates that can be used during test case writing. However, the following components are always available and included in every test case:

Test case ID

Product module

Product version

Revision history

Purpose

Assumptions

Pre-conditions

Steps

Expected outcome

Actual outcome

Post-conditions

Many test cases can be derived from a single test scenario. In addition, sometimes multiple test cases are written for a single software which are collectively known as test suites.

Traceability Matrix

Traceability Matrix (also known as Requirement Traceability Matrix - RTM) is a table that is used to trace the requirements during the Software Development Life Cycle. It can be used for forward tracing (i.e. from Requirements to Design or Coding) or backward (i.e. from Coding to Requirements). There are many user-defined templates for RTM.

Each requirement in the RTM document is linked with its associated test case so that testing can be done as per the mentioned requirements. Furthermore, Bug ID is also included and linked with its associated requirements and test case. The main goals for this matrix are:

Make sure the software is developed as per the mentioned requirements.

Helps in finding the root cause of any bug.

Helps in tracing the developed documents during different phases of SDLC.

Software Testing - Estimation Techniques

Estimating the efforts required for testing is one of the major and important tasks in SDLC. Correct estimation helps in testing the software with maximum coverage. This section describes some of the techniques that can be useful in estimating the efforts required for testing.

Functional Point Analysis

This method is based on the analysis of functional user requirements of the software with the following categories:

Outputs

Inquiries

Inputs

Internal files

External files

Test Point Analysis

This estimation process is used for function point analysis for black-box or acceptance testing. The main elements of this method are: Size, Productivity, Strategy, Interfacing, Complexity, and Uniformity.

Mark-II Method

It is an estimation method used for analyzing and measuring the estimation based on end-user’s functional view. The procedure for Mark-II method is as follows:

Determine the viewpoint

Purpose and type of count

Define the boundary of count

Identify the logical transactions

Identify and categorize data entity types

Count the input data element types

Count the functional size

Miscellaneous

You can use other popular estimation techniques such as:

Delphi Technique

Analogy Based Estimation

Test Case Enumeration Based Estimation

Task (Activity) based Estimation

IFPUG method

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-79079736997174594572015-01-27T18:26:00.000-08:002015-01-27T18:26:04.942-08:00How to kickstart a freelance software testing project
How to kickstart a freelance software testing project

<iframe allowtransparency="true" class="twitter-share-button twitter-tweet-button twitter-share-button twitter-count-horizontal" data-twttr-rendered="true" frameborder="0" id="twitter-widget-0" scrolling="no" src="http://platform.twitter.com/widgets/tweet_button.b68aed79dd9ad79554bcd8c9141c94c8.en.html#_=1422410871660&count=horizontal&dnt=false&id=twitter-widget-0&lang=en&original_referer=http%3A%2F%2Fmavericktester.com%2Farchive%2Fhow-to-kickstart-a-freelance-software-testing-project%2F&related=Anne-Marie%20Charrett%3ASoftware%20Tester%20&size=m&text=How%20to%20kickstart%20a%20freelance%20software%20testing%20project&url=http%3A%2F%2Fmavericktester.com%2Farchive%2Fhow-to-kickstart-a-freelance-software-testing-project%2F&via=charrett" style="border-width: 0px; box-sizing: border-box; font-family: inherit; font-style: inherit; font-weight: inherit; height: 20px; margin: 0px; max-width: 100%; outline: 0px; padding: 0px; vertical-align: baseline; width: 107px;" title="Twitter Tweet Button">

Starting a freelance software testing project is similar in many ways to any other project. It requires rigorous planning, well thought out tests, and excellent communication. As a freelancer however, you may feel more responsible in making sure that your client is happy with your work. This way, you have a better chance of getting more work from them.

Think first then ask

Before you start anything, you want to clarify with your client as much as possible. This means you can provide them the biggest return for their money.

Clarify:

Why did they hire you?
What do they expect to get out of this piece of work? A report to take to customers?, confidence their application? Information about their application?

Your test approach
Provide guidance here. Give a basic approach on how you intend to test the application. Then get some feedback on it.

Application
Get as much information on the application they want you to test.

test environment
Ask who will be responsible for the test environment (They may be expecting you to own it). If the client is to maintain the environment, what access will be provided to you?

the test scope
Never assume the type of testing your client wants. Spell out what you intend to test. A spreadsheet is good for this. Briefly list the areas you think require testing and send this to your client.

Test Tools
Ask your client if they use any test tools? If not suggest the ones you are most comfortable with.

reporting
Give the client some idea of how and what you will be reporting. Is a weekly email sufficient or do they want daily communication. This will have an impact on the cost of the work involved.

schedule
Do they have a schedule or time frame in mind when this testing has to be completed? If the time frame is fixed, this may be the deciding factor in how much testing you can do

budget
Talk to the customer about money. Be upfront about payment conditions, when you expect to be paid and how.

I like to base my quote following most of this information exchange. Its an upfront cost I wear as I like to provide accurate quotes to my client that are tailored to meet their needs and provide greatest benefit to them.

Your quote can be fixed price or time and materials. Fixed price is great when the effort is quantifiable. Otherwise you can go for time and materials. This can be an hourly or daily rate. Deciding on your rate is tricky and will require you to do some investigating. If you have a friendly recruitment agent, they may be able to provide you with some pointers.

If you really have no idea how much be upfront with your client and ask them what their budget is and then work out what you can provide for that.

Once you have agreed on the scope of work, the schedule, the cost put it in writing. Include risks and assumptions such as;

Assumptions

You will receive the application on time

You will be paid thirty days after completion

Completion of the project is delivery of a final report

No retesting is involved in the cost

Risks

What happens if the project is abandoned, will you be paid for the work you do?

If the testing takes longer than you expected, how will this be managed?

What happens if requirements change halfway through testing?

Be prepared….

Make sure you have everything you need to test. If you are testing remotely, do you have suitable bandwidth, hardware, software to support the testing required. Do this as early as possible, as it may take time to setup the test environment.

Have a process for backing up your testing nightly. Be meticulous about this.

I think its unfair to ask a customer to pay for you to ‘learn as you go’. So, know the basics of software testing. Have templates ready for all stages of your testing, this will also help with your branding.

Now all thats required is to start your test approach.

Above all;

keep communicating with your client,

be upfront on any issues that arise

Be knowledgeable and provide guidance

Don’t forget to ask the customer their opinion.

Good luck on your project

This blog is the result of an email requesting advice on starting a freelance software test job.

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-26317103552445858932014-05-05T21:43:00.003-07:002014-05-05T21:43:58.890-07:00Building Responsive Websites Using Twitter BootStrap
Building Responsive Websites Using Twitter BootStrap

  Tweet   Subscribe

 Before we start, there are a few things that you should know. This is a sequel to my previous article, Twitter Bootstrap Tutorial – Handling Complex Designs, which showcased many basics about building websites using Twitter Bootstrap from scratch. I highly recommend you read the previous article before jumping into the responsive nature of Twitter BootStrap. I am very thankful to our readers who praised my previous article and encouraged me to write the sequel to it. I hope you take away some useful knowledge from this article, too!
 While the Release Candidate 1 of Twitter Bootstrap 3 is already out, we will be using version 2.3.2, which was their last most stable framework version. You can download the required files from their official GitHub page.

What do you mean by the “Responsiveness” of a website?
The first thing that comes to our mind when we use the word “Responsive” in the context of websites is that it should be compatible with all kinds and sizes of devices. There is a constant demand in the industry to make every website responsive for better readability of the online contents in different environments.
 With the help of CSS3 and definitely HTML5, this trend is increasing every day. But what if you are a developer and not a designer? BONK!
 Well, you don’t have to worry any more. Since, I have already stated in my previous article that Twitter Bootstrap is a superhero in the field of CSS Frameworks. This is definitely true when it comes to building responsive websites.

Setting up
To enable the responsive nature of Twitter Bootstrap, there are a few extra things you should follow, apart from what we did in our previous article. To set the responsive environment, you have to place the correct meta tag inside the head of the webpage.

1

<meta name="viewport" content="width=device-width, initial-scale=1.0">

The above meta tag is quite self-explanatory in nature. We are setting the width of the page to the width of the device and initially scaling it to 1, i.e. default size.
 Then we have to also use the correct CSS file from the BootStrap CSS files. Last time we had used only css/bootstrap.css but this time we will be using css/bootstrap-responsive.css also. So we are adding an extra responsive stylesheet to our webpage.

1

2

<link rel="stylesheet" href="css/bootstrap.css">

<link rel="stylesheet" href="css/bootstrap-responsive.css">

Now we’re all set to start building our first responsive website using Twitter Bootstrap. Before we proceed, have a look at our demo page. Make sure you resize the browser window to see how your demo page is responding to various sizes of the browser. Awesome, isn’t it?

Let’s Begin
I have divided the above responsive webpage into different categories and we will see how to build each one of them in detail.

The Responsive Navigation

Marketing Area

Contents Section

Right side bar

Footer

The above sections look pretty much the same as the ones we used in the previous non-responsive website. There are, in fact, minute but important changes in the markup to make it responsive. You will have to understand and use them very carefully.

The Responsive Navigation
Now, we’re going to build the navigation bar of the website. It will contain the website’s title and some right aligned menu link items. This is going to be fixed to the top of the website as you have seen in the demo page. So here’s the markup for this:

1

2

<div class="navbar navbar-fixed-top">

</div>

navbar class, already known to us, is for showing the navigation section. An additional navbar-fixed-top makes it stick to the top of the webpage. Pretty clear!
 Let’s move ahead and insert some more codes into it:

1

2

3

4

5

6

<div class="navbar navbar-fixed-top">

 <div class="navbar-inner">

 <div class="container">

 </div>

 </div>

</div>

navbar-inner helps make BootStrap understand that you are going to place some stuff inside the navigation. container, as we have seen, is used to contain everything inside it as a wrapper.
 Till now whatever we have added is just the basic structure of our navigation bar. Let’s see the real magical stuff that makes the navigation responsive.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<div class="navbar navbar-fixed-top">

 <div class="navbar-inner">

 <div class="container">

 <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">

 <span class="icon-th-list"></span></a>

 <a href="#" class="brand">responsiveSite</a>

 <div class="nav-collapse collapse">

 <ul class="nav pull-right">

 <li class="active"><a href="#">Home</a></li>

 <li><a href="#">About Us</a></li>

 <li><a href="#">Contact Us</a></li>

 </ul>

 </div>

 </div>

 </div>

</div>

The branding and menu items are self-explanatory. It should be clear that adding the class brand gives the title a clean look and is used for the website’s name. The nav items are wrapped inside an additional div with the classes nav-collapse collapse which are used to make the menu appear like a stack when viewing in smaller browsers.
 Just above the branding, you might be seeing an additional link with classes btn btn-navbar that wraps a span icon-th-list. This link is visible only on the smaller screens with a list icon. Also see we have used data-toggle=collapse that BootStrap uses to hide/unhide the menu items in smaller windows. data-target is used to identify which menus to hide/unhide.

Marketing Area
The marketing area is built in exactly the same as in non-responsive webpages. We will create a div with hero-unit class. Then place a container wrapper inside it and then add h1, p and link with btn btn-primary classes. The code should look like below:

1

2

3

4

5

6

7

<div class="hero-unit">

 <div class="container">

 <h1>Learn Geometry</h1>

 <p class="lead">Oat cake chocolate cake sugar plum sesame snaps. Bonbon danish oat cake chupa chups tart muffin tootsie roll sweet roll sweet roll.</p>

 <p><a href="#" class="btn btn-success btn-large">Get Started</a></p>

 </div>

</div>

Adding a class lead to the paragraph elements will make them stand out as compared to other p elements. Also make sure the hero-unit div is completely outside the navigation div.

Content Section
We had understood the concept of row classed elements in the non-responsive webpages. Here we will use a similar but slightly modified version of the row elements. This time we will use row-fluid inside of row class. This will enable the row of elements to fit to the webpage and flow down as and when needed. So the initial markup goes like this:

1

2

3

4

5

<div class="container">

 <div class="row-fluid">

 //some code here

 </div>

</div>

Now that we have our structure ready, let’s move and fill in some content. Before that we have to divide the whole area into two sections, one for the content and other for the right sidebar. To do that we will use classes like span* to divide the area.
 We will use span8 and span4 for the content area and right sidebar. As stated in the previous article, Twitter Bootstrap is a 12-grid system. The sum of the amount of spans must total to 12. You can make as many divisions as you wish but the sum must total to 12. For example: span4, span4 and span4 (three columns) or span3, span7 and span2 (three unequal columns), etc.
 So the final structure of our content area goes like this:

1

2

3

4

5

6

7

8

<div class="container">

 <div class="row-fluid">

 <div class="span8">

 </div>

 <div class="span4">

 </div>

 </div>

</div>

Here, span8 will be our content area and span4 will be our right sidebar. In the span8, we will add some random texts using p tags.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<p>Tart tiramisu ice cream cotton candy pudding. Sweet

topping chocolate bar tootsie roll cotton candy brownie oat

cake gummi bears. Danish cookie pudding powder. Pastry cotton

candy tart topping. Dessert sesame snaps oat cake bear claw

toffee jelly.</p>

<p class="lead">Marshmallow soufflé wypas.</p>

<p>Apple pie applicake sweet roll marzipan. Marzipan bear claw

pudding jujubes sweet. Halvah sweet roll tiramisu liquorice

candy canes halvah. Oat cake chocolate cake sugar plum sesame

snaps. Bonbon danish oat cake chupa chups tart muffin tootsie

roll sweet roll sweet roll. Sweet tootsie roll dragée cookie

bear claw sweet roll jelly-o tootsie roll sweet.</p>

After all the p tags, we will again divide the span8 area into three equal columns to feature some sections of our website. We can nest as many row-fluid within a row-fluid, but the point to remember is the sum of span* divs should equal 12 else your design will break down.
 Go ahead and place the following snippet just below all the above p tags but within span8:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<div class="row-fluid">

 <div class="span4">

 <h4>Our Clients</h4>

 <p>Hello These are our clients. <a href="#">Click here</a>.</p>

 <a href="#" class="btn btn-primary"><i class="icon-heart icon-white"></i> Our Clients</a>

 </div>

 <div class="span4">

 <h4>Our Clients</h4>

 <p>Hello These are our clients. <a href="#">Click here</a>.</p>

 <a href="#" class="btn btn-primary"><i class="icon-music icon-white"></i> Our Clients</a>

 </div>

 <div class="span4">

 <h4>Our Clients</h4>

 <p>Hello These are our clients. <a href="#">Click here</a>.</p>

 <a href="#" class="btn btn-primary"><i class="icon-file icon-white"></i> Our Clients</a>

 </div>

</div>

The icons in the buttons used here are shown from the glyphicons-halflings from the img folder. Use  elements with appropriate icon class from the Bootstrap documentation to show the icon.

Right Sidebar
The right sidebar or span4 in our case will contain vertical navigation list. This section also remains the same as that used in non-responsive BootStrap webpage. We will also add an additional well class along with span4 to get a grey wrapper around the whole of right sidebar. Our code goes like this:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<div class="span4 well">

 <ul class="nav nav-list">

 <li class="nav-header">Our Services</li>

 <li class="active"><a href="#">Overview</a></li>

 <li><a href="#">Web Designing</a></li>

 <li><a href="#">Web Development</a></li>

 <li><a href="#">Android Applications</a></li>

 <li class="divider"></li>

 <li class="nav-header">Our Services</li>

 <li><a href="#">Overview</a></li>

 <li><a href="#">Web Designing</a></li>

 <li><a href="#">Web Development</a></li>

 <li><a href="#">Android Applications</a></li>

 <li class="divider"></li>

 <li><a href="#">Help</a></li>

 </ul>

</div>

Classes nav nav-list is used for vertical navigation list. A class divider is given to any li element to separate all the li elements present above and below with it with a horizontal thin line. nav-header is used to make the li element look like a sub section header.

Building the footer
Our footer here is going to be a simple container with three equal sized span* elements. As you can see in the demo page, the horizontal line above the footer is a
 element.
 So the code for footer goes here:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<div class="container">

 <div class="row-fluid">

 <div class="span4">

 <p>© 2013 <a href="#">Zetiz Labs</a></p>

 </div>

 <div class="span4 text-center">

 <ul class="nav inline">

 <li><a href="#">About Us</a></li>

 <li><a href="#">Contact Us</a></li>

 <li><a href="#">Privacy Policy</a></li>

 </ul>

 </div>

 <div class="span4 text-right">

 <p>Powered By Twitter BootStrap 2.3.2</p>

 </div>

 </div>

</div>

text-center, text-right and text-left are aligning classes. You can use them as and when required.

Conclusion
You might not have realized it, but we have actually come to the end of the article. Congratulations on building your first responsive website. Try resizing the windows or opening the demo page in various other devices, to see the actual responsive nature.
 Well, there is actually no end to what you can do with BootStrap. You can even customize it completely to make it look more personal. Custom stylesheets can be added, like “customstyle.css” or any other named CSS file. Import all the BootStrap CSS files using @import in “customstyle.css” and then link this CSS file in your webpage only. One change that I made in my customstyle.css was to override the background image and color of the marketing area.
 Hope you had fun reading this article. Thank you!
 Demo page
 Comments on this article are closed. Have a question about Twitter Bootstrap? Why not ask it on our forums?

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-68595397879895873772014-05-05T21:41:00.003-07:002014-05-05T21:41:42.092-07:0020 Useful Docs and Guides for Front-End Developers

 I come across so many interesting info-apps and documents in my daily research, so I thought I’d provide a list of those here.
 True, not everyone likes the “list post” or roundup, but hey, we can’t please everyone. And we don’t do these types of posts too often anyhow.
 In this case, this is a great way to bookmark a few things maybe for some evening or weekend reading. I guarantee you’ll find at least a few links in here that you’ll want to come back to.
 Enjoy!

1. CSS Vocabulary
A great point-and-click little app to get you up to speed with all the different parts of CSS syntax and what the proper name for them is.

2. Liquidapsive
A very simple informational layout that, by means of a select box, lets you choose between Responsive, Adaptive, Liquid, and Static, so you can see what is the difference between the four layout types.

 I imagine this would be nice even to show to clients, so they can see how things adjust using the different styles.

3. Superhero.js
A collection of the best articles, videos, and presentations on helping to maintain a large JavaScript code base.

 Included are some general principle-type stuff, sources on testing, tools, performance, security, and more.

4. HowToCoffeeScript.com
A cheat sheet for learning and remembering CoffeScript syntax.

5. The HTML Landscape
This is pretty interesting. It’s a W3C document that describes the “perceptible differences” between three HTML specifications: WHATWG, W3C’s HTML5.0, and W3C’s HTML5.1.

 Might be a little overly technical, but you might be able to find some interesting new stuff here.

6. The Elements of HTML
A nice comprehensive one-page chart of HTML and XHTML elements that indicates which specification the elements belong to.

 This looks really good for doing research to find out when and/if an element has been deprecated or made obsolete in HTML5.

7. JavaScript Equality Table
A nice little 3-tiered chart that helps you understand JavaScript’s double- and triple-equals operators.

 The conclusion? “Use three equals unless you fully understand the conversions that take place for two-equals.”

8. Web Accessibility Checklist
A useful but not overwhelming reference to help you check off various items on your projects for accessiblity.

 A lot of this is pretty simple, but it doesn’t hurt to always take a final look, in addition to doing accessibility validating.

9. Static Web Apps — A Field Guide
According to the description: “This guide will introduce you to the world of static web applications and offer solutions to common challenges encountered while building them.”

 The idea here is to promote an architecture that eases common development problems.

10. Learn regular expressions in about 55 minutes
An extensive doc/tutorial introducing regular expressions.

 I’m guessing it would take much longer than the claimed “55 minutes” to really get something out of this, but certainly worth a look.

11. Open Web CSS Reference
This is a really comprehensive and little-known CSS property and feature reference.

 Alphabetical and includes links to the spec for everything listed.

12. CSS Values
This is one of my own side projects. It’s an easy way to look up a CSS property and quickly view the possible values. For example, if you forgot what values are acceptable for somethng obscure like font-variant.

 In addition to values, the most recent update includes browser support charts for each property, powered by caniuse.com.

13. ES6features
From Microsoft developer Luke Hoban, an overview of new stuff in the ECMAScript 6 spec.

 As the repo points out, “implementation of these features in major JavaScript engines is underway now”, so it would be useful to start getting familiar with this stuff.

14. Relevant Spec Links
I often have trouble finding the right place in the spec for researcing something. This is a nice brief little summary from Mozilla of the links you’ll need to be aware of in relation to the spec.

15. OverAPI.com
Cheat sheet madness, folks.

 This seems to have everything. The cheat sheets will link to the relevant authoritative resources (MDN, PHP.net, etc).

16. JavaScript: The Right Way
A JavaScript guide ‘intended to introduce new developers and help experienced ones to JavaScript’s best practices.’

17. The HTML5 JavaScript API Index
A really comprehensive one-stop place to search for HTML5 API info.

 Is “automatically generated from the HTML 5 specification documents” and very easy to navigate using the 3-paned view.

18. Zeal
This looks pretty neat. It’s a native app that is the Windows and Linux counterpart of Dash, an app that lets you search 130+ API docs offline.

 With a simple keyboard shortcut, you can display the API browser from anywhere in your workspace.

19. The Ultimate Flexbox Cheat Sheet
An extensive reference to help you find flexbox syntax and brush up on the less familiar stuff.

 From the same guy who did the cool interactive Flexbox tutorials.

20. jsCode
An app to help you create your own custom JavaScript coding guidelines.

 You can also look up custom guides created by others and share yours with your team or other collaborators.
Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-37159119658390716132013-12-04T02:39:00.000-08:002013-12-04T02:39:05.388-08:001. Ruby on Rails là gì?
1. Ruby on Rails là gì?
Ruby On rails là một Framework cho phép phát triển ứng dụng Web gồm 2 phần cơ bản:

- Phần ngôn ngữ Ruby: “Ruby là một ngôn lập trình mã nguồn mở, linh hoạt, với một sự nổi bật về sự đơn giản dễ dùng và hữu ích. Nó có cú pháp “tao nhã” và tự nhiên dễ đọc và dễ dàng để viết”.

- Phần Framework Rails bao gồm nhiều thư viện liên kết.

Ruby On Rails được ra đời một cách hoàn hảo dành cho những ai luôn “mải miết đi tìm” câu trả lời: tại sao những lập trình viên luôn tìm mọi cách để phát triển những phần mềm, ứng dụng Web, … để người sử dụng được thuận tiện nhất, nhưng lại không “thuận tiện” cho người lập trình mỗi khi chương trình càng đơn giản thì bên trong nó lại càng phức tạp, khó chỉnh sửa khi cần thiết, làm cho công việc của người lập trình viên “cảm thấy mệt mỏi” hơn. Ruby On Rails đã trả lời được câu hỏi đó.

2. Lịch sử hình thành:

a. Lịch sử ra đời của ngôn ngữ Ruby:
Ruby được tạo ra bởi Yukihiro “Matz” Matsumoto từ 24 tháng 2, 1993 và đưa ra bản chính thức vào năm 1995.

Ruby chịu nhiều ảnh hưởng từ Perl, và khi hoàn tất ngôn ngữ này, anh đã đùa với một người bạn rằng nên đặt tên thế nào nghe cho nó giống một thứ đá quý nào đó (Perl lúc đầu cũng được đặt tên là Pearl – ngọc trai). Và bạn của anh đã gợi ý cái tên Ruby. Sau này Matz cũng bất ngờ khi phát hiện ra Pearl là viên đá quý tượng trưng cho những người sinh tháng 6, còn Ruby thì tượng trưng cho những người sinh tháng 7. Anh cho rằng cái tên Ruby như thế là phù hợp vì Ruby kế thừa và phát triển nhiều đặc tính từ Perl.

Tháng 9 năm 2005, phiên bản ổn định mới nhất là 1.8.3. Ruby 1.9 (với một số thay đổi) cũng đang trong quá trình phát triển.

b. Nguồn gốc của Rails:
Rails ra mắt công chúng lần đầu tiên vào năm 2004, Rails thoạt đầu được dùng như là nền tảng cho một công cụ quản lý dự án được đặt tên là Basecamp và được tạo ra bởi nhà phát triển web David Heinemeier Hansson, một nhân viên của công ty phát triển web 37signals (Mỹ). Ban đầu họ xây dựng Rails không phải với mục đích là xây dựng ra một framework riêng, chủ tâm ban đầu là dùng nó để xây dựng các ứng dụng khác của 37signals. Sau đó Heinemeier Hansson thấy tiềm năng của nó giúp cho anh ấy làm các công việc dễ dàng hơn bằng cách rút ra các tính năng phổ biến như trừu tượng cơ sở dữ liệu và khuôn mẫu(template) bên trong, và sau đó nó trở thành phiên bản đầu tiên được tung ra của Ruby on Rails.

3. Kiến trúc của ruby on rails:
Kiến trúc của RoR có những đặc điểm sau:
• Kiến trúc MVC
• Representational Sate Transfer (REST) cho các web services
• Hỗ trợ nhiều hệ quản trị cơ sở dữ liệu lớn như MySQL, Oracle, MS SQL, PostgreSQL…
• Ngôn ngữ script Ruby được viết bên phía Server
• Sử dụng các quy ước thay vì phải cấu hinh
• Có các bộ sinh script để tự động thực hiện các task
Tương ứng với các đặc điểm trên RoR gồm các thành phần sau:
• Action Mailer
• Action Pack

Action Controller

Action Dispatcher

Action View

• Active Model
• Active Record
• Active Resource
• Active Support
• Railties

Tổng kết:
Ruby on Rails với sức mạnh, những tính năng nổi trội và cộng đồng hỗ trợ rộng lớn sẽ mang đến nhiều điều thú vị cho bạn.

Bên cạnh những mặt lợi-hại thì việc học thêm, biết thêm một ngôn ngữ lập trình(Ruby) và một Framework nổi tiếng cũng là một điều hay ho.Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-51388147449840408992013-10-16T00:13:00.001-07:002013-10-16T00:13:22.942-07:00Tìm hiểu Struts trong Java (J2EE)

 Ðề tài: Tìm hiểu Struts trong Java (J2EE)

Thanked 77 Times in 40 Posts

 Tìm hiểu Struts trong Java (J2EE)

 LỜI NÓI ĐẦU:
Hầu hết chúng ta đều biết Struts là ứng dụng web mã nguồn mở được phát triển theo khuôn khổ giống như dự án Apache Jakarta. Bây giờ Struts là một dự án độc lập, là một bộ khung(framework) mã nguồn mở cho việc phát triển ứng dụng web bằng J2EE(Java 2 Enterprise Edition). Nó sử dụng và mở rộng Java Servlet API để giúp cho các nhà phát triển áp dụng kiến trúc MVC(Model-view-controller).

Mục tiêu của đề tài này giúp chúng ta hiểu struts là gì, tại sao sử dụng struts, khi nào thì sử dụng struts và struts có những ứng dụng gì, hỗ trợ như thế nào trong mô hình MVC. Và để hiểu được struts, chúng ta cần hiểu thế nào là J2EE, mô hình kiến trúc MVC...

Phần I: Giới thiệu về J2EE và các thành phần liên quan

1. J2EE là gì?

J2EE(Java 2 Enterprise Edition) là một môi trường phát triển và triển khai các ứng dụng được phát triển bởi Sun, là cái nền cung cấp các dịch vụ, các hàm giao tiếp(API) và các giao thức để triển khai các ứng dụng đa tầng. Là 1 thành phần rất quan trọng và rộng lớn trong lĩnh vực java, J2EE được dùng để phát triển các ứng dụng lớn mang tính chất phân tán rộng khắp. Đây là lĩnh vực được chú trọng và ứng dụng nhiều nhất của java trong thực tế.

Kiến trúc J2EE tổng quát

+ EJB (Enterprice java bean) container : quản lý và thực thi các thành phần enterprice bean
+ Web Container : quản lý và thực thi các thành phần JSP và Servlet.
+ Application Client Container : quản lý và thực thi các thành phần phía client (ví dụ như applet)

2. Các thành phần liên quan tới J2EE:

a. Applet :

Là một chương trình Java chạy trên web browser.

Để tạo ra một applet, ta phải import:

 java.applet

 java.awt

Một applet có 4 phương thức. Mỗi phương thức được tự động gọi khi có event tương ứng.

Methods:

init( )

 start( )

 stop( )

 destroy( )

Sự khác nhau giữa Applet và Application

Applications chạy bằng Java interpreter, còn applets chạy trên browser có hổ trợ Java, hoặc dùng “AppletViewer” có trong JDK.

Việc thực hiện một applications bắt đầu trong hàm ‘main()’. Còn applet thì không cần hàm main.

Applications dùng ‘System.out.println()’ để xuất, trong khi applets dùng hàm “drawString()” để hiển thị.

Các hạn chế về Security trên Applets

Không thể đọc hoặc viết các file trên hệ thống file của user.

Không thể trao đổi với một site trên.

Không thể chạy được các chương trình trên hệ thống hiện hành

Không thể tải bất kỳ chương trình được lưu trữ trên hệ thống của user.

b. Java Bean:

JavaBeans là software component model.

Nó có thể tương tác với các đối tượng của các software khác và có thể được dùng lại.

Các software components mà có thể dùng lại này được gọi là ‘beans’

Components được dùng trong distributed environments. JavaBeans được thiết kế để dùng khi cần.

Java thường xây dựng các software thông qua các JavaBeans.

Khi mà Java Beans được tạo ra, thì chúng có thể được dùng như một thư viện không phụ thuộc nền.

Các qui tắc để tạo ra một Beans

Là một class.

phải có một default constructor.

Có ít nhất một thuộc tính và là non-public

Các thuộc tính được truy xuất từ bên ngoài thông qua các hàm getXXX và setXXX.

c. JSP (Java Server Pages):

JSP technology đươc xây dựng trên ngôn ngư lap trình Java.

Nó thừa kế tất cả các ưu điểm cũng như các đặc tính của ngôn ngữ Java.

JSP có thể dùng trên tất cả các platforms.

Cách làm việc của JSP:

Các bước xử lý của 1 request:

Một trang jsp là 1 kết hợp giữa html và script của java. Khi một trang jsp được gọi nó sẽ được jsp engine compile ra java servlet, và servlet được “điều khiển” bởi servlet engines nó giống như bất kỳ những servlets nào chúng ta viết ra khác. Khi đó servlets engines nó sẽ load class servlet và thực thi nó để tạo ra trang htm hay html rồi trả về cho browser.

Trong lần request tiếp theo nếu có những sự thay đổi nào đó từ trang jsp thì servlet sẽ được tự động compile lại thành 1 servlet khác để thực thi chúng.

Cơ chế hoạt động của JSP

Cơ chế hoạt động của JSP có thể mô tả như sau. Các đoạn mã Java được nhúng trong trang web dưới các thẻ (tag) đặc biệt được qui định gần giống như thẻ của ngôn ngữ HTML. Khi có yêu cầu gửi tới một trang JSP, webserver sẽ chuyển yêu cầu cho Java Engine để lấy trang JSP từ hệ thống tập tin. Bộ biên dịch JSP (JSP Page Compiler) sẽ chuyển các mã lệnh Java và toàn bộ nội dung trang JSP thành một Servlet. Servlet này sẽ được thực thi trong môi trường máy chủ Java để trả lại các thông tin cho webserver và webserver chuyển lại cho web client. Ðặc tả JSP cung cấp rất nhiều thẻ cho phép người dùng tuỳ biến khi nhúng mã nguồn Java vào trong trang JSP. Các thẻ này sẽ kết hợp với các mã HTML/XML để tạo ra kết xuất cuối cùng trả về cho web client. Các chức năng của trang JSP hoàn toàn giống với Servlet, tuy nhiên chúng ta không cần tạo Servlet này. Do đó viết một trang JSP sẽ đơn giản hơn viết một Servlet. Theo cơ chế này thì trang JSP có thể phải thực hiện chậm hơn Servlet thuần tuý, nhưng chỉ là lần đầu khi trang JSP được gọi đến và biên dịch. Ở các lần gọi kế tiếp, sẽ không cần biên dịch lại trang JSP nữa (trừ khi có thay đổi nội dung). Mã thực thi JSP/Servlet là mã nhị phân (bytecode), có thể thường trú trong bộ nhớ nên việc xử lý JSP xét về tốc độ sẽ nhanh hơn các trang ASP sử dụng cơ chế cơ chế diễn dịch, hay công nghệ CGI.

d. Servlets

http://3.bp.blogspot.com/-TQ0w8_WcPc...0/struts06.jpg

Servlets đươc dùng để mở rộng các chức năng của Java-enabled server

Dùng để thay thế cho CGI Scripts

Trước servlets, chúng ta có các công nghệ để tạo ra web applications:

Common Gateway Interface (CGI)

FastCGI

ASP

Server-side Java Script

Đặc điểm Servels:

Không bị phụ thuộc

Làm việc trên nhiều web servers

Là công nghệ đầu tiên của java để tạo ra web Application

Không nằm trong core Java API mà nằm trong hai package javax.servlet và javax.servlet.http của Java Servlet Development Kit (JSDK)

(còn tiếp)

Thanked 77 Times in 40 Posts

 Phần II. Kiến trúc MVC (Model _View_Controller)

1. Khái niệm:

Mô hình Model-View-Controller chia các components của ứng dụng thành 3 loại khác nhau đó là Model (mẫu), View (hiển thị), và Controller (điều khiển). Các components của mô hình MVC đảm nhận một trách nhiệm nhất định và mỗi components đều độc lập với các components khác. Việc thay đổi 1 components sẽ không ảnh hưởng hoặc ảnh hưởng rất ít đến các components khác. Nhiệm vụ của các components này là:

Model (mẫu): Model đảm nhận nhiệm vụ cung cấp dữ liệu từ cơ sở dữ liệu và lưu các thông tin đó ở nơi chứa dữ liệu. Tất cả các Business Logic đều được thực thi ở Model. Dữ liệu được nhập vào bởi người sử dụng qua View sẽ được kiểm tra ở Model trước khi được lưu vào cơ sở dữ liệu. Truy xuất dữ liệu, sự hợp lệ của dữ liệu và data saving logic là các thành phần của Model.

View (hiển thị): View trình bày việc hiển thị của ứng dụng và nhận trách nhiệm lấy dữ liệu từ người sử dụng, gửi các yêu cầu đến Controller rồi sau đó nhận trả lời từ Controller và hiển thị kết quả đến người sử dụng. HTML, JSP, các thư viện Tag và các file nguồn là các thành phần của view.

Controller (điều khiển): Controller là trung gian giữa Model và View. Controller có trách nhiệm nhận các yêu cầu từ Client. Khi mà yêu cầu đuợc nhận từ Client, Controller sẽ thực thi business logic thích hợp từ Model và sau đó xuất ra dữ liệu cho user sử dụng View component. ActionServlet, Action, ActionForm và struts-config.xml là các thành phần của Controller.

Mối quan hệ giữa các thành phần

2. Mối quan hệ giữa View và Controller:

Trong MVC truyền thống, các view và controller được kết hợp chặc chẻ với nhau. Mỗi view được kết hợp với một controller duy nhất. Controller được xem như một Strategy (sự quản lý) mà view sử dụng cho đầu vào. View cũng chịu trách nhiệm tạo ra các khung nhìn và controller mới.

Có sự logic rằng các khung nhìn và các controller có quan hệ mạnh mẽ với nhau, đầu vào và đầu ra của một ứng ụng được liên hệ chặc chẽ với nhau. Hầu hết các nền GUI MVC, view và controller được trộn trong một đối tượng. Điều này được gọi là Document View. View và controller được kết hợp thành view. Model trở nên được biết như là tài liệu.

Passive model luân phiên chiệu trách nhiệm nhiều hơn về controller, vì nó phải thông báo cho các view khi nó có sự cập nhật.

Sự hữu ích web hiện đại của MVC luân phiên thậm chí là nhiều hơn các MVC truyền thống về việc chiệu trách nhiệm của view đối với controller. Controller chiệu trách nhiệm tạo ra và lựa chọn các view và view hướng đến việc chiệu trách nhiệm ít hơn đối với các controller của nó.

3. Mối quan hệ giữa Model và View:

View phụ thuộc vào model. Các sự thay đổi đối với giao diện model đòi hỏi các sự thay đổi song song trong view.

Thật khó để có được một sự tách biệt rõ rành giữa model và view. Chẳng hạn như, xét một yêu cầu “hiển thị một cán cân âm bằng mầu đỏ”. Đầu tiên cán cân, điều này xuất hiện là yêu cầu đầu ra rõ ràng và sự kiểm tra có thể được đặt trong view theo một hình thức rõ ràng như sau:

 if balance < 0 then red

Điều này có thể xâm phạm đến sự tách biệt của các thành phần trong MVC.

Qua sự phân tích ở trên yêu cầu thực sự là “hiển thị sự cân bằng được cường điệu bằng mầu đỏ” và định nghĩa của cường điệu = cán cân < 0= nên được đặc trong model vì đó là thuộc về sự mô tả miền. Thật dễ dàng cho tác nghiệp để chuyển ra của model và chuyển vào view.

4. Mối quan hệ giữa model và controller

Controller phụ thuộc vào model. Các sự thay đổi đối với giao diện model có thể yêu cầu sự thay đổi song song đối với controller.

5. Các lợi điểm của MVC:

Giao diện người sử dụng có khả năng thay thế dễ dàng

Các view và các controller khác nhau có thể được thay đổi để đưa ra sự lựa chọn các giao diện người sử dụng đối với cùng một model. Chẳng hạn như, cùng một dữ liệu model có thể được hiển thị bởi biểu đồ bar, hay biểu đồ pie, hoặc spreadsheet.

Các thành phần hợp thành giao diện người sử dụng

Bởi vì MVC đòi hỏi giao diện người sử dụng ứng dụng được cấu trúc thành các đối tượng kế thừa nhau và định nghĩa các quan hệ chuẩn giữa các đối tượng này, các phiên bản chung của các đối tượng này là có thể có được.

Chúng thông thường được gọi là các thành phần giao diện kết hợp với các view và các controller thành một đối tượng đơn. WACT là một sự nổ lực để đưa ra một tập các thành phần phong phú tương tự nhau đối với việc phát triển web mà duy trì được sự tách biệt giữa view và controller. Các thành phần thúc đẩy sự sử dụng lại và cắt giảm sự cần thiết đối với các lớp con đặc biệt. Các thành phần này được biết như là các view có khả năng cắm vào trong tuyến tính smlltalk MVC.

Nhiều view đồng thời của một model

Nhiều view khác nhau có thể hoạt động tại cùng một thời điểm. Mỗi view mô tả đồng thời và độc lập thông tin giống nhau từ một model. Điều này áp dụng nhiều đối với GUI MVC hơn là web MVC.

Các khung nhìn được đồng bộ hóa

Cơ chế truyền sự thay đổi đảm bảo rằng tất cả các khung nhìn có thể được phản ứng một cách đồng thời trạng thái hiện tại của model.

Dễ dàng hơn trong việc thay đổi giao diện người sử dụng

Kiểm thử dễ dàng hơn

Với MVC thật dễ dàng để kiểm thử chức năng chính của ứng dụng vì nó được đóng gói bởi model.

6. Hạn chế của MVC:

Gia tăng sự phức tạp

Sự kết nối chặc chẻ của view và controller đối với model.

Sự thay đổi đối với giao diện model đòi hỏi sự thay đổi song song trong view và có thể đòi hỏi sự thay đổi thêm đối với controller. Sự thay đổi code nào đó có thể trở nên khó khăn hơn.

Tìm ẩn sự cập nhật dư thừa.

Cơ chế truyền sự thay đổi có thể không hiệu quả khi model thay đổi thường xuyên đòi hỏi nhiều thông báo thay đổi. Đây không phải là vấn đề chung nếu passive model được sử dụng.

Sự kết nối chặc chẻ giữa view và controller.

Sự tách biệt rõ ràng là rất khó, đôi khi là không thể.

(còn tiếp)

Thanked 77 Times in 40 Posts

 Phần III. Struts Framework (Struts 2.0)

Kiến trúc của Struts 2.0

1. Khái niệm:

Struts là một framework phục vụ việc phát triển các ứng dụng Web trên Java. Struts cung cấp một framework thống nhất để deploy(triển khai) các ứng dụng Servlet và JSP sử dụng kiến trúc MVC. Sử dụng mẫu thiết kế Model-View-Controller (MVC), Struts giải quyết rất nhiều các vấn đề liên quan đến các ứng dụng Web hướng business đòi hỏi hiệu năng cao sử dụng Java servlet và JSP. Struts cơ bản định hình lại cách các Web programmer nghĩ về và cấu trúc một ứng dụng Web.

Struts là một tập thư viện các thẻ JSP tùy chọn (Custom JSP Tag): Struts cung cấp các thư viện thẻ tùy chọn cho việc thể hiện các thuộc tính của bean, quản lý các HTML forms, lặp lại các kiểu cấu trúc dữ liệu, và đưa ra các HTML có điều kiện.

2. Tiến trình thực thi mô hình MVC của Struts như thế nào?

Mô tả tiến trình mà hầu hết các ứng dụng struts phải tuân theo

Tiến trình này có thể được chia thành 5 bước cơ bản sau:

1. Một request được gửi đến từ view
2. ActionServlet sẽ tiếp nhận request này, phân tích, kiểm tra. Sau đó chỉ định cho Action tương ứng thực thi yêu cầu, tính toán những tác vụ cần thiết.
ActionServlet đóng vai trò là Controller
3. Action sẽ thao tác và xử lí trên Model của ứng dụng
4. Mỗi khi Action hoàn thành việc thao tác và xử lí, nó trả quyền điều khiển về cho ActionServlet kèm theo một key gắn kèm với kết quả trả về. ActionServlet sẽ dựa vào key này mà quyết định xem các kết quả trả về sẽ được hiển thị như thế nào.
5. ActionServlet trả lời bằng cách gửi lại một request cho view là một liên kết đến kết qua trả về của Action thông qua key trên. Sau đó, view làm nốt công việc trình bày kết quả.
Nguồn benalpenliebe.blogspot.com

3. Cấu trúc của Struts:

Một hoặc nhiều Action, mỗi action trong trang web sẽ ánh xạ chính xác đến một thành phần <action> được định nghĩa trong file struts-config.xml. Action được triệu gọi bởi người dùng từ một trang HTML hoặc JSP thông qua một liên kết hay thông qua thuộc tính action trong thẻ <form>.</form></action>

Một thành phần <action> sẽ định nghĩa một lớp ActionForm, trong một số trường hợp, nó sẽ được sử dụng để validate(xác nhận) các dữ liệu trong form được submit bởi người sử dụng. Nó cũng định nghĩa lớp Action nào sẽ được sử dụng để xử lý các yêu cầu từ phía người dùng.</action>

Một lớp ActionForm có thể sử dụng một hoặc nhiều forward được định nghĩa trong thẻ <action> đề nói cho một ActionServlet trả về các response tương ứng với các request của người dùng. Chúng ta có thể định nghĩa nhiều forward trong thẻ <action-mapping>.</action-mapping></action>

4. Các thành phần chính của một ứng dụng struts:

Struts Model Components

Model là một thành phần được cho là quan trọng nhất trong các ứng dụng MVC.
Model bao gồm các business entities và một tập các qui tắc để quản lí việc tổ chức và thao tác dữ liệu.

Struts không cung cấp các Model Component chuyên dụng, tuy nhiên chúng ta có thể sử dụng lại các Model của các ứng dụng khác hoặc tự xây dựng các model của riêng mình.

Struts View Components

Mục đích của thanh phần Struts View này cũng giống y như một thành phần view trong các ứng dụng theo mô hình MVC: chịu trách nhiệm trình bày thông tin được cung cấp bởi Model.

Struts sử dụng JSP để thiết kế thành phần View. Ngoài ra, để hỗ trợ và mở rộng khả năng của View, chúng ta cũng có thêm thư viện Taglib, sử dụng HTML, JS… cho mục đích trình bày thông tin.

Struts Controller Components

Struts cung cấp hai thành phần rất quan trọng đó là ActionServlet và Action để điều khiển và quản lí mọi yêu cầu của người dùng cũng như việc thao tác với dữ liệu
ActionServlet chịu trách nhiệm nhận và xử lí các request từ phía người dùng, chỉ định Action thực thi tương ứng với từng yêu cầu cụ thể.

Action chịu trách nhiệm thao tác với Model, nó kết hợp rất chặt chẽ với ActionServlet. Cả hai thành phần này đóng vai trò làm Controller trong Struts.

Struts taglib
Cung cấp một tập các tag library cho việc phát triển ứng dụng, bao gồm cả các taglib hỗ trợ thiết kế HTML và JSP taglib.

Struts Config
File cấu hình của ứng dựng Struts.

5. Cơ chế hoạt động:

1. Ứng dụng web mà bạn phát triển có một mô tả triển khai (WEB-INF/web.xml) mà bạn phải viết. Tập tin này mô tả cấu hình ứng dụng web của bạn, bao gồm trang khởi động (là tập tin đuợc hiển thị trong một thư mục khi yêu cầu không chỉ rõ trang nào), ánh xạ các servlet (đuờng dẫn hoặc phần mở rộng), và các tham số truyền tới các servlet đó.

Trong tập tin web.xml,bạn phải cấu hình ActionServlet làm servlet xử lí tất cả các yêu cầu đối với một ánh xạ cho truớc (thuờng sử dụng phần mở rộng .do). ActionServlet chính là "bàn điều khiển" đuợc nhắc tới trong phần mở đầu của bài viết. Cũng trong tập tin web.xml, bạn cấu hình cho ActionServlet sử dụng một hoặc nhiều tập tin cấu hình cho bản thân Struts.

Từ bây giờ, giả sử chúng ta đang cài đặt ứng dụng web trên máy chủ tại vị trí /myapp, và chúng ta sử dụng cấu hình đơn giản nhất có thể từ đó. Để biết thêm chi tiết về các mô tả triển khai, bạn có thể đọc thêm Đặc tả Servlet có trên trang của Sun.

2. Trong tập tin cấu hình framework, bạn liên kết các đuờng dẫn với thành phần điều khiển của ứng dụng, chính là các lớp Action (ví dụ như "login" => lớp LoginAction). Việc liên kết này thông báo cho ActionServlet rằng để đáp ứng yêu cầu http://myhost/myapp/login.do, nó cần gọi thành phần điều khiển của bạn, là LoginAction.

Hãy lưu ý về phần mở rộng do trong URL này. Phần mở rộng sẽ khiến máy chủ của bạn (Tomcat chẳng hạn) gọi ActionServlet. Cấu hình đuợc tham chiếu và LoginAction đuợc thực thi.

3. Với mỗi Action,bạn cũng cấu hình framework với tên của các trang kết quả có thể đuợc hiển thị tuơng ứng với Action đó. Có thể có nhiều hiển thị đuợc dùng làm kết quả của một Action (thuờng có ít nhất là hai: một tuơng ứng với kết quả thành công và một ứng với kết quả thất bại).

Action của bạn (phần điều khiển mà bạn viết) đuợc dựa trên các tên ánh xạ kết quả logic này. Nó thông báo cho ActionServlet bằng các từ như "success", "failure", "ready", "ok", "UserError", vân vân... Framework (thông qua cấu hình mà bạn đã thiết lập) sẽ biết cách chuyển tới các trang thích hợp. Việc cấu hình này tận dụng ưu thế của việc cấu hình lại đối với lớp hiển thị bằng cách chỉnh sửa các tập tin cấu hình XML.

Tới lúc này, framework đã biết cách ủy quyền cho các thành phần điều khiển của bạn và các kết quả cần đuợc hiển thị sau khi các thành phần điều khiển xử lí. Phần mô hình (model) của ứng dụng sẽ hoàn toàn phụ thuộc vào bạn, và sẽ đuợc gọi từ các thành phần điều khiển của bạn.

4. Bạn cũng có thể liên kết một JavaBean với một action (hoặc một tập hợp nhiều action) trong tập tin cấu hình của framework. JavaBean đuợc sử dụng như một kho lưu trữ cho form hoặc hiển thị dữ liệu có thể đuợc kết nối giữa lớp hiển thị và lớp điều khiển.

Các JavaBean này cũng có thể đuợc truy cập từ các thành phần điều khiển của bạn (như lớp LoginAction) và từ các trang hiển thị được liên kết với thành phần điều khiển đó. Chúng cũng có thể được kiểm tra với sự trợ giúp của framework để đảm bảo rằng người dùng nhập thông tin chính xác vào các form.

Lưu ý rằng bạn phải sử dụng một công nghệ máy chủ nào đó (JSP, Velocity, XSLT) để lớp hiển thị nhìn thấy các dữ liệu này (dạng HTML thuần không dùng được). Framework hoạt động ở phía máy chủ nên phần hiển thị ở máy khách cần được tạo ra ở đó. Máy kháh đẩy dữ liệu trở lại thông qua phương thức thông thường của form (POST/GET), và framework sẽ cập nhật các dữ liệu đó trong Bean trước khi gọi các thành phần điều khiển.

5. Trong ứng dụng web sẽ có các trang hiển thị mà người dùng nhìn thấy. Đó có thể là các trang JSP, các mẫu Velocity, các trang XSLT, ... Tập các trang JSP và thẻ JSTL có sẵn trong framework cho bạn sử dụng nhưng bạn có thể sử dụng bất cứ công nghệ hiển thị chuẩn nào cũng được. Ngay cả các tập tin HTML thuần cũng có thể được dùng trong ứng dụng nhưng chúng sẽ khong tận dụng được các tính năng động.
Theo sau thành công của thư viện thẻ JSP, một số gói khác đuợc tạo ra để framework đuợc sử dụng dễ dàng hơn với công nghệ hiển thị ưa thích của bạn. Với các mẫu Velocity, có công cụ hiển thị cho Velocity bạn. Nếu bạn muốn dùng XSLT trong ứng dụng, bạn có thể sử dụng stxx hoặc StrutsCX.

Các gói này giúp các phần tử chuẩn của Struts đồng nhất với công nghệ hiển thị gốc. Bạn cũng có thể sử dụng cả JSP, Velocity và XSLT trong cùng một ứng dụng!
Do Struts phụ thuộc vào công nghệ Servlet chuẩn, bạn có thẻ sử dụng bất cứ công nghệ hiển thị Java nào với nó.

6. Mặc dù trọng tâm của Struts là ở thành phần điều khiển (C), lớp hiển thị là một thành phần quan trọng của bất kì ứng dụng nào. Thư viện thẻ Struts có một số thẻ đặc trưng dể giúp bạn sử dụng các dữ liệu động trong phần hiển thị của mình.
Các thẻ JSP góp một phần đáng kể trong mã nguồn cơ sở của Struts. Trong phiên bản 1.1b3, khi mà mã Java cho phần lõi của Struts chỉ gồm khoảng 28000 dòng thì phần mã Java cho thư viện thẻ đã lên tới 41000 dòng.

Các thẻ này giúp bạn kết nối lớp hiển thị (V) với lớp điều khiển (C) mà không phải nhúng quá nhiều mã Java trong trang JSP. Việc này giúp trang hiển thị có dạng như XML và dễ dàng hơn cho công việc của các nhà thiết kế web. Nó cũng giúp giảm thiểu các lệ thuộc giữa phần điều khiển và phần hiển thị.

Có cả các thẻ gúp bạn quốc tế hoá, hiển thị thông báo lỗi, ...

Tất cả các tính năng này phụ thuộc vào các tập tin cấu hình mà bạn cung cấp cho Struts.

Bạn cũng cần ghi nhớ rằng cơ chế đuợc mô tả ở đây chỉ có tác dụng khi các yêu cầu đuợc xử lí bởi ActionServlet.Và điều này chỉ xảy ra khi yêu cầu từ trình duyệt khiến máy chủ (như Tomcat, WebSphere, ...) gọi ActionServlet. Do đó bạn cần đảm bảo rằng các trang phụ thuộc vào Struts đuợc gọi thông qua một yêu cầu đuợc ánh xạ tới ActionServlet (có phần mở rộng .do).

Property file : dùng để lưu các tin nhắn mà đối tượng hoặc trang web có thể sử dụng.

Các file thuộc tính cũng có thể được dùng để lưu các tiêu đề và các dữ liệu chuỗi khác. Chúng ta có thể tạo ra nhiều property file để to xử lý nhiều ngôn ngữ khác nhau.

Business objects : Đây là nơi các quy tắc của các dự án tồn tại. Đây là những module mà chỉ cần điều chỉnh các hoạt động trang web từng ngày.

6. Thư viện thẻ Struts để xây dựng các thành phần trình diễn trong một ứng dụng:

<templete>: cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để chia nhỏ giao diện người dùng thành các thành phần có thể dễ dàng tháo rắp.</templete>

<bean>: cung cấp cho nhà phát triển ứng dụng một tập các thẻ JSP để quản lý đầu ra từ một JavaBean.</bean>

<logic>: có thể được sử dụng để ứng dụng các điều kiện logic trong một trang JSP.</logic>

: có thể sử dụng để tạo ra các thành phần form

7. Ưu điểm của Struts (so với MVC sử dụng requestDispatcher):

Struts 2 được xây dựng và phát triển dựa trên nền tảng mô hình MVC nên nó thừa hưởng được đầy đủ các ưu điểm mà mô hình MVC đem lại.

Dễ dàng tùy chỉnh (customize) chu kỳ xử lý (request lifecycles ) cho từng action

Giải quyết hiệu quả vấn đề internationlization và localization trong các ứng dụng web

Tự động chuyển đổi kiểu dữ liệu chuỗi truyền thống trong tham số request parameter thành các đối tượng lớp dữ liệu java => tiết kiệm được thời gian và công sức cho các lập trình viên

Cung cấp các thẻ tag,các themes và templates giúp cho việc làm giao diện GUI trở nên dễ dàng,nhanh lẹ và tăng tính tái sử dụng.

Tính mở rộng (Extensibility) cao thông qua việc hỗ trợ các plug-in

Hỗ trợ portal.

Hỗ trợ AJAX

Dễ dàng tích hợp với Spring framework(*) và Hibernate.

8. Nhược điểm của Struts:

Để sử dụng MVC với chuẩn RequestDispatcher, ta cần nghiên cứu sâu với chuẩn JSP và Servlet APIs. Để sử dụng MVC với Struts, ta còn phải hiểu rõ cả framework rộng lớn và phức tạp, nó tương tự như việc tìm hiểu cả cái cốt lõi của hệ thống. Điều bất lợi này đặc biệt đáng kể với những dự án nhỏ, những dự án có ít thời gian để thực hiện, và những lập trình viên có ít kinh nghiệm; ta mất rất nhiều thời gian trong việc nghiên cứu Struts khi thực hiện đề án.

Framework là một thư viện, bộ khung để phát triển các phần mềm ứng dụng. Tức là nó tạo ra các "Vật liệu" ở từng lĩnh vực cho người lập trình viên, thay vì họ phải mất nhiều thời gian để tự thiết kế trước khi dùng. Do vậy, người lập trình viên chỉ cần tìm hiểu và khai thác các vật liệu này rồi thực hiện (tức lập trình) để gắn kết chúng lại với nhau, tạo ra sản phẩm.

Framework có 2 thành phần chính là Common Language Runtime (CLR) và NET Framework class library. CLR là môi trường được dùng để quản lý sự thi hành các nguồn mã mà ta đã soạn ra và biên dịch trong các ứng dụng. Tuy nhiên khi biên dịch nguồn mã, ta lại biên dịch chúng ra thành một ngôn ngữ trung gian gọi là Microsoft Intermediate Language (MSIL).

Phần ghi chú:

Spring Framework, hay ngắn hơn là Spring, là một cấu trúc dùng để xây dựng chương trình ứng dụng mã nguồn mở dành cho ngôn ngữ lập trình Java. Phiên bản đầu tiên của nó do Rod Johnson viết, và đã được ông xuất bản cùng với quyển sách đầu tay Expert One-on-One Java EE Design and Development (Nhà xuất bản Wrox Press, Tháng 10 năm 2002) - tạm dịch là "Thiết kế và kiến tạo Java EE - tương giao cá nhân một đối một chuyên ngành". Phiên bản phần mềm này cũng còn được xuất sang nền tảng .NET (.NET platform), được gọi là Spring.net.

Kiến trúc của Spring Framework được ra mắt công chúng lần đầu tiên hồi tháng 6 năm 2003 dưới Giấy phép Apache - phiên bản 2.0. Phiên bản 1.0 đánh dấu mốc thành đạt đầu tiên được xuất bản vào tháng 3 năm 2004, và tiếp đó vào tháng 9 năm 2004, tháng 3 năm 2005.

Tuy Spring Framework không bắt buộc người ta phải tuân theo một mô hình lập trình (programming model) cụ thể nào, song nó lan truyền rộng rãi trong cộng đồng những người viết chương trình dùng Java, như một hình thức chủ yếu thay thế cho mô hình Enterprise JavaBean. Theo thiết kế, bộ khung hình này giải phóng lập trình viên dùng Java, cho phép họ nhiều quyền tự do hơn, và đồng thời cung cấp một giải pháp tiện lợi, đầy đủ dẫn chứng bằng tài liệu, dễ dàng sử dụng, phù hợp với những thực hành thông dụng trong công nghệ phần mềm.

Bên cạnh những đặc trưng nền tảng của Spring Framework là những cái có thể dùng được trong bất cứ một chương trình ứng dụng Java nào, rất nhiều các mở rộng và tiến bộ trong việc kiến tạo các trình ứng dụng dành cho nền tảng mạng web (web-based application) dựa trên nền Java Enterprise cũng tồn tại nữa. Spring Framework nổi tiếng cũng một phần do chính đặc thù kể trên và được giới thương mại công nhận như một nền tảng kiến trúc có tầm quan trọng trong chiến lược kiến tạo phần mềm.

 Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-44227879624705831242013-08-26T21:28:00.001-07:002013-10-16T00:11:39.923-07:00Web Application Testing Checklist
What is Web Testing?
Web Testing in simple terms is checking your web application for potential bugs before its made live or before code is moved into the production environment.
During this stage issues such as that of web application security, the functioning of the site, its access to handicapped as well as regular users and its ability to handle traffic is checked.

Web Application Testing Checklist:
Some or all of the following testing types may be performed depending on your web testing requirements.

1. Functionality Testing :
This is used to check of your product is as per the specifications you intended for it as well as the functional requirements you charted out for it in your developmental documentation.Testing Activities Included:
Test all links in your webpages are working correctly and make sure there are no broken links. Links to be checked will include -

Outgoing links

Internal links

Anchor Links

MailTo Links

Test Forms are working as expected. This will include-

Scripting checks on the form are working as expected. For example- if a user does not fill a mandatory field in a form a error message is shown.

Check default values are being populated

Once submitted , the data in the forms is submitted to a live database or is linked to an working email address

Forms are optimally formatted for better readability

Test Cookies are working as expected. Cookies are small files used by websites to primarily remember active user sessions so you do not to log in every time you visit a website. Cookie Testing will include

Testing cookies (sessions) are deleted either when cache is cleared or when they reach their expiry.

Delete cookies (sessions) and test that login credentials are asked for when you next visit the site.

Test HTML and CSS to ensure that search engines can crawl your site easily. This will include

Checking for Syntax Errors

Readable Color Schemas

Standard Compliance.Ensure standards such W3C, OASIS, IETF, ISO, ECMA, or WS-I are followed.

Test business workflow- This will include

Testing your end – to – end workflow/ business scenarios which takes the user through a series of webpage’s to complete.

Test negative scenarios as well , such that when a user executes an unexpected step , appropriate error message or help is shown in your web application.

Tools that can be used: QTP , IBM Rational , Selenium

2. Usability testing:
Usability testing has now become a vital part of any web based project. It can carried out by testers like you or a small focus group similar to the target audience of the web application.
Test the site Navigation:

Menus , buttons or Links to different pages on your site should be easily visible and consistent on all webpages

Test the Content:

Content should be legible with no spelling or grammatical errors.

Images if present should contain and “alt” text

Tools that can be used: Chalkmark, Clicktale, Clixpy and Feedback Army

3.Interface Testing:
Three areas to be tested here are – Application , Web and Database Server

Application: Test requests are sent correctly to the Database and output at the client side is displayed correctly. Errors if any must be caught by the application and must be only shown to the administrator and not the end user.

Web Server: Test Web server is handling all application requests without any service denial.

Database Server: Make sure queries sent to the database give expected results.

Test system response when connection between the three layers (Application, Web and Database) can not be established and appropriate message is shown to the end user.
Tools that can be used: AlertFox,Ranorex

4.Database Testing:
Database is one critical component of your web application and stress must be laid to test it thoroughly. Testing activities will include-

Test if any errors are shown while executing queries

Data Integrity is maintained while creating , updating or deleting data in database.

Check response time of queries and fine tune them if necessary.

Test data retrieved from your database is shown accurately in your web application

Tools that can be used: QTP

5. Compatibility testing.
Compatibility tests ensures that your web application displays correctly across different devices. This would include-
Browser Compatibility Test: Same website in different browsers will display differently. You need to test if your web application is being displayed correctly across browsers , javascript , AJAX and authentication is working fine. You may also check for Mobile Browser Compatibility.
The rendering of web elements like buttons , text fields etc changes with change in Operating System. Make sure your website works fine for various combination of Operating systems such as Windows , Linux , Mac and Browsers such as Firefox , Internet Explorer , Safari etc.
Tools that can be used: NetMechanic

6.Performance Testing:
This will ensure your site works under all loads. Testing activities will include but not limited to -

Website application response times at different connection speeds

Load test your web application to determine its behavior under normal and peak loads

Stress test your web site to determine its break point when pushed to beyond normal loads at peak time.

Test if a crash occurs due to peak load , how does the site recover from such an event

Make sure optimization techniques like gzip compression , browser and server side cache enabled to reduce load times

Tools that can be used: Loadrunner, JMeter

7. Security testing:
Security testing is vital for e-commerce website that store sensitive customer information like credit cards.Testing Activities will include-

Test unauthorized access to secure pages should not be permitted

Restricted files should not be downloadable without appropriate access

Check sessions are automatically killed after prolonged user inactivity

On use of SSL certificates , website should re-direct to encrypted SSL pages.

Tools that can be used: Babel Enterprise, BFBTester and CROSS

8.Crowd Testing:
You will select a large number of people (crowd) to execute tests which otherwise would have been executed a select group of people in the company. Crowdsourced testing is an interesting and upcoming concept and helps unravel many a unnoticed defects.
Tools that can be used: People like you and me  . And yes , loads of them!
This concludes almost all testing types applicable to your web application.
As a Web-tester its important to note that web testing is quite an arduous process and you are bound to come across many obstacles. One of the major problems you will face is of course deadline pressure. Everything is always needed yesterday! The number of times the code will need changing is also taxing. Make sure you plan your work and know clearly what is expected of you. Its best define all the tasks involved in your web testing and then create a work chart for accurate estimates and planning.Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-43238823527059828002013-08-26T21:06:00.002-07:002013-08-26T21:06:30.407-07:00Giới thiệu Selenium WebDriver
Giới thiệu Selenium WebDriver

Aug 12th, 2013 ·  Comments
Với Selenium IDE, chúng ta có thể tạo được các test case ở mức đơn giản với Record-Playback. Bằng cách sử dụng thêm các add-in bên ngoài, chúng ta có thể tiến hơn một bước trong việc sử dụng cấu trúc điều khiển để test case linh động hơn. Tuy nhiên, các add-in không thực sự mạnh trong điều khiển workflow của test case. Để bù đắp việc này, Selenium cung cấp cho chúng ta hai loại thư viện để sử dụng mã nguồn của Selenium khi tương tác với ứng dụng Web: Selenium Remote Control (Selenium RC) và Selenium WebDriver (Selenium 2).
 Về cơ bản thì cả hai loại Selenium này đều cho phép chúng ta sử dụng các ngôn ngữ lập trình – Java; .Net; PHP; Python; Perl; Ruby – để thiết kế test case. Tuy nhiên, về cá nhân thì mình thích bạn Selenium WebDriver hơn bạn Selenium RC. Đơn giản vì cái nào ra sau sẽ mạnh mẽ hơn cái trước

Đùa thôi, nghiêm túc mà nói thì mình nhận thấy Selenium WebDriver có các thế mạnh so với Selenium RC như sau:

Kiến trúc
Kiến trúc của Selenium WebDriver đơn giản hơn rất nhiều so với Selenium RC. Selenium WebDriver làm việc trực tiếp với trình duyệt ở mức độ hệ điều hành trong khi Selenium RC làm việc với trình duyệt thông qua một hệ thống Server ảo – Selenium Remote Control (RC) Server. Nó cứ như có một người trung gian để chuyển lệnh từ test case của mình lên trình duyệt vậy.

Tốc độ
Tất nhiên, khi làm việc trực tiếp giữa hai người (Selenium WebDriver – trình duyệt) thì nó phải nhanh hơn làm việc thông qua người trung gian (Selenium RC – Selenium RC Server – trình duyệt) rồi hen.

Tương tác như đời thật
Với Selenium WebDriver, chúng ta không thể tương tác với các đồi tượng UI ẩn (hidden)/vô hiệu (disable) trong mã nguồn web. Ngược lại, với Selenium RC, chúng ta có thể làm mọi đồi tượng UI có trong mã nguồn, bất kể đồi tượng UI đó nó như thế nào trên UI. Điều này thực sự không tốt cho việc kiểm thử phần mềm vì nó bỏ qua các lỗi UI có thể có. Hơn nữa, trong đời thực, chúng ta không thể tương tác với các đồi tượng UI ẩn/vô hiệu.

Giao diện lập trình ứng dụng API – Application Programming Interface
Các APIs mà Selenium WebDriver cung cấp trong thư viện đơn giản hơn so với Selenium RC. Ví dụ như, với Selenium WebDriver, chúng ta chỉ có click; còn với Selenium RC, chúng ta có click, mouseDown, or mouseDownAt. Quá phức tạp phải không? Hơn nữa, khi sử dụng Selenium WebDriver, chúng ta xác định hành động trước rối mới đền đối tượng UI (làm gì trên đối tượng nào); ngược lại, với Selenium RC, chúng ta xác định đối tượng UI trước rồi mới nói đến làm gì trên nó (với đối tượng này chúng ta sẽ làm gì).
 Bên cạnh đó, Selenium WebDriver không phải không có điểm yếu. Thứ mà mình không thích nhất của Selenium WebDriver đó là mã nguồn của nó không chạy trên Selenium Grid được. Cho nên, khi muốn thực thi test case với Selenium WebDriver trên nhiều trình duyệt khác nhau, chúng ta phải cấu hình bằng tay. Buồn là vậy….

http://www.vntesters.com/gioi-thieu-selenium-webdriver/Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-35243332927624459842013-08-26T20:39:00.000-07:002013-08-26T20:39:05.363-07:00Introduce yourseftPoints to remember before you attend this interview question:

Assume, now you are sitting in front of the HR manager.

Take the initiative to attend this question and tell your real answers.

  Nidhya said: (Fri, Aug 23, 2013 07:19:59 PM)

 Good Morning Sir/Mam.

I am glad to introduce myself in front of you.

My name is Nidhya, I have born and bought up in Tamil Nadu (Virudhunagar). I did my schooling in my native place.

I am doing BE final year in Sri shakthi Institute of engineering and technology.

I am good thinker and quick learner, I am an optimistic person, flexible to work in any shift, have an ability to complete the assignment in the given interval of time, can work for longer hours without any break. I never neglect any opportunity for my improvement without losing hope.

I like playing Table Tennis, Listening to the music and in vacant time I also spent some of the time in my kitchen where I cook delicious food.

My short time goal is hire by good company. My long term goal is to become successful in my field& will be more responsible, knowledgeable personality & respective position in my company and take to my family feel proud of me.

I think this would be possible by working in a highly reputed company like yours.

Coming to my college project, I had done a project "HOTEL STORAGE MANAGEMENT",

On that, based upon the usage details in departmental store, my project display the available stock in store room. I done this project in (SQL and VB) and (JAVA and MSACCESS).

Coming to my family background, my family consists of five members including me, my dad is a former and mom is homemaker. And I have two brothers.

That's all about myself.

Thanks for giving this chance to me.

View Comments(11) | Your comments please ... |  +161   -34

  Vandhana said: (Fri, Aug 23, 2013 07:10:42 PM)

 Hello sir.

I am very glad to introduce myself to you,

My name is Vandhana mohan, I am pursuing my MCA with 77% in reputed university,

Did class 10 in reputed school with 83%, and class 12 with 83%.

Scored 92% in my UG and awarded TOPPER certificate in my reputed college.

Coming to my family.

I am the only daughter in my family and.

My dad MR. R. Mohan working as ASST. Registrar in reputed University.

My mom MRS. M. Padmavathy is an home engineer.

My strength is having positive attitude in all task that I work and will be putting maximum effort in completing the assigned task.

Prayer, that enrich my positive attitude.

Self-motivation, that increases my confidence in facing any situation.

Easy going, that I will easily mingle with the circumstance and work accordingly to achieve my goal.

My weakness is that I can't bear any criticism that I get from outsider,

I am equally working to get rid of this weakness in my future, because people tell criticism is the only way of analysing ourself and to correct our mistakes.

My hobby is to hear lite-music, because it makes our mind stress free.

My short term goal is to be selected in your estimated company, and to be an active worker.

My long term goal is to be a role model for my fellow workers.

That is all about me sir, thank you for this opportunity and your patience, in listening me sir.

View Comments(3) | Your comments please ... |  +21   -20

  Mohit Sharma said: (Fri, Aug 23, 2013 06:16:36 PM)

 My name is Mohit Sharma. I am first child of my parents. I have two brother. My Father name is Shri Bijendra Sharma.

He work in a plastic pcv company. My both brother is studying.

I have completed my School life in year 2008. 10th in 2006 with 50% marks & 12th with 71.08% marks.

Completed graduation in 2011. With graduation I have done two year computer Diploma. A level & O level with B grade.

I have more than two year works experience in two company. I hobbies is playing chess And reading books.

View Comments(2) | Your comments please ... |  +17   -49

  Mohan said: (Thu, Aug 22, 2013 04:08:34 PM)

 Hello.

I am very glad to introduce by myself in front of you.

My name is Mohan and I completed my schooling in Nutan Mahavidyalaya school with 65 percentage in 10th class, and I completed my intermediate at same college in Nutan Mahavidyalaya with 50 percentage and also completed my graduation 66 percentage in the same College. And I am pursuing MCA 3rd year in MGM IOM Aurangabad.

Coming to my family.

My father Arunrao who is a farmer.

My mother Anita is housewife and.

I have one younger brother Balaji who is doing BE in reputed College in Chikhali.

That's all about my family.

My hobbies are listening playing Chess, music, watching movies, chatting with friends.

My strength is hard work, confidence, prayer, positive thinking and I learn through my mistakes.

My weakness is nervousness, sensitive.

My short term goal is to crack this interview and get placed in this company and enhance my knowledge.

My long term goal is to fulfill my parents desire.

That's all about myself.

Thanks you.

View Comments(19) | Your comments please ... |  +129   -20

  Varun Kotian said: (Thu, Aug 22, 2013 03:18:05 PM)

 Good morning sir/madam,

Am Varun pursuing my 5th semester mechanical engineering in Mangalore.

Am the second child to my parents. My hobbies are listening to music, jamming with my guitar, reading novels and of course trying a bit to save planet earth by gardening.

My strength is that I can absorb utmost pressure, which I have proven through my academics.

I work with integrity through which I get in good terms with my fellow employees.

My weakness is that I find it difficult to reject any project given to me no matter how complex it will be which also attributes leadership in me, and I will leave no stone unturned in nailing the given project.

Prayer has always been by far the best motivating factor and also a confidence booster for me.

My short term goal, without a shadow of doubt is to get hired for this post in your company. And my long time goal is to see your company get past many other competitive companies and get it to the top.

Thats pretty much it Sir and thank you for this opportunity.

View Comments(3) | Your comments please ... |  +20   -9

  Tinu said: (Thu, Aug 22, 2013 02:00:00 AM)

 I am very glad to introduce by myself in you.

I am Tinu.

I am from india, I was born and brought up in Tamilnadu (chennai) , my husband working here for alfa company from site engg from abu dhabi, so only I came here,

Write now we are stay in abu dhabi.

Coming to my education,

I have completed master of computer application from bharathiyar university with aggregate mark of 80% first class with distinction,

Coming to my work experience,

After completing my graduation I taken up a job for educational institute for all software courses taken, later I have joined on bbc in chennai, my job role is to handle admin and data entry operator, document preparation, file management,

Coming to my family.

My father is a fisherman from india,

My mother is a homemaker,

I have two elder sisters, they are married and well settled,

My strength are self confident, smart worker, smile, I can adjust and interact with new people easily,

My weakness I trust easily anybodies,

My aim is to get a good job for this interview itself.

My hobbies are watching TV, listening music, and chatting friends.

That's all about myself.

Thank you.

No comments yet | Your comments please ... |  +16   -12

  Gowthami said: (Wed, Aug 21, 2013 08:25:52 PM)

 Firstly I would like to thank you for giving me this opportunity and its my pleasure to introduce myself.

I am Gowthami from salem. I pursuing BE in stream electrical and electronics engineering in vellalar college of technology with 91%. I have completed HSC from Vidhya mandir hr sec school.

My strength is I like to take challenges that I CAN DO IT with my hard work, self confidence, self motivation.

And I like my way of thinking that I take both success and failure in balanced manner.

I never neglect any opportunity for my improvement without losing hope.

My goal is that I want to be one of reason for the success.

My hobby is listening music that regains my strength even in adverse situation.

Thank You.

View Comments(7) | Your comments please ... |  +34   -5

  Gourav said: (Wed, Aug 21, 2013 08:00:09 PM)

 Hello Sir/madam.

I am Gourav Kumar. I completed my schooling from Ranchi, Jharkhand and is currently pursuing BE. From Manipal Institute of Tech in Civil Engineering. I belong to a business oriented family.

I am one of the top scorers in my branch. My strengths are I am a quick learner, hard working, punctual and a team person. I try to overcome my weaknesses of being shy and easily believing others. I love to play cricket, watch movies, spend time with friends and family and listen to music.

Thank you.

No comments yet | Your comments please ... |  +10   -5

  Nisha said: (Wed, Aug 21, 2013 06:15:07 PM)

 It's my pleasure sir/mam.

I am Nisha from coimbatore.

My father vasan working in Tamilnadu Electricity Board, my mother Renuka who is homemaker and a younger brother doing his 11th standard.

I have done my schooling in St Mary's convent.

My strengths are I finish my work perfectly, hard working and respect one's views which are.

I always wish to make a happy surrounding.

My hobbies are gardening, playing shuttle, kho-kho.

My short term goal is to own a job and my long term goal is to become a great person in this society.

View Comments(1) | Your comments please ... |  +5   -6

  Rajashekar said: (Wed, Aug 21, 2013 06:14:31 PM)

 Hello sir,

First of all Thank you for giving me opportunity to introduce my self.

I am Rajashekar, coming to my family background my father is an salesman working in an electronic showroom from past 25 years located in Hyderabad. Mother is an housewife. I have one brother and sister. Sister is elder to me she is married, an housewife and having small child, he is one year old. Brother is Younger to me pursuing his MBA.

Educational background -I done my graduation from SP college affiliated to osmania university, Hyd in march 2008. Intermediate from New govt junior college located in Hyderabad in March 2005 and SSC from tagore's home high school located in Hyd in March 2003.

Career objective is to work in a reputed company, where I can improve my acknowledge and also achieve career growth wise.

I am Self motivated, hard worker, mingle with everyone, easy adaptable.

Hobbies are reading books and listening music.

View Comments(1) | Your comments please ... |  +3   -3

  Mohammad Altamash Ansaeri said: (Wed, Aug 21, 2013 05:43:12 PM)

 Good Morning,

With pleasure Sir.

I am Mohammad Altamash Absari form Kamptee, dist NAGPUR (M. S).

I did my school from.

I have done my BE in Computer Science and Engg, from Wainganga College of Engg and Management, with 60% aggregate and degree with 64.76%.

I had my secondary education from M. M. Rabbani High School Kamptee with 60.80% and.

Higher secondary education with 64.33% from M. M. Rabbani High School Kamptee.

My strength hard work, my technical knowledge, I am adjustable as per situation and not losing hope, positive thinking, self confidence. I believe in GOD.

My weakness, I get tensed when things not going as per my expectation. My short term goal is a cracking this interview and long term goal is get a high position in this company.

My ambition is to become a IAS Officer.

My hobbies are watching movies, playing FOOTBALL, chess, browsing educational sites and make desktop Application.

My Favorite game is Football is Also my LIFE.

I represent Two time at State Level in Football.

Thank you Sir its ALL about ME.

No comments yet | Your comments please ... |  +5   -6

  Shamim said: (Wed, Aug 21, 2013 05:23:48 PM)

 Well, I am Shamim from Bihar. I did my schooling and intermediate at my native itself and Bachelor of Business management in finance & accounting from Bangalore university, in 2004 and master of Business administration in finance from Visveshwarai technological University, Karnataka, in 2006.

Currently I am working with Qipco Holding Company, Doha, Qatar as an senior Finance Executive & I am having over 8 years of extensive experience in all areas of finance and accounting. I am so flexible to work in different environment. My hobbies are listening to music, singing, travelling & net surfing.

We are five in the family my father, mother, a brother & a sister that's all.

View Comments(1) | Your comments please ... |  +4   -2

  Mudra Sheth said: (Wed, Aug 21, 2013 04:04:09 PM)

 I am Mudra Sheth from Instrumentation branch of L. D. C. E.

Born in Mumbai did most of my schooling in Vadodara, then had to continue in valsad and Jamnagar due to father's job as a chemical engineer.

I have younger sister who is in architecture and my mother is a homemaker. She has always been very supportive and inspiring.

My hobbies include sketching, painting, listening to music and travelling.

As I mentioned earlier I have been to places so one of the qualities I developed over time is adapting to changes.

I like adventure and travelling so I often go on tracking camps.

Other things on my interest include robotics and automation, so I participated in robot racing events both land and water and even once managed an event called robo sanjivani.

I am now willing to work in the field of my study with full dedication in reputed company such as yours where I can develop my skills further.

No comments yet | Your comments please ... |  +3   -2

  Hemant Jain said: (Wed, Aug 21, 2013 03:03:51 PM)

 First of all, a warm good morning to you.

My name is Hemant Jain, I'm belongs from ALWAR, RAJASTHAN.

I have done B-Tech in the field of electronic instrumentation and control engineering from the college named as institute of engineering and technology which is affiliated to Rajasthan Technical University.

I have done Secondary Education from the Kendriya Vidyalaya and senior secondary from St. Anselm Sen. Sec. School.

I have done summer Internship on Microstrip patch antenna.

There are two projects have been built during B-Tech, in which Dactylogram based armor system as Minor Project and Fingerprint Based attendance system as Major Project. WE are the family of four members, my father's name is Mr. K. L Jain and he is a businessman in the field of tea marketing.

My mother's name is Mrs Saroj Jain, she is a teacher in government school. I have one elder sister got married several years ago.

My strength are tolerance capacity, positive attitude and have patience in opposite situations. Also I am a Smart Worker too.

Weakness is got tensed when situation is out of control.

My hobbies are to playing synthesizer and making printed circuit boards in spare of time.

My main aim of life is to be honest throughout life and achieve repudiated position.

Motto of life is to LEARN and SERVE.

Thank You.

No comments yet | Your comments please ... |  +3   -1

  Archana said: (Wed, Aug 21, 2013 11:25:03 AM)

 Hi. Sir,

Thank you for giving this opportunity.

My name is Archana. I completed my school education at my village with 87.3%,

And my secondary education completed at nellore with 93.3%.

And my B-Tech completed with 77%.

And recently I completed java course.

Coming to my personal details I have three sisters and my mother is home maker.

And coming to my strengths I am good logical thinker, self confidence, hard worker.

My hobbies playing chess.

Thank you.

No comments yet | Your comments please ... |  +6   -3

  Mayank said: (Wed, Aug 21, 2013 10:57:34 AM)

 Hi, I am Mayank Rajan from patna. I completed my 12th and 12th in my native place, after that I move on to bhubaneswar where I completed my B-Tech in computer science branch from BPUT university with 7.1 cgpa.

My hobbies are listening music, cricket and badminton and in vacant time I also spent some of the time in my kitchen where I cook delicious food.

Coming to my family member: My father is a government employe, my mother is a housewife and I have one brother & sister both are studying in B.Com and B.A respectively.

My strength is I am hard working, user friendly, self motivated and self confidence.

My weakness is nervousness.

My short term goal is hire by good company.

My long term is be a good Project manager in a reputed company.

This is all about myself.

Thank you for all of you to give me this opportunity.

No comments yet | Your comments please ... |  +2   -3

  Nawal Prajapati said: (Wed, Aug 21, 2013 10:25:18 AM)

 Good Morning Sir.

1st of all I would like to say thank you to giving me this opportunity to introduce my self in front of you.

I am Nawal prajapati,

I am from jaipur (rajasthan).

May I start with my qualification.

I have done my graduation in business management and along with graduation I have also done one year certification course in aviation and hospitality from Kingfisher training academy jaipur.

May I tell you about my family.

In my family we are seven members my father, mother, my elder brother and my brother wife and his two son,

My father is a contractor and my mother is house maker, brother has a mobile repairing shop, my brother wife is also house maker and my two nephew are studying in class 8th &6th,

May I tell you about my work experience.

I worked 6 month in ananta spa and resort as a Job trainee.

And after that I want in clarks inn alwar rajasthan as a FOA.

And now I am working in clarks inn moradabad (up) as a FOA to till now.

I worked on IDS & Win express.

And my short goal is to get job in your hotel.

My strength is I am self motivated, quick learner.

My hobbies are browsing, chatting, guitar play, listen to music.

It's all about me.

View Comments(1) | Your comments please ... |  +2   -1

  Vikash Kumar said: (Wed, Aug 21, 2013 02:11:55 AM)

 Good morning sir/madam.

My name is VIKASH KUMAR.

I am student.

I belong to BIHAR.

I have done secondary school and intermediate from BSEB Board.

I also done Bca from SMU (Sikkim Manipal university). I am pursuing MCA final year student from pune university.

My hobbies are reading news paper and cricket paying and sometimes watching movie.

Family background - I have six member including me. My father is a farmer. My mother is housewife. I have one brother and two sister.

My short term goal is crack this company interview and get place in this company and enhance knowledge.

My longterm goal is a high position in this company after five year.

Strength - Positive attitude, self motivated, observe good point, Quick Learner.

Weakness - Nervous, emotional, I eat fast.

View Comments(1) | Your comments please ... |  +3   -3

  Mahalakshmi Adinarayan said: (Tue, Aug 20, 2013 11:06:53 PM)

 Hi,

I am very happy to introduce myself in front of you.

My name is Mahalakshmi Adinarayan and I did my BCA from SNDT College Pune.

I did my schooling from S V Union School Pune.

My native place is Chennai.

Coming to my family my name is Adinarayan and he is a Central Government Employee.

My mother Anuradha is a Housewife and I have one elder sister who is married and settled at chennai.

My hobbies are listening music and chatting with friends.

My short term goal is to crack this interview and hire by you. My long term goal is to get higher position in this company.

Thats all about myself.

Thanks for giving this chance to me.

No comments yet | Your comments please ... |  +3   -5

  Bipin Kumar said: (Tue, Aug 20, 2013 08:34:13 PM)

 Hello sir/madam.

I am glad to introduce myself in front of you.

My name is Bipin kumar, native of dhanbad jharkhand, just completed my BE. With Mechanical branch from SRITS, Datia, affiliated from RGPV, Bhopal.

I had done my schooling from SVM, sindri, Dhanbad.

Coming to my family background my father is a retd. Employ of SAIL, retd. On the post of Senior formain, my mom is a homemaker, my older bro is a software testing engineer in MNC at Delhi.

My hobbies are listening music, playing chess, pranayama dhyana, and hangout With friends which I love most.

My strengths are hard work, dedication to the work, and adaptability, and team which is the key factor leads to success, and weakness is I feel restless until I finish my job within time.

My short term goal is to get a job in your esteem organization, and long term goal is fulfill my parents expectation.

Thats all about myself.

Thank you.

No comments yet | Your comments please ... |  +2   -4

  Pradyumna said: (Tue, Aug 20, 2013 07:21:59 PM)

 Good Morning sir,

First of all I would like to thank you for giving me an opportunity to describe about my self. I was born and brought up in hyderabad.

I studied in local private school and done 12th from Narayana jr college. Cracking a decent rank in AIEEE I was into this NIT which is highly reputed for its studies. Coming to my family, my father is an Asst. Manager in a transport company.

My mother is a homemaker. I have a sister. She recently got married. Looking through my C.V. You will know that I have a very good academic record.

In 1st year I was a bit lagging behind the class because I was never been such distant to my parents. But as you can see I bounced to back to a high percentage in second year and continued to be in the list of toppers.

My one and only goal is to make my family feel proud of me. I think this would be possible by working in a highly reputed company like yours.

I am a lazy guy at my work like I always try to solve my problems at ease but in a truthful way. I am also quick learner.

Thanking you sir.

No comments yet | Your comments please ... |  +3   -0

  Chandu said: (Tue, Aug 20, 2013 06:59:13 PM)

 Hello sir/madam,

I am glad to introduce myself to you.

Myself Chandu from Mahbubnagar district.

I did my schooling in Government high school and got 91% in SSC.

So based on merit I got seat in IIIT-Basar which is a 6-years integrated B-Tech course.

I got 8.7 CGPA in PUC and now I am pursuing my B.Tech 3rd year in Civil engineering stream.

About my family My father is a teacher, my mother is home maker and I have a younger brother who is studying SSC.

My hobbies are playing games, listening music and reading novels.

My strengths are optimism, practical thinking, communicating easily with others.

My weakness is unable to do the task unwillingly.

My short term goal is to get the job and my long term goal is to be in a good position in my job.

It's all about me. Thank you sir/madam.

No comments yet | Your comments please ... |  +2   -0

  Shamim Khan said: (Tue, Aug 20, 2013 06:46:41 PM)

 Well, As you know I am Shamim from Bihar. I did my schooling & intermediate at my native itself and Bachelor of Business management (BBM) in finance & Accounting from Bangalore University, Bangalore, in 2004 and Master of Business Administration (MBA) in finance from VTU, Karnataka, in 2006.

I am having over 8 years of extensive experience in all the areas of accounting. I am so flexible to work in different environment and my hobbies are listening to music, net surfing, singing and travelling to new places.

If the interviewers ask anything more then you can say more about yourself & when you introduce, be careful about pronunciation, fluency, comfortable and the way you talk should be good.

No comments yet | Your comments please ... |  +2   -2

  Raju said: (Tue, Aug 20, 2013 04:39:53 PM)

 Hello Sir/Madam,

Thanks for giving the opportunity to introduce myself.

Myself Raju K from Bangalore.

My Family consist of four members, My father is a coolie, my mother is a homemaker,

And I have a brother and he is pursuing his 2nd year B.Com.

I have completed my S.S.L.C in Government High school New fort. And P.U.C in the same college.

I have completed my Graduation in B.Com at Government First Grade College Jayanagara.

My hobbies are Watching and playing cricket and Badminton and Chatting with friends.

My strength is positive thinking and I learn through my mistakes.

My Aim is to become a Good Business person.

Thanks for giving an opportunity to introduce myself.

No comments yet | Your comments please ... |  +1   -0

  Salman said: (Tue, Aug 20, 2013 03:02:39 PM)

 Good morning sir/madam.

I'm very glad introduce my self in front of you.

I'm Salman.

I'm coming from dindigul.

Coming to the my education.

I have done my BE in mechanical engineering, from indra ganesan college of engineering, trichy.

I did my schooling from john paul Higher secondary school, dindigul.

Coming to my family back ground.

My family consist of 5 member.

My father is labor.

My mother is home maker.

I have two younger brother.

Coming to my strength.

My strength leadership quality, innovative thinking, self confident, efficient learner.

My short time goal is to crack this interview and hire by you.

My long time goal is to fulfil my parents desire.

Thank you.

No comments yet | Your comments please ... |  +4   -0

  Tukaram said: (Tue, Aug 20, 2013 02:24:20 PM)

 Hello sir/madam.

Thanks for giving me an opportunity to tell me about myself.

I am Tukaram completed my graduation from Rsml Latur and doing my post graduate from Navsahyadri group of institute.

I did my schooling L M V chakur.

About my family background we are 5 people father, mother, 2 elder brother.

My father is a Farmer and my mother takes care of us.

One the elder brother works in panchyat samiti & other elder brother work as a doctor.

My short term goal is to get job in reputed company.

No comments yet | Your comments please ... |  +1   -0

  Vignesh said: (Tue, Aug 20, 2013 01:55:46 PM)

 I Would like to introduce my self, in front of you. My self, V. Vigneshwaran from ooty.

Coming to my Educational qualification.

I did my schooling in Morning Star Higher Secondary school, ooty.

I completed 10th with 89% and 12th 84%. After that I joined Bsc IT in Dr. NGP Arts and Science college.

I am a Student of third year.

Coming to my family background.

In my family, We are five including me. My father name is Mr. K vijayasundaram. He is former.

My mother name is Mrs. K Valarmathi. She is home maker.

I have two brothers. They are Vinoth and Vivek. My elder brother is a Auto driver and My Younger brothers is doing 12th standard.

Then,

Coming to my Experience.

I have 4 years experience in Medical Records Management at Kovai Medical Centre and Hospital.

Coming to my strength.

I am a self motivated person. And also I am a hardworker.

I am good programing C, C++, HTML.

My short term goal is placed in a good MNC company.

My long term goal is take care of my parents.

That's all about me.

Thank you.

No comments yet | Your comments please ... |  +2   -1

  Kalpana said: (Tue, Aug 20, 2013 10:47:23 AM)

 Yes sir with pleasure,

I'm Kalpana Kalpana means creativity.

I'm from thanjavur.

My educational qualifications are,

I have completed B.Com ug graduation from poondi pushpam college.

And I have also completed M.Com graduation through correspondence.

Coming to my family background.

My father is a salesman in provisional shop.

My mother is a homemaker.

I have to younger sisters both are studying.

My strength is easily maintain a good relation to people.

And my weakness is emotional and little shy girl.

My hobbies are reading books and browsing.

And my goal is working with a reputed company like this company.

Thank You.

No comments yet | Your comments please ... |  +2   -0

  Ananya said: (Tue, Aug 20, 2013 12:27:24 AM)

 Hello sir/mam,

With my pleasure, thank you sir/mam for giving this opportunity to introduce myself.

My name is Ananya singh.

I am pursuing my B-Tech in ece from B.C.Roy college of engg, durgapur.

I completed my school from Bhartiya vidya mandir, kolkata in CBSE board.

Coming to my family, my father is a railway employee & my mother is a housewife. I have 1 younger brother who is in 12th std & 1 elder sister who is married.

My hobbies are listening musics, playing video games, watching movies & dancing.

My short term goal is to crack this interview & get a good position. My long term goal is to become successful in my field & will be more responsible, knowledgeable personality & on respectable position in my company.

Thats all about me!

Thank you sir.

No comments yet | Your comments please ... |  +3   -2

  Kalyan Kumar said: (Mon, Aug 19, 2013 10:37:45 PM)

 Hi.

I am glad to introduce myself in front of you.

I K. Kalyan kumar. I am the elder son of Mr. Sreenivasulu garu and Mrs. Uma garu.

Coming to my career, I completed my B-Tech (MEC) in RGMCET, Nandyal with 67.54 percent.

I did my schooling in Ratnam residential high school, nellore.

Coming to my college project, I had done project on formulae car. On that I was played an important role in design and analysis of FSAE car.

My short term goal is to become a design engineer in reputed company and serve my skills.

Thats all about myself.

Thanks for giving chance to express myself.

No comments yet | Your comments please ... |  +1   -0

  Prasad said: (Mon, Aug 19, 2013 06:04:34 PM)

 Good morning sir/madam,

First of all I would like to thanks to you for giving this opportunity.

I am Prasad and I was born in Andhra Pradesh.

Coming to my education:

I had completed my B. TECH in ABR ENGINEERING COLLEGE belong to IT-branch.

I had completed my intermediate in SDA SCE. SCHOOL in Krishna.

I had completed my SSC in SDA SCHOOL in VZM.

My hobbies are playing volleyball and leasing music.

My strength is hard-work.

My short time goal is to get a good job.

My long time aim is to fulfil my parents desire.

Once again thanking you sir/madam.

View Comments(1) | Your comments please ... |  +3   -0

  Shimron said: (Mon, Aug 19, 2013 11:55:34 AM)

 Hi guys.

Here I am writing some important tips and tricks that how to give a good self introduction and some do's and don'ts.

Never use myself, herself, himself (instead of these words you can use my name is Or I am.

Never introduce your family members names like my dad is prasad and mom is lakshmi (u can use my dad is agent and mom is house maker).

Don't say my mom is house wife because this is completely wrong and it will indicate bad meaning (use house maker).

This is the sample self introduction.

My name is Maruthi prasad I am from andhra I was born and brought up in andhra pradesh I am 21 years old I completed my degree in hindupur with B.Com computers as specialization and I did my puc from sbvv college and sslc as same school.

Coming to my family background my family consists of five members including me dad is working as marketing as marketing agent and mom is house maker.

And I have two siblings one sister and one brother.

Coming to my skills.

Technical skills are proficiency in communication skills.

I am adaptable and optimistic.

I am quick learner.

Related to my hobbies are playing cricket and listing music.

Thank you sir for giving this chance to introduce myself.

Always be confident (not over confident).

Be sure that you are in simple dress scene (like light colors).

Be with good little smile.

Maintain time punctuality.

View Comments(5) | Your comments please ... |  +23   -1

  Shimron said: (Mon, Aug 19, 2013 11:41:00 AM)

 Hi sir/madam.

I am very much happy to introduce myself in front of you sir/madam.

I am Shimron Maron, my native place is Tumkur.

I completed my primary schooling in my native Tumkur, and 12th standard in BES College Bangalore.

Coming to my family background I belong to family of five members, myself, my dad, my mom, elder brother and elder sister.

My dad is agriculture officer.

My mom homemaker.

My elder brother and elder sister both are married and well settled in life.

My hobbies are listening music, cooking, drawing etc.

My strength is hard work, dedication, confidence, prayer and willing to learn new things and quickly mingle with others. I believe in hard work and I can handle any situation with positive attitude without losing hope.

My weakness is lazy about things which I was not interested. And very sensitive.

That's all about myself.

Thank you.

No comments yet | Your comments please ... |  +3   -0

  Wasim said: (Mon, Aug 19, 2013 11:20:45 AM)

 Hello sir/madam,

I am very glad to introduce myself.

I am Wasim, I did my schooling and intermediate from my native place, I completed my graduation and post graduation from Pune university. My hobbies are to play lawn tennis and cricket.

I am quick learner, adopt at any conditions and team players, I hardly knows my weaknesses but each and every person is not perfect.

Come towards my family, I have six members including me, my father is shopkeeper, and mother is housewife.

No comments yet | Your comments please ... |  +1   -1

  Ashish Kumar Pathak Akp said: (Mon, Aug 19, 2013 01:59:13 AM)

 Hello sir,

I am thankful to you for giving me this opportunity to introduce myself in front of you.

Myself Ashish Kumar from muzaffarpur, bihar.

I am pursuing my B-Tech in information Technology from aryabhatta institute of engineering and management durgapur.

Apart from this, I have done my schooling from north point children's school and st, xaviers school.

My hobby is listening songs.

My strengths is hard working towards task.

My weakness is I copy good thing of people.

My aim is to achieve the best position in the software field according to my knowledge.

Thank you.

No comments yet | Your comments please ... |  +1   -0

  Arvind Rai said: (Sun, Aug 18, 2013 06:19:56 PM)

 Thanks for giving me an opportunity to tell me about myself.

I am Arvind Kumar Rai completed my Post graduation from periyar university in marketing stream and completed my under graduate from the U.P. College at Varanasi.

I did my schooling from D.A.V. Azamgarth.

About my family background we are 6 people father, mother, 2 elder sister and 1 elder brothers.

My father is an govt employer and my mother is a housewife.

Both the elder sister married, and my brother is a government employee.

My short term goal is to get this job & crack this interview.

I am self motivated, Hard worker.

My hobbies are traveling, meeting people, listening music.

Thank you.

No comments yet | Your comments please ... |  +1   -0

  Paridhi Agrawal said: (Sun, Aug 18, 2013 06:04:14 PM)

 Hello everyone!

I am Paridhi Agarwal.

I belong to Indore.

My father has business in shares and real estate. My mother is a housewife.

I have an elder brother. He is doing job in Dubai.

I am pursuing BE in IT branch from Sanghvi Institute of Management and Science.

My till date aggregate is 6.2 pointers.

I learned classical dance. And I am very good volleyball player.

I aspire to become a person who never need to see the price tags of the things which I want to buy.

My strength is adaptability. And I am a good learner.

My weakness is my emotional nature.

My hobbies are reading newspaper and doing dance.

Thank you !

No comments yet | Your comments please ... |  +1   -1

  Ashu said: (Sun, Aug 18, 2013 02:44:32 PM)

 Good Morning sir/madam.

Its a great pleasure to have a chance of interaction with the industry gems like you all.

My name is Ashish kumar. I had completed my schooling from patna central school with a1 grade.

Currently I am a final year student of petroleum engineering in ISM Dhanbad.

I came from rural background and my father is a farmer and mother is a homemaker.

My hobbies are photography, playing cricket and travelling.

My strengths are creativity, dedication, adjustable to change in any manner.

My weakness is to take my work as a sole target and many a times hurting others in this due time of completion of my work.

I don't believe in long term goal rather I divide them into shorter one like right now my single goal to crack this interview.

I have no interest in higher studies if you want to know and want to prove my worth in your company.

Thank you.

No comments yet | Your comments please ... |  +3   -0

  Vino said: (Sun, Aug 18, 2013 02:21:29 PM)

 Good morning sir/madam.

First of all I tell thanks for giving this wonderful opportunity to me.

I am Vinotha. I am doing my final year computer science engineering.

I did my schooling in Government higher secondary school, Salem. That is my native place.

Coming to my family:

My family consist of four members, including me.

I am the elder daughter in my family.

My father name is Mr. V.Chidambaram. He is a Farmer.

My mother name is Mrs. C.Leela. She is homemaker.

I have one younger brother. He is pursuing Second year EEE.

My strengths are punctuality, hard work, positive thinking and self confidence.

My weakness are overconfidence and I trust anybody easily.

My hobbies are Reading short stories in Tamil, hearing songs and watching TV.

My passion is in web designing. I did some mini projects in this field.

My short term goal is to crack this interview and get placed in this company.

My aim is to be settle my life with a good financial position and do social service.

Thank you.

No comments yet | Your comments please ... |  +0   -0

  Yash said: (Sun, Aug 18, 2013 10:21:01 AM)

 Good morning sir/madam,

I am very glad to introduce myself in front of you.

I am Amrutha. I successfully completed my schooling in Z. P. SS and got district first in 10th class with 94.5% and intermediate with 90%.

I am pursuing B-tech 3rd year in Civil engineering Branch.

My strengths are hard working, having patience, self-confidence.

My short term goal is to do the job which satisfies me.

My long term goal is to look after my parents happily.

My hobbies are listening music, talking with friends, solving puzzles.

Thank you for giving me this opportunity sir/madam.

No comments yet | Your comments please ... |  +2   -0

  Yamini said: (Sun, Aug 18, 2013 09:57:38 AM)

 Good morning Sir/madam.

I am Yamini, First of all I would like to thanks to you for giving this opportunity to tell about my self.

I was born on 3rd july 1992 at chittor which is in Andhra pradesh. I did my primary schooling from chittor and I did my 10th from bangalore at presidency public school in the year 2008 with 61.92%.

I completed my PUC from bangalore at SKIES in the year 2010 with 61.67% And I joined for my graduation in the same college that is SKIES, I completed my graduation in the year 2013 with aggregate of 62.82%.

And now I'm seeking for a job in a well reputed company like yours after joining to a job I'm planning to pursue ICWA.

Strengths:

Mingling nature.

Hard working with smart working.

Self confident.

And I don't want to reveal my weakness.

Hobbies:

Collecting outdated currencies, listening songs.

Coming to family background.

My family consist Four members including me.

My father building painter.

My mother home maker.

I have one elder brother, he completed his graduation. And he too seeking for a job and my self.

Thats all about my self.

Thank you.

View Comments(1) | Your comments please ... |  +1   -0

  Ankit Kumar Jha said: (Sat, Aug 17, 2013 11:48:43 PM)

 My self Ankit kumar jha. Appearing BBA from institute of international trade (kolkata). I passed my matriculation from mithila public school with 86% Marks.

I passed my higher secondary from kendriya vidyalaya bsf kishanganj bihar with 70% marks coming to my family member my father surya kumar jha. He is a businessman and my mother mina devi she is housewife.

My hobby is to play cricket my short term goal is to get job in a reputed organisation where I can apply knowledge and show talent and skill My long term goal is to get promotion in jobs and to fulfil my family desire My strength is my talent, knowledge and skill my weakness is when I get work I won't leave till its completion.

Thanking you for giving me opportunity to introduce my self and for listening my introduction.

No comments yet | Your comments please ... |  +1   -0

  Pavithra said: (Sat, Aug 17, 2013 06:43:50 PM)

 First of all thank you for giving me this opportunity.

I'm Pavithra. Studying BE Computer Science and Engineering. I have completed my 12th in Hindu Secondary School.

I will say about my family. My father name is Karthikyean. He is an goldsmith. My is housewife. I have one elder brother rajini he has completed B.Com. My sister is lakshmi she is studying BE EC.

My hobby is reading the books, playing games, chatting with the friend, listening the music.

My strength is doing the work with hard work and completed within a time.

My weakness is I hate the work which was not interested.

No comments yet | Your comments please ... |  +0   -0

  Dumpati Mahesh said: (Sat, Aug 17, 2013 06:43:28 PM)

 Hello sir/madam,

First of all, I am very glad to introduce myself in front of you.

I am Dumpati Mahesh from Matendla village, which is named for good and honesty people.

Coming to my academics,

Currently I am studying B-Tech in Mechanical engg in one of prestigious institute named TGIIIT-Basar.

I completed my two years PUC course M.BI.P.C in the same institute with 8.41 CGPA.

I completed my SSC in a Rural Development Foundation established school, which is in our village (Matendla) with 90.6%.

My short term goal is to get a job in a excellent company like your's to show my professional skills and enrich them.

Coming to my strengths,

I am very passionate about my work, easily adopted to any kind of environment and having more patience.

My weakness is I am little much sensible.

Coming to my hobbies,

I like to play chess and carrom.

Thank you for giving this opportunity sir/madam.

No comments yet | Your comments please ... |  +2   -0

  Himanshu Khoriwal said: (Sat, Aug 17, 2013 05:49:05 PM)

 Good morning sir/mam,

First of all thanks for giving me opportunity to introduce myself.

My name is Himanshu khoriwal. My hometown is muzaffarnagar. My father is an engineer and my mother is a homemaker. Coming to my educations, I did my schooling from ljp svm inter college, muzaffarnagar, now I'm pursuing my B-Tech from gla university, I'm a final year student. My aggregate till last semester is about 79 %.

I'm a quick learner, optimistic, hard worker plus smart worker and as it is said that doesn't depend how talented you are somethings take their time to happen, so I have patience also and never gives up.

My weakness is that I don't share my problems with others, and try to solve them myself.

Getting into the depth of the work and analyzing every detail is yet another problem I am facing.

As I m a fresher My short term goal is to get a job in a reputed company and long term goal is to achieve a respectable post in company.

Thank you.

No comments yet | Your comments please ... |  +3   -0

  Gowthami said: (Sat, Aug 17, 2013 04:14:01 PM)

 Hi, Myself Gowthami.

I am from bangalore, I have Completed my Diploma in Computer Science & engineering from GPW college (2011) with an adequate of 71 %.

Currently am pursuing (Started 2013 July) BCA from Manipal University.

Am Currently Working for WIPRO i.e. ING VYSYA Project for Technical support From 1.7 years.

Coming to my Family, my father is an Electrician, mom is a Housewife & I have a young Brother who is doing B.Sc.

My Hobbies: Studying, Browsing, Singing, reading Books, etc.

My Long Term Goal: To reach best level in an reputed Organisation.

My Strength:Good Listener, Good Co-ordinator in team, Hard Work, adaptable for changes, Polite, Dedication & Good analyser & Positive Thinker.

If given a Chance to Work, I shall Prove My Best.

Thank You for this Opportunity.

No comments yet | Your comments please ... |  +0   -0

  Vinothkumar said: (Sat, Aug 17, 2013 12:47:42 PM)

 Hello sir I am very happy to introduce my self in front of you. And thanks for give this great opportunity to myself. Fine let me start am V. Vinoth kumar currently am studying final year engineering in the steam of eee. At apce under anna university I am too proud for studying in this university.

During my studies I learn following things how to behave with others, how things could be handled properly and how to solve the problems last one safety requirements. I did my polytechnic course at srpc in polur. As well I finished my schooling at gbh school in my hometown.

No comments yet | Your comments please ... |  +0   -2

  Pradeep Singh said: (Sat, Aug 17, 2013 10:35:13 AM)

 Good Morning Sir/Madam,

I am Pradeep singh.

I am from Pink City jaipur.

Coming to my educational background,

I have pursuing my BCA 2nd year with computer application as my specialization.

I have successfully completed my 10th & 12th from radha bal bharti sen. Sec. School.

This is all about my educational background.

Coming to my hobbies and interest:.

Playing Cricket and Listening Music.

I also make sketch.

My Goal is to be settle my life with a good financial position.

And living a rich simple life.

No comments yet | Your comments please ... |  +0   -1

  Krishna Sumanth.P said: (Sat, Aug 17, 2013 08:30:39 AM)

 Good morning mam.

I am glad to introduce myself to you.

My name is Krishna sumanth. P, graduated from saveetha school of engineering, saveetha university with 78%.

I did my final year project on "Analysis of handover performance in mobile networks" and has presented the same in national conference conducted at Bannari amman college.

I did intermediate in Balaji jr. College, tirupathi and passed with 91% and completed 10th std in Devi Academy, chennai with 75%.

My hobbies are playing and watching cricket and playing chess.

No comments yet | Your comments please ... |  +2   -1

  Arvind Kumar Mathur said: (Sat, Aug 17, 2013 12:22:31 AM)

 Good morning Sir/madam.

First of all let me thank you for giving me this opportunity to introduce myself.

I am Arvind kumar mathur.

I am born and brought up in banaras.

Presently I am working in orchid auto sales pvt ltd since last 14 month.

My previous job with automobile sterling (tata motors).

Coming to the my education,

I have done my MBA from UPTU lucknow.

I had my graduation (B.Com) from c c s university meerut.

Coming to the my family background.

My father is an govt employer in northern railway ghaziabad. And my mother is a homemaker.

I have one younger sister and elder brother.

My strength hard work, I am adjustable as per situation, and self confidence.

My weakness is I will neglect the things which I have not interested and believe to everyone.

My hobbies are playing cricket, listening music.

Thank You.

No comments yet | Your comments please ... |  +2   -3

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-55546744816065850692013-08-19T02:04:00.003-07:002013-08-19T02:04:46.952-07:00Test Plan Sample

Test Plan Sample	 	 ______________________________________

Table of Contents
 1. Introduction

Description of this Document
 Related Documents
 Schedule and Milestones
2. Resource Requirements

Hardware
 Software

Test Tools

Staffing

Responsibilities

Training

3. Features To Be Tested / Test Approach

New Features Testing
 Regression Testing
4. Features Not To Be Tested
 5. Test Deliverables
 6. Dependencies/Risks
 7. Entrance/Exit Criteria

 1. Introduction
 Description of this Document
 This document is a Test Plan for the -Project name-, produced by Quality Assurance. It describes the testing strategy and approach to testing QA will use to validate the quality of this product prior to release. It also contains various resources required for the successful completion of this project.

 The focus of the -Project name- is to support those new features that will allow easier development, deployment and maintenance of solutions built upon the -Project name-. Those features include:
 [List of the features]
 This release of the -Project name- will also include legacy bug fixing, and redesigning or including missing functionality from previous release
 [List of the features]

 The following implementations were made:
 [List and description of implementations made]
Related Documents
 [List of related documents such as: Functional Specifications, Design Specifications]
 Schedule and Milestones
 [Schedule information QA testing estimates]

 2. Resource Requirements
 Hardware
 [List of hardware requirements]
 Software
 [List of software requirements: primary and secondary OS]
 Test Tools
 Apart from manual tests, the following tools will be used:
 -
 -
 -
 Staffing
 Responsibilities
 [List of QA team members and there responsibilities]
 Training
 [List of training's required]
 3. Features To Be Tested / Test Approach
 [List of the features to be tested]
 Media Verification
 [The process will include installing all possible products from the media and subjecting them to basic sanity testing.]
 4. Features Not To Be Tested
 [List of the features not to be tested]
 5. Test Deliverables
 [List of the test cases/matrices or there location]
 [List of the features to be automated ]

6. Dependencies/Risks
 Dependencies
 Risks

 7. Milestone Criteria

Generic Test Plan
Summary: Generic Test Plan.
 Available only as a download:
 <<GenericTestPlan.doc>>
 shared by Armada

Test Plan Sample
Summary: Test Plan Sample.
 Available only as a download:
 <<TestPlanSample.doc>>
 shared by Larry

Quality Assurance Plan
Summary: Quality Assurance Plan.
 Available only as a download:
 <<QualityAssurancePlan.doc>>

Intermediate Test Plan Template
Summary: Intermediate Test Plan Template.
 Available only as a download:
 <<IntermediateTestPlanTemplate.doc>>
 shared by Julie Polyakova

IEEE Standard for Software Test Documentation
Summary: This is a summary of the ANSI/IEEE Standard 829-1983.
 Available only as a download:
 <<IEEEStandardTestPlans.doc>>
 shared by Julie Polyakova

 Share your thoughts on Bugs and Fixes in SQAtester Group.  E-mail to a Friend.

NOTE: This is only a sample of a Test Plan. In real environments your Plan's contents and layout most likely will be different, depends on your project and company requirements.

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-83004595310641945412013-08-19T02:04:00.001-07:002013-08-19T02:04:30.599-07:00Test Plan Sample

Test Plan Sample	 	 ______________________________________

Table of Contents
 1. Introduction

Description of this Document
 Related Documents
 Schedule and Milestones
2. Resource Requirements

Hardware
 Software

Test Tools

Staffing

Responsibilities

Training

3. Features To Be Tested / Test Approach

New Features Testing
 Regression Testing
4. Features Not To Be Tested
 5. Test Deliverables
 6. Dependencies/Risks
 7. Entrance/Exit Criteria

 1. Introduction
 Description of this Document
 This document is a Test Plan for the -Project name-, produced by Quality Assurance. It describes the testing strategy and approach to testing QA will use to validate the quality of this product prior to release. It also contains various resources required for the successful completion of this project.

 The focus of the -Project name- is to support those new features that will allow easier development, deployment and maintenance of solutions built upon the -Project name-. Those features include:
 [List of the features]
 This release of the -Project name- will also include legacy bug fixing, and redesigning or including missing functionality from previous release
 [List of the features]

 The following implementations were made:
 [List and description of implementations made]
Related Documents
 [List of related documents such as: Functional Specifications, Design Specifications]
 Schedule and Milestones
 [Schedule information QA testing estimates]

 2. Resource Requirements
 Hardware
 [List of hardware requirements]
 Software
 [List of software requirements: primary and secondary OS]
 Test Tools
 Apart from manual tests, the following tools will be used:
 -
 -
 -
 Staffing
 Responsibilities
 [List of QA team members and there responsibilities]
 Training
 [List of training's required]
 3. Features To Be Tested / Test Approach
 [List of the features to be tested]
 Media Verification
 [The process will include installing all possible products from the media and subjecting them to basic sanity testing.]
 4. Features Not To Be Tested
 [List of the features not to be tested]
 5. Test Deliverables
 [List of the test cases/matrices or there location]
 [List of the features to be automated ]

6. Dependencies/Risks
 Dependencies
 Risks

 7. Milestone Criteria

Generic Test Plan
Summary: Generic Test Plan.
 Available only as a download:
 <<GenericTestPlan.doc>>
 shared by Armada

Test Plan Sample
Summary: Test Plan Sample.
 Available only as a download:
 <<TestPlanSample.doc>>
 shared by Larry

Quality Assurance Plan
Summary: Quality Assurance Plan.
 Available only as a download:
 <<QualityAssurancePlan.doc>>

Intermediate Test Plan Template
Summary: Intermediate Test Plan Template.
 Available only as a download:
 <<IntermediateTestPlanTemplate.doc>>
 shared by Julie Polyakova

IEEE Standard for Software Test Documentation
Summary: This is a summary of the ANSI/IEEE Standard 829-1983.
 Available only as a download:
 <<IEEEStandardTestPlans.doc>>
 shared by Julie Polyakova

 Share your thoughts on Bugs and Fixes in SQAtester Group.  E-mail to a Friend.

NOTE: This is only a sample of a Test Plan. In real environments your Plan's contents and layout most likely will be different, depends on your project and company requirements.

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-5711793656505169172013-07-30T02:32:00.000-07:002013-07-30T02:32:42.261-07:00Sau khi tìm được và đọc những cuốn sách mà tôi đã muốn tìm rất lâu rồi, trong đầu tôi liền nảy ra ý tưởng muốn chia sẻ những cuốn sách tuyệt vời này với mọi người. Mặc dù chỉ mới đọc qua một vài lần, nhưng tôi nhận thấy đây là những cuốn sách rất thiết thực nhất là trong giai đoạn khi mà khoa học, công nghệ và thông tin thay đổi một cách chóng mặt như hiện nay. Những phương pháp và công cụ đựơc giới thiệu trong những cuốn sách này sẽ là một phần không thể thiếu trong kỹ năng của những ai muốn thành công và tôi nghĩ rằng những cuốn sách này sẽ có ích đối với rất nhiều người.

 Những kỹ năng, phương pháp của thời đại.

 Hiện nay có rất nhiều cuốn sách dạy cách thành công của các tác giả nổi tiếng và chúng cũng rất hay như: "Đắc nhân tâm" và "Quẳng quách gánh lo đi vui sống" của Dale Canergie, “Rich Dad Poor Dad” của Robert Kiyosaki và Sharon Lechter, “Thuật xử thế của người xưa” của Ngô Nguyên Phi, “Thái độ quyết định thành công” của Wayne Cordeiro,…Nhưng khi đọc những cuốn sách này tôi cảm thấy rất khó áp dụng vào thực tế vì những kiến thức nó đưa ra khá là phức tạp và những lý thuyết trong đó là những bước chuyên sâu để có đựoc thành công sau này. Nhưng những cuốn sách mà tôi muốn giới thiệu với mọi người sau đây, sẽ chỉ ra các phương pháp và các công cụ rất đơn giản, dễ hiểu, dễ áp dụng và rất cơ bản đựoc đúc rút ra từ kinh nghiệm của các tác giả đã thành công trong thực tế. Những phương pháp và công cụ này đối với Việt Nam khá là mới mẻ nhưng chúng đã được áp dụng từ lâu trong trường học và các công ty của các nước phát triển rồi. Và mới gần đây ở Việt Nam một số công ty, trung tâm đào tạo, một số người đã và đang tìm cách áp dụng vào thực tiễn khi nhận thấy những lợi ích mà nó đem lại. Các phương pháp và công cụ này sẽ giúp chúng ta giải quyết các vấn đề trong cuộc sống một cách đơn giản và nhanh chóng hơn. Nó giúp tiết kiệm được quỹ thời gian quý giá của các bạn mà hiệu quả công việc lại cao. Những phương pháp và công cụ mà các bạn thu lượn đuợc trong sách sẽ là hành trang không thể thiếu trên bước đường tìm kiếm sự thành công của các bạn. Nó sẽ công cụ hữu hiệu giúp các bạn khai phá những tài nguyên tri thức vô tận của nhân loại sau này.

 “Nếu người khác thành công, tôi cũng sẽ thành công. Vấn đề chỉ là ở phương pháp! ”.

 Lời nhận định này của tác giả cuốn sách “Tôi tài giỏi, bạn cũng thế” cho ta thấy muốn được thành công thì ta phải tin vào bản thân mình “cũng sẽ thành công” và sau đó áp dụng các phương pháp hợp lý để sử dụng hiệu quả các khả năng “tiềm ẩn” của bạn để đạt được mục tiêu đã đề ra. Trong đó muốn được thành công bạn phải làm theo ba bước cơ bản sau :

 - Bước thứ nhất: Bạn phải tin tưởng vào khả năng gần như vô hạn của mình (“Nếu người khác thành công, tôi cũng sẽ thành công.” trang 18 sách “Tôi tài giỏi, bạn cũng thế” )

 - Bước thứ hai: Xác định mục tiêu cụ thể cho tương lai của bạn.

 - Bước thứ ba: Áp dụng các phương pháp, kỹ năng của người thành công để lên kế hoạch
Sau đây là những cuốn sách mà tôi muốn chia sẻ với mọi người:

 1) Tôi tài giỏi bạn cũng thế ! của Adam Khoo.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?zmjdeihwnh4

2) Làm chủ tư duy thay đổi vận mệnh của Adam Khoo và Stuart Tan.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?3mktyliiww1

3) Sách dạy đọc nhanh của Tony Buzan.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?rmntylkzi3y

4) Lập bản đồ tư duy của Tony Buzan.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?jy1zm5cmnqn

5) Phương pháp học tập siêu tốc của Bobbi Deporter và Mike Hernaki.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?d2klnjmzifm

Nếu các bạn không đọc được sách, hay sách hỏi Pass các bạn hãy tải hai phần mềm sau để đọc sách nhé !

 - Foxit Reader 3.3.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?jjonjmmj0nz

- Mobipocket Reader 6.2.

Mã: [Ủng hộ F4VN] - [Get Direct Link]

http://www.mediafire.com/?tnjzyxmyntu

Trông có vẻ nhiều sách quá nhỉ, nhưng các bạn chỉ cần đọc qua các cuốn sách này một lần các bạn sẽ thấy thích thú ngay thôi. Nếu các bạn thấy khó khăn trong quá trình đọc sách, các bạn có thể áp dụng “phương pháp đọc sách để nắm bắt thông tin” (trang 60 sách “Tôi tài giỏi, bạn cũng thế”) hoặc phương pháp sau mà mình hay sử dụng để đọc nhé !

- Nên đọc sách lúc các bạn thấy thoải mái đầu óc.
- Đọc qua mục lục, lời giới thiệu, lời mở đầu.
- Hãy đọc phần nào các bạn thấy thích trước, chứ không nhất thiết phải đọc từ đầu đến cuối sách.
- Đọc phần tóm tắt của từng chương (nếu có).
- Đọc dò và đọc lướt qua cuốn sách.
- Nên quy định số trang và thời gian cụ thể để đọc sách ( điều này còn tùy thuộc vào loại sách đọc là sách giáo khoa, hay tài liệu tham khảo và tốc độ đọc của từng người). VD: Đọc 101 trang sách trong vòng 1h.
- Đọc càng nhanh càng tốt, cố gắng dừng lại ít nhất nếu có thể để đọc lại một từ hay một câu. Những câu, đoạn khó hiểu các bạn cứ bỏ qua tiếp tục đọc để nắm bắt được ý nghiã chung của cả bài, rồi sau đó đọc lại sau.
- Thật may mắn chúng ta chỉ cần nhớ những ý chính và từ khoá thôi, nó chỉ chiếm khoảng từ 10% đến 20% nội dung của toàn bài mà chúng ta vẫn nắm được toàn bộ thông tin của bài đó.

 Mặc dù trên diễn đàn đã có bạn giới thiệu rồi nhưng chúng còn nằm riêng lẻ và có dung lượng khá lớn, nên mình đã tập hợp lại và giảm dung lượng xuống để tiện chia sẻ mà chất lượng vẫn đủ để các bạn có thể xem được sách. Các bạn có thể tìm đọc thêm một số sách của Tony Buzan và Adam Khoo để gia tăng khả năng sử dụng trí não của mình. Những cuốn này tôi không tìm thấy ở trên mạng nên không thể chia sẻ với mọi người được - nếu bạn nào có thì hãy chia sẻ với mọi người nhé ! Tôi cũng mong muốn mọi người hãy chia sẻ những kinh nghiệm, trải nghiệm về những cuốn sách hay mà các bạn đã được đọc nếu các bạn có thể. Điều đó sẽ giúp cho nhiều người có cơ hội để thành công hơn và xã hội sẽ tốt đẹp hơn !

 Đó là những trải nghiệm và cảm nghĩ của tôi về những cuốn sách này, những cuốn sách đã tiếp thêm cho tôi niềm tin và sức mạnh để tiếp tục chinh phục các thử thách trong cuộc sống. Những quyển sách này được giới thiệu đến các bạn không nằm ngoài “mục đích” giao lưu - học hỏi, chia sẻ kiếm thức với mọi người trên diễn đàn, do kiến thức và thời gian hạn chế nên bài viết của tôi còn có nhiều sai sót. Nhưng nếu các bạn tiếp cận vấn đề theo hướng giao lưu – học hỏi và chia sẻ kiến thức thì các bạn sẽ hiểu và rộng lòng thông cảm cho tôi. Một điều nữa mà tôi muốn các bạn trên diễn đàn thông cảm cho là tôi không thể trả lời hay giao lưu tiếp với các bạn được, vì bây giờ tôi đang dành thời gian thiết kế và sắp xếp lại cuộc sống của mình theo hướng tích cực để hướng tới mục tiêu của mình từ khi tôi đọc được những quyển sách này. Còn các bạn hãy thử đọc và trải nghiệm xem, nếu chúng có ích với bạn, hãy chia sẻ cho những người mà bạn yêu quý nhé! Cuối cùng tôi xin chúc những ai “muốn thành công” trong tương lai sẽ đạt được những kết quả như mong đợi !

 LƯU Ý: Khi dùng những phương pháp mới như “bản đồ tư duy” để ghi chép bài các bạn chỉ nên viết ra nháp thôi . Vì các thầy cô giáo của chúng ta vẫn áp dụng phương pháp học cũ sẽ đánh giá các bạn không nghiêm túc trong khi học đó. Tôi mong rằng ngành giáo dục sẽ sớm áp dụng các phương pháp mới vào giảng dạy trong các trường học trên cả nước, đến lúc đó chúng ta sẽ khắc phục được phần nào thành tích yếu kém (thực tế là như vậy) của sinh viên và học sinh.Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-13587347110410617612013-05-28T02:50:00.001-07:002013-05-28T02:50:09.699-07:00Phương pháp nuôi dạy con sớm (0-6 tuổi)Phương pháp nuôi dạy con sớm (0-6 tuổi)
Người dịch: Nguyễn Thị Thu
 Lời nói đầu
Người dịch (không trích dẫn hoàn toàn 100% vì sợ bản quyền) những cuốn sách này chỉ có một mong ước duy nhất là chia sẻ những kiến thức về nuôi dạy trẻ đến tất cả những ai quan tâm, những ai chưa biết về phương pháp nuôi dạy trẻ từ 0 tuổi, với ước mong thông qua những kiến thức này các bậc cha mẹ sẽ tìm ra phương pháp nuôi dạy tốt nhất dành cho những thiên thần nhỏ của mình. Trẻ em chính là tương lai của Việt Nam. Người dịch không phải là chuyên gia dịch thuật nên có thể có những lỗi văn phạm hay từ ngữ chuyên môn không được chuẩn xác thì xin người đọc hãy lượng thứ vì mình chỉ dịch voluunter thôi.
Khi muốn chia sẻ thông tin trong bài viết này thì mọi người hãy luôn ghi nhớ những tác giả SHICHIDA Makoto, IBUKAI Masaru, KIMURA Kyuichi và nên cảm ơn họ vì họ là một trong số rất nhiều nhà giáo dục đã viết ra những cuốn sách tuyệt vời làm thay đổi số phận của rất nhiều con người, giúp ích cho sự tiến bộ của giáo dục Nhật Bản.
Dù tựa đề ghi là từ 0-6 tuổi nhưng những cách cha mẹ dạy con cái giúp trẻ hình thành nhân cách hay phương pháp giúp trẻ thích học tập thì vẫn có thể áp dụng với những trẻ lớn hơn 6 tuổi.
 Các cuốn sách tham khảo:
1. Cuốn sách chủ đạo là
Nuôi dưỡng con để phát triển toàn diện về trí tuệ và tài năng, tác giả SHICHIDA Makoto
赤ちゃん＊幼児の知力と才能を伸ばす本, 七田 眞
2. Tham khảo thêm từ các cuốn sách sau:
2.1 Nuôi con từ 0 tuổi những điều người mẹ cần làm, tác giả IBUKAI Masaru
0歳からの母親の作戦、井深 大
2.2 Bắt đầu dạy trẻ từ mẫu giáo là quá trễ, tác giả IBUKAI Masaru
幼稚園では遅すぎる、井深 大
2.3 Thiên tài và sự giáo dục sớm, tác giả KIMURA Kyuichi
早教育と天才、木村久一
 Lời khuyên của các tác giả dành cho các bậc cha mẹ trước khi áp dụng những điều được viết trong sách:
 Điều đầu tiên mà tất cả các tác giả của những cuốn sách này, đều là những nhà giáo dục nổi tiếng của Nhật, muốn khẳng định rằng những ai áp dụng phương pháp nuôi dạy trẻ được viết trong những cuốn sách này với mong muốn biến con mình trở thành những thần đồng hay thiên tài thì đừng đọc nó, vì mục đích của tác giả viết ra những phương phải đó không phải là để biến những đứa trẻ trở thành thiên tài hay thần đồng. Mục đích là để các bậc cha mẹ hiểu được tầm quan trọng của việc nuôi dạy con từ sớm, từ đó biết cách nuôi dạy con để phát huy tối đa những khả năng và tố chất mà con cái của mình có, giúp con cái mình có nền tảng vững chắc về sức khỏe, trí tuệ, và nhân cách và sau này trở thành những người có ích cho xã hội.
 Điều thứ hai là lật lại lịch sử của tất cả thiên tài hay thần đồng trên thế giới này đều có chung một điểm là họ đều không phải là do thiên bẩm hay do trời phú cho họ tài năng đó, mà 99% những người đó đều được áp dụng phương pháp nuôi dạy từ sớm, tức là được cha mẹ họ nuôi dạy từ khi mới lọt lòng (Kimura Kyuichi). Yếu tố gen chỉ chiếm một phần rất nhỏ, còn lại tất cả những tài năng phi thường mà họ có được đều được hình thành nhờ giai đoạn nuôi dưỡng đúng đắn từ 0-6 tuổi, đặc biệt là giai đoạn từ 0-3 tuổi.
 Điều thứ ba là vì sao phải nuôi dạy trẻ từ sớm? Bởi vì bộ não của trẻ chỉ phát triển đến năm 6 tuổi, còn sau 6 tuổi thì hầu như không phát triển nữa. Và giai đoạn từ 0-3 tuổi (bộ não hoàn thiện 80%) là giai đoạn trẻ có khả năng học tập tốt nhất, khả năng nhớ, liên tưởng,…là vô hạn, nó cũng quyết định sự hình thành về tính cách và năng lực của trẻ. Nếu ví khả năng mà bộ não của trẻ tiếp nhận thông tin và tri thức như một chiếc computer thì giai đoạn 0-3 tuổi giống như là hardware còn sau giai đoạn đó chỉ như là software mà thôi. Chúng ta thường hay cho rằng trẻ con thì không biết gì, mặc nhiên coi việc giáo dục trẻ là bắt đầu khi trẻ đi mẫu giáo, hay vào lớp 1 trở đi mới chú trọng. Thực tế nghiên cứu lại cho thấy phát triển trí tuệ của trẻ sau 4 tuổi là đã quá trễ, đợi đến khi vào lớp 1 thì lại càng không thay đổi nhiều được trí tuệ hay khả năng của trẻ nữa.
 Điều thứ tư là thời kì 0-3 tuổi là thời kì không một ai có thể thay thế được vị trí và vai trò của người mẹ trong việc nuôi dạy trẻ. Sợi dây gắn kết được hình thành giữa mẹ và trẻ đã có từ khi trẻ trong bụng mẹ, rồi khi trẻ được sinh ra thì mẹ chính là người gần gũi nhất. Tình thương của người mẹ được trẻ cảm nhận vô cùng đặc biệt so với những người khác, đặc biệt là giọng nói của mẹ. Nếu giai đoạn này mà trẻ phải xa mẹ và được người khác chăm sóc thì trẻ sẽ không bao giờ cảm nhận đầy đủ được tình yêu của mẹ, dù sau này người mẹ có muốn bù đắp bao nhiêu đi nữa. Hơn nữa, giai đoạn này sự hình thành tính cách, năng lực, trí tuệ của trẻ là phát triển mạnh mẽ nhất, nếu người mẹ không ở bên mỗi ngày thì trẻ sẽ không được phát huy hết khả năng của mình, và tính cách của trẻ cũng bị ảnh hưởng bởi những yếu tố của người xung quanh nhiều hơn là của mẹ. Vì thế đừng bao giờ giao việc chăm con, chơi với con cho người khác ở giai đoạn này.
 Điều thứ năm là phương pháp áp dụng nuôi con từ sớm có thể dành cho mọi gia đình dù giàu có hay khó khăn về tiền bạc. Bởi vì sao ? Để có thể nuôi dạy con tốt thì dù có phương pháp tốt, có nhiều tiền thế nào đi nữa mà các bậc cha mẹ thiếu đi bốn yếu tố sau thì không thể nào thành công được đó là: Yêu Thương, Kiên Nhẫn, Trò Chuyện và Khen Ngợi. Những điều đó cha mẹ nào cũng có thể cho con cái mình, nó chỉ phụ thuộc vào cách mà cha mẹ làm mà thôi.
 Chương 1：Nuôi dưỡng con bằng cảm nhận của cha mẹ
 Point 1 : tất cả các bé sơ sinh đều là thiên tài
 · Trẻ càng nhỏ tuổi thì não càng linh hoạt và tốc độ tiếp thu càng nhanh và lượng thông tin tiếp thu càng nhiều
0-3 tuổi là giai đoạn mà tất cả những gì trẻ được tiếp nhận, được dạy sẽ được lưu giữ và hấp thụ hoàn toàn trong ý thức tiềm tại 潜在意識 (深い意) của não.
· Giai đoạn 6 tháng đầu đời của trẻ là giai đoạn cơ bản nhưng quan trọng nhất để giúp trẻ phát huy khả năng ngôn ngữ. Trẻ không tiếp nhận ngôn ngữ theo cách giống như người lớn là lí giải nó rồi lưu vào bộ não, mà là tiếp thu một cách tự nhiên như là thuộc lòng vào trong ý thức tiềm tại 潜在意識(深い意) của não. Sau đó khi sự lí giải của trẻ tăng dần thì những ngôn ngữ đó cũng được tích lũy trong não cũng sẽ được trẻ dần lí giải, và rồi sẽ tự động được trẻ phát ra thành tiếng nói. Chính vì thế ngôn ngữ dù khó đến mấy thì trẻ cũng đều có thể lí giải được. Bất kì ngôn ngữ nào trẻ cũng có thể tiếp nhận được. Nếu giai đoạn này mà cứ để trẻ nằm im, không kích thích về âm thanh hay ngôn ngữ là làm mất khả năng tiếp nhận và lí giải ngôn ngữ của trẻ.
· 「刻印づけの方法」にみるテレビの意外な害悪: Khi đứa trẻ vừa ra đời thì mỗi một sự tiếp nhận từ thế giới bên ngoài đều được trẻ lí giải rằng nó là một ấn tượng mang một ý nghĩa nhất định nào đó. Sau khi sinh 1 tháng rưỡi là trẻ có thể nghe được âm thanh, nhìn được xung quanh. Từ thời khắc đó nếu cho trẻ coi tivi thì trẻ sẽ không còn phản ứng với những lời nói chuyện của mẹ nữa. Kết quả là trẻ sẽ không nói được, không chăm chú nhìn mẹ, không tập trung nhìn vào một cái gì, thích tivi hơn là thích nghe giọng nói của mẹ, chậm tự lập, không phân biệt được đâu là nguy hiểm, thích những thao tác về máy móc…
· 赤ちゃんに知的な刺激を与える: Ở giai đoạn 0 tuổi hay 1 tuổi nếu ta cho trẻ tiếp xúc với môi trường giáo dục tốt và đa dạng thì trẻ sẽ càng có khả năng thích ứng cao và phát triển nhanh. Chính vì thế giai đoạn này nếu ta cho trẻ tiếp xúc với nhiều môi trường để phát triển 5 giác quan thì nó sẽ là nguồn nội lực tiềm tàng giúp tri giác của trẻ sẽ tiến bộ vượt bậc so với nếu ta dạy trẻ từ 2 hay 3 tuổi trở đi.
 Point 2：赤ちゃんの学習は大人の学習と異なる Cách trẻ con học tập khác với cách của người lớn
 そのまま覚えるパターン学習: pattern poriod (Thời kì lặp đi lặp lại)
 Thời kì con từ 0-2 tuổi gọi là pattern poriod, giai đoạn nên cho trẻ tiếp xúc với các sự vật được đặc trưng bởi tính không gian hay trừu tượng như là hình họa, màu sắc, âm thanh ví dụ như là tranh ảnh để phân biệt màu sắc; dạy trẻ nhận biết mặt chữ, logo, cho xem các hình khối để nhận biết các loại hình tròn, vuông, chữ nhật…; nghe nhạc để cảm nhận âm thanh.
Đây là thời kì mà trẻ chưa thể tiếp thu ngay những điều được dạy bảo nên cha mẹ phải thường xuyên lặp đi lặp lại để cho trẻ nhớ. Đây là thời kì cần sự chuyên tâm của người mẹ, sự kiên nhẫn, tinh ý để phát hiện ra những thay đổi dù là nhỏ nhất của trẻ. Giai đoạn 0-2 tuổi này cũng không đòi hỏi trẻ phải hiểu hay có thể lí giải mọi thông tin chúng được tiếp nhận.
Thời kì này mọi thông tin hay thế giới quan sẽ được trẻ tiếp thu một cách vô thức và như là học thuộc lòng và được kí ức lại trong bộ não thông qua khả năng học tập đặc biệt mà chỉ thời kì này mới có. Mỗi thứ tiếng nước ngoài có đặc trưng phát âm riêng, vì thế khi trẻ nghe tiếng nước ngoài, trẻ ghi nhớ nó bằng cách tự bản thân trẻ sẽ tạo cho mình một bộ phận tiếp thu đúng ngôn ngữ đó, và ghi nhớ một cách như học thuộc lòng, lưu giữ nó vào bộ não. Rồi một lúc nào đó bản thân trẻ sẽ tự nhiên nói được những từ đó bởi vì nó đã được trẻ lưu giữ vào não và giờ chỉ là phát âm ra theo bản năng.
· 一つひとつ覚える個別学習: Giai đoạn học thuộc lòng này việc dạy trẻ phải được lặp đi lặp lại thì mới giúp trẻ nhớ được. Nếu cho trẻ nghe nhiều rất nhiều từ vừng rất nhiều ngôn ngữ phong phú thì khả năng tiếp nhận và thích ứng của trẻ cũng sẽ nhanh. Bởi vì như thế nó làm cho sự liên kết và truyền tải thông tin giữa tế bào này với tế bào kia trong não trẻ (tạm gọi là đường truyền thông tin trong não) sẽ bền chặt hơn, gắn kết mạnh mẽ hơn, có thể tiếp nhận và xử lí nhiều thông tin phức tạp hơn.
 Point 3: 赤ちゃんの能力はこんなふうに発達する Năng lực của trẻ phát triển như sau:
 · Từ khi sinh đến 6 tuổi chia làm 3 giai đoạn:
-0-6 tháng tuổi: Phát triển năng lực cảm nhận thông qua các giác quan (感覚): thời kì quan trọng nhất
-6 tháng – 3 tuổi: Phát triển năng lực biểu hiện và sáng tạo
-3-6 tuổi: Phát triển kĩ năng tư duy
 · 0-6 tháng tuổi:
 Trẻ sẽ nghe được 2 tai cùng một âm sau khi sinh được 2 tuần. Từ lúc này cho trẻ nghe các âm thanh, nghe nhạc, nghe tiếng nói càng nhiều càng tốt. Sau khi sinh được 1 tháng trẻ sẽ nhìn được 2 mắt vào một điểm, nhưng mắt hoạt động nhìn xoay quanh được thì phải sau vài tháng. Vì thế thời kì này là thời kì mẫn cảm nhất của trẻ. Bắt đầu từ khi trẻ được 4 tháng hãy cho trẻ nhìn tranh, ảnh, màu sắc càng nhiều càng tốt. Hãy cho trẻ tiếp xúc với những bức tranh nổi tiếng, tuyệt vời nhất chính là ta đã giúp trẻ một điều tốt là giúp trẻ tiếp xúc với những điều tuyệt vời nhất ngay từ khi chúng mới làm quen với thế giới này. Giai đoạn này trẻ có thể phân biệt các màu sắc giỏi hơn những gì người lớn chúng ta tưởng tượng bởi trẻ sẽ cảm nhận những màu sắc thông qua sự phản xạ của ánh sáng một cách vô thức. Thời kì này nếu đồng thời ta cho trẻ vừa nghe và vừa nhìn (thị giác và thính giác đồng thời) như vừa cho trẻ nhìn vừa đọc cho trẻ, vừa hát cho trẻ nghe, lặp đi lặp lại nhiều lần như thế là phương pháp dạy trẻ vô cùng hiệu quả.
 · 6 tháng -3 tuổi:
 - Thời kì phát triển tính tự phát, khả năng biểu hiện, tự lập và sáng tạo. Giai đoạn này nếu ta để trẻ tự do phán đoán thì trẻ sẽ phát huy hết khả năng tự phán đoán của mình. Ví dụ khi cho trẻ tờ giấy to và bút…để vẽ, thay vì đưa trẻ miếng giấy đã cắt sẵn để trẻ tha hồ tự do vẽ, tự do phán đoán xem mình muốn vẽ như thế nào. Treo đồ chơi lơ lửng trên cao rồi cho trẻ với để trẻ nắm lấy được, , và nếu trẻ nắm được thì đó là một bước tiến bộ của trẻ. Đưa cho trẻ tờ báo nếu trẻ có xé rách thì hãy chấp nhận, đưa đồ chơi mà trẻ ném đồ chơi, phá hỏng đồ chơi cũng hãy chấp nhận mà đừng la mắng vì đó là cách trẻ tiếp nhận và tìm hiểu thế giới thông qua những hành vi của chúng. Cho trẻ xem thật nhiều tranh về đồ vật, động vật, thực vật, xe cộ…. đồng thời hãy nói tên những đồ đó khi cho trẻ nhìn. Từ độ tuổi 1-1 tuổi rưỡi thay vì những đồ chơi đơn giản hãy cho trẻ chơi những đồ chơi có tính sáng tạo như những viên gỗ xếp hình, bút màu và giấy. Tuy nhiên khi cho trẻ bút màu để vẽ thì ban đầu chỉ nên cho 1-2 màu rồi sau đó mới cho nhiều màu. Chơi với trẻ bẳng cách chơi trò xếp đồ vào thùng, tìm đồ vật giữa các đồ vật khác…
 - 1 tuổi-1 tuổi rưỡi hãy dẫn trẻ ra bãi cát để chơi, dẫn trẻ đi dạo công viên, vườn hoa, nhặt đá sỏi, xếp gỗ để trẻ tiếp xúc với những môi trường phát huy khả năng sáng tạo.
- 2-3 tuổi hãy đọc thật nhiều ehon cho trẻ và lặp đi lặp lại những cuốn ehon đó nhiều lần. Những cuốn truyện là những câu chuyện ngắn có tranh minh họa dành cho thiếu nhi gọi là ehon. Truyện tranh được xuất bản ở Việt Nam như “7 viên ngọc rồng”, “Siêu quậy Teppi” thì tiếng Nhật gọi là manga, và chưa có cuốn sách nào về giáo dục trẻ em khuyên phụ huynh đọc manga cho trẻ từ khi còn nhỏ cả). Dẫn trẻ đến công viên, viện bảo tàng, sở thú. Cho trẻ dùng nhiều lại bút màu, giấy cũng to hơn để trẻ có thể phát huy hết tính sáng tạo cả mình. Giai đoạn này nếu trẻ làm gì, vẽ gì, có làm bẩn ta cũng đều nên khuyến khích trẻ làm, khen trẻ chứ không nên ngăn cấm hay chê bai. Cũng không được can thiệp hay chỉ đạo vào việc trẻ đang làm, không được dạy trẻ phải làm như này, làm như thế kia mà hãy để tự trẻ làm. Hãy theo dõi sự tiến bộ hàng ngày của trẻ, đó là việc làm cực kì quan trọng để có thể tìm ra các phương pháp mới dạy cho trẻ mỗi khi nhận ra sự tiến bộ hay thay đổi ở trẻ.
 - 4 tuổi thì trẻ có thể phân biệt được đầu, tóc, chân tay khi vẽ người, nhận biết các sự vật. 3 tuổi chỉ là vẽ theo cảm tính, vô ý thức nhưng khi 4 tuổi là sự liên tưởng và sáng tạo.
 · 3-6 tuổi: phát huy khả năng tư duy
 Đại não sẽ chia làm hai bộ phận là não trước và não sau. Não sau là nơi xử lí thông tin, thị giác và tri giác, lí giải và phán đoán. Kí ức thì lưu giữ ở não hai bên. Từ tai về phía trước đầu là não trước, nơi xử lí những điều liên quan đến động lực (意欲), tư duy, sáng tạo. Và não trước cũng là nơi cư trú của cảm xúc như vui sướng hay đau khổ. Vì thế 0-3 tuổi là chú trọng phát triển não sau, 3-6 tuổi là phát triển não trước. 3-6 tuổi là giai đoạn quan trọng kết hợp chơi và huấn luyện bộ não của trẻ thông qua những trò chơi như là dùng kéo, gấp giấy, xếp hình…nhưng vẫn cần phải lặp đi lặp lại. Giai đoạn này cho trẻ chơi violin hay piano sẽ rất hiệu quả.
 Chương 2: Nuôi dạy trẻ từ 0-4 tuổi
 · Tiếng nói, ngôn ngữ ngay từ khi trẻ được 2 tuần tuổi là bắt đầu cho trẻ nghe, tiếp xúc càng nhiều, càng phong phú về vốn từ, về thể loại, ngữ điệu thì tâm hồn và tinh thần của trẻ cũng sẽ càng trưởng thành.
 · 0-1 tuổi: chia làm 4 giai đoạn như sau:
 - 0-3 tháng: vận động chân và tay, phát triển 5 giác quan
 Thị giác: Sau khi trẻ được 1 tháng tuổi thì có thể cho trẻ nhận biết màu sắc đen-trắng, hãy áp dụng mỗi ngày liên tục trong 1 tuần, mỗi lần chỉ 1-2 phút. Luyện cho trẻ khả năng tập trung từ 5 giây đến 1 phút. Đến 6 tháng tuổi trẻ nhận biết được màu sắc khác nhau, các hoa văn khác nhau. Xung quanh tường nơi trẻ ngủ hãy treo hoặc viết các chữ, từ vựng với màu sắc, kích thước khác nhau, bế trẻ đến trước bảng chữ có thể vừa là chữ cái, vừa có thể là từ vựng vừa chỉ vào mỗi chữ và vừa đọc cho trẻ nghe, mỗi chữ chỉ dừng lại 1-2 giây thôi, nhưng ngày nào cũng lặp đi lặp lại.
Thính giác: Mỗi ngày chỉ cho trẻ nghe nhạc 30 phút, mỗi lần 15 phút, những bản nhạc nhẹ nhàng hay có âm hưởng dịu dàng (cũng không nhất thiết phải là nhạc cổ điển nếu như cha mẹ không thích loại nhạc đó). Nếu cho nghe lâu trẻ sẽ quên mất không nghe tiếng của mẹ nữa. Khi nghe nhạc cho trẻ đứng trên đùi rồi nhún nhảy theo tiếng nhạc. Quan trọng hơn cả vẫn là cho trẻ nghe được nhiều nhất giọng nói của mẹ. Hãy chơi với trẻ bằng cách là chỉ vào từng bộ phận trên mặt, tay chân, giơ đồ vật lên và nói tên. Dẫn trẻ ra công viên, chỉ vào bông hoa hay mỗi bộ phận của chúng rồi nói tên. Đọc cho trẻ nghe những bài thơ nổi tiếng, hát cho trẻ nghe.
Xúc giác: Khi trẻ bú mẹ đó là khoảnh khắc đầu tiên trẻ được dạy về bài học xúc giác, mới đầu trẻ sẽ vụng về chưa biết điều chỉnh núm vú nhưng rồi sẽ học và điều chỉnh núm vú của mẹ vào đúng vị trí miệng mình rất nhanh. Mới đầu hãy cho đầu vú mẹ chạm vào môi trên, môi dưới, má, cằm trẻ để trẻ học và điều chỉnh vị trí đầu vú chính xác. Rồi cho trẻ chạm vào các vật dụng khác như là cho đầu ống mút chạm vào môi trẻ…
Vị giác: Hãy cho trẻ nếm chút một nước ấm, nước lạnh, cay, chua…để trẻ cảm nhận các vị giác khác nhau.
Cầm, nắm: Cho trẻ nắm lấy ngón tay của mẹ. Luyện cho trẻ dùng lực nâng đỡ cơ thể thông qua sự cầm, nắm của bàn tay.
Mùi thơm: Cho trẻ ngửi các mùi thơm
 - 4-6 tháng: lẫy, lật mình
 Trẻ có thể nhìn thấy vật từ cách 3 m, có thể với để cầm nắm những vật ngay trước mắt mình. Lúc này rất cần cha mẹ ở bên trông trẻ. Khi trẻ còn trong bụng mẹ mà mẹ nói chuyện nhiều với thai nhi thì sau khi sinh 3 tháng là trẻ có thể e, a phát ra âm thanh và bắt đầu trò chuyện.
Thị giác: Cho trẻ coi những bức tranh nổi tiếng. Dẫn trẻ đi dạo để trẻ tiếp xúc với nhiều những hiện tượng và thế giới xung quanh. Khi gặp mỗi sự vật, hiện tượng, mỗi đồ vật vừa chỉ cho trẻ vừa không quên nói luôn tên của chúng cho trẻ biết và nhắc đi nhắc lại tên chúng nhiều lần. Lặp lại việc đó với bảng chữ cái, từ vựng hay kí hiệu. Hãy quan sát khi bặt điện và nhìn xem phản ứng của trẻ trước sự khác nhau của áng sáng để xem trẻ có bị bệnh gì về mắt không.
Thính giác: Cho trẻ nghe âm thanh của tự nhiên trong công viên khi bế trẻ đi dạo, hay tiếng trống, tiếng nước chảy và các âm thanh khác…Khi trẻ bắt đầu biết nói chuyện biết ê,a thì hãy nhìn vào mắt trẻ khi nói chuyện, và nói chuyện thật rành rọt, khi nói có thể dùng tay chân để diễn đạt cho trẻ. Thông qua mỗi lời nói của mẹ trẻ sẽ học thuộc lòng và ghi nhớ vào trong não. 3 tháng trẻ nghe rõ tai phải, đến 4 tháng thì nghe cả 2 tai. Trẻ càng nhỏ thì cha mẹ khi nói chuyện với trẻ càng phải nói to, rõ ràng.
Xúc giác: Giúp trẻ phát triển khả năng cầm nắm, cho trẻ sờ vào các loại vải và các nguyên liệu khác nhau. Hãy chơi trò cần câu với trẻ ở thời kì này, khi trẻ gần với tới đồ gì thì ta dịch ra xa để giúp trẻ rướn người để lấy được đồ nó muốn. Cách làm này sẽ giúp thúc đẩy hứng thú học tập ở trẻ. Chơi trò nắm bàn tay, mở bàn tay, chạm nước nóng, chuyển tay qua nước lạnh…
Vận động: Cho trẻ nằm trên bụng và rướn đầu lên
 - 7-10 tháng: có thể bò
 Thị giác: Cho trẻ nhìn gió thổi, chuông gió, công viên, lá rơi, chim kêu, cảnh tụi trẻ con chơi trong công viên, hãy bế trẻ khi dẫn trẻ đi dạo hoặc nhìn thì trẻ sẽ cảm nhận nhều hơn là cho trẻ ngồi trong xe đẩy.
Thính giác: Cho trẻ nghe những ca khúc melody, nghe nhiều loại âm thanh, thể loại và ngôn ngữ khác nhau. Cho trẻ nghe những bài hát thiếu nhi thế giới. Ở việt Nam thì có thể cho trẻ nghe những bài hát ru, dân ca…
Xúc giác: Hãy cho trẻ sờ ngón tay cha, mẹ, cho trẻ xé thử giấy, báo, dùng tay ấn đồ, quay tròn, đập vào các đồ vật…Hãy cùng chơi trò ném bóng với trẻ, trò đóng mở nắp hộp…
Vận động: Hãy tập cho trẻ gật đầu hay trả lời. Khi trẻ bò hay lẫy thì hãy dùng tay ấn, hay đẩy giúp trẻ có động lực cố lên.
 - 11-12 tháng: lẫm chẫm bước được
 Thị giác: Cho trẻ đọc ehon, sách từ điển, đứng trước bảng chữ, từ vựng để tập đọc, đứng trước gương rồi cùng nói chuyện với mẹ. Dẫn trẻ đi dạo mỗi ngày. Cho nhìn những động vật, những cái mà trẻ thích.
Thính giác: Bắt chước tiếng kêu của động vật. Hỏi vị trí mắt, tay, tai, mũi…nằm ở đâu. Hãy dùng những từ “đưa cho mẹちょうだい”, “không được” ダメ là những từ trẻ có thể lí giải được. Chơi trò ú tim với trẻ [いないいないばあ]. Đây là giai đoạn trẻ thích ném những gì có trong tay nên hãy cho trẻ trải nghiệm với nhiều cảm giác mới lạ. Lúc này cũng là lúc trẻ bắt chước tiếng nói của ba mẹ, của mọi người xung quanh mà trẻ nghe được. Vẫn tiếp tục cho trẻ nghe nhạc, nghe bài hát như giai đoạn trên.
Xúc giác: Dạy trẻ vo tròn tờ giấy, sai trẻ nhặt đồ lên, đầu tiên là nhặt bằng 5 ngón tay rồi dần dần là nhặt đồ bằng hai ngón tay là ngón cái và ngón trỏ.
Đạo đức: Dạy trẻ đối xử với các đồ chơi. Chơi cùng trẻ những trò chơi như là di chuyển hay giấu đồ vật, đố trẻ tìm đồ được giấu. Đặt những đồ chơi cạnh khi trẻ ngủ. Đặt đồ vật trước mặt trẻ và ra lệnh để trẻ nhặt đồ theo yêu cầu. Dạy trẻ làm theo mình như vỗ tay, bắt chước…đặt đồ chơi ra xa để trẻ cố gắng vươn tới lấy.
Vận động: Cho trẻ bám thanh sắt, cho trẻ tập đi, leo lên chỗ cao và bò xuống chỗ thấp như bậc thang…cho trẻ ném đồ vật, chơi ném bóng…
Chữ viết, tập nói: Quan trọng nhất giai đoạn này là trẻ tập nói. Có thể bắt chước theo lời mẹ nói. Khi trẻ nhớ được một chữ thì hãy đố trẻ tìm đúng chữ đó trong một tập hợp chữ. Khi trẻ nhớ được chữ nào thì viết chữ đó lên giấy và cho trẻ nhìn. Nếu trẻ không nhớ thì cũng không nên nóng vội, mà phải luyện hàng ngày.
 · 1-2 tuổi: Tập trung vào tập đi, tập nói, kỹ năng xử lí chơi đồ chơi
 - Khi trẻ được 1 tuổi hãy cho trẻ vận động thật nhiều.
- Thời điểm thử nghiệm từ 1 tuổi-1 tuổi 8 tháng: cho trẻ làm bất cứ điều gì, dạy trẻ học bất cứ điều gì. Mỗi hành động của trẻ không còn vô thức như hồi dưới 1 tuổi mà đều có mục đích hay bao hàm suy nghĩ của trẻ, từ việc trẻ cầm đồ đạc để ném cũng mang ý nghĩa nhất định rằng đó là cách trẻ khám phá thế giới. Lúc này cha mẹ không được ngăn cấm “không được ném”… mà hãy để trẻ tự khám phá thế giới thông qua mỗi hành động của mình.
- Chọn đồ chơi mà kích thích khả năng trí tuệ mà sự tò mò của trẻ. Các đồ chơi đạt 3 yêu cầu: Trẻ thu được bài học gì từ đồ chơi đó, không gửi quá nhiều bài học trong mỗi đồ chơi, mẹ có thể tham gia chơi cùng trẻ. Kết hợp những trò chơi như so sánh nặng nhẹ, nhiều ít, to nhỏ, cho xem các hiện tượng tự nhiên. Kết hợp dạy trẻ làm theo yêu cầu” đưa cho mẹ”, dạy trẻ nói “cảm ơn”…
- Dạy trẻ tập nói mỗi khi có cơ hội như khi tắm, đi dạo công viên, siêu thị. Dạy trẻ đọc ehon từ khi 6 tháng tuổi và hãy lặp đi lặp lại suốt việc này. Thời kì này trẻ có tư duy phát triển rất nhanh và bắt chước cũng rất nhanh nên việc dạy nói cho trẻ hay cho trẻ biết nhiều từ vựng là một môi trường phong phú để trẻ phát triển.
- Cho trẻ chơi thú nhồi bông, cầu trượt, xếp hình, đếm thời gian, chữ, hoa quả, động vật thông qua các tấm card có in hình được bán ở hiệu sách.
- Đừng cho trẻ nghe CD, DVD nhiều mà hãy cho nghe tiếng nói thực tế như tiếng nói của mẹ, của người thân vì tiếng nói của người có sự chủ động chứ không thụ động như tiếng của máy móc. Đó là lí do hãy trò chuyện thật nhiều với trẻ thì trẻ sẽ nhanh biết nói.
- Mỗi lần chơi trò đếm chữ nếu như trẻ hứng thú thì ta sẽ kéo dài thời gian ra so với lần trước 2-3 phút, nhưng mỗi trò chơi không kéo dài quá lâu, ban đầu chỉ 5-10 phút rồi sẽ kéo dài lâu hơn sau mỗi lần. Thời kì này khả năng tập trung của trẻ còn ngắn nên ta sẽ chia làm nhiều lần trong ngày để chơi với trẻ. Ví dụ như trò dạy biết mặt chữ mỗi lần cho trẻ nhìn 1 giây rồi lướt rất nhanh các chữ. Hãy dừng các trò chơi khi nhận thấy trẻ bắt đầu có dấu hiệu chán. Vì nếu trẻ chán rồi mà ta cứ cố ép trẻ chơi thì sẽ dẫn đến trẻ sẽ trở nên ghét trò chơi đó và ghét học hành.
 · 2-3 tuổi: là thời kì trẻ muốn tự lập và rất ham học hỏi nên hãy chú trọng đến vận động, tập nói, các kĩ năng đơn giản.
 - Hãy lập ra lịch trình đi dạo để cho trẻ vận động, chơi bóng, cầu trượt,…đặt ra khoảng cách nhất định rồi cho trẻ tập chạy mỗi ngày, leo dốc, leo cầu thang…
- Đây là thời kì mà những từ nào trẻ nhớ được thì sẽ nhớ suốt đời. 2-2 tuổi 6 tháng là thời kì quan trọng nhất vì trẻ rất nhạy bén và nhạy cảm về ngôn ngữ.
- Khi tắm cho trẻ hãy hỏi trẻ muốn tắm ở đâu trước, nói tên các bộ phận cho trẻ, cho trẻ tự chọn trang phục để mặc…
- Chơi trò đố vui như nói tên những từ bắt đầu bằng chữ A, B, C…
- Hãy chơi trò tra cứu từ điển, sách tham khảo, một ngày cho trẻ đọc 5-10 cuốn ehon, chỉ cho trẻ mọi thứ xung quanh rồi nói tên cho trẻ khi đi bất cứ đâu.
- Dạy cho trẻ về quan hệ nhân quả hay tránh nguy hiểm giai đoạn này rất dễ mà cũng rất khó. Đừng bao giờ đổ tại đồ vật là xấu, đánh đồ vật khi trẻ bị ngã, bị đau mà hãy nói cho trẻ nguyên nhân là vì trẻ va vào nó nên mới bị đau…Ví dụ trẻ sờ vào đồ vật nóng bị bỏng thì không đổ lỗi cho đồ vật hư, đánh chừa đồ vật mà hãy nói rằng vì đồ vật nóng nên con sờ tay vào và bị bỏng. Hay khi trẻ khóc vì không lấy được đồ vật ở dưới gầm giường thì hãy đừng la mắng trẻ không được khóc mà hãy hỏi trẻ là con muốn lấy quả bóng dưới gầm giường đúng không. Khi trẻ được đáp ứng đúng tâm trạng thì nó sẽ có tác dụng rất lớn là trẻ sẽ nhớ được các từ biểu hiện tâm trạng hay cảm xúc của mình.
- Đọc truyện cổ tích, đọc sách cho trẻ trước khi đi ngủ
- Dạy trẻ tự làm những việc đơn giản như rửa tay, buộc dây giày, cài cúc áo, rửa mặt, đánh răng.
- Nếu trẻ có hứng thú với cái gì mà được đáp ứng thì sẽ kích thích sự ham học của trẻ rất nhiều.
- Hãy luyện cho trẻ giúp việc lặt vặt trong nhà, thường xuyên khen ngợi mỗi khi trẻ giúp mình làm gì. Đây cũng là một cách giúp trẻ vận động và luyện kĩ năng xử lí đồ vật, cầm nắm…Ngoài ra có nhiều bà mẹ không để trẻ làm gì vì nghĩ trẻ con nhỏ chưa biết gì, để trẻ chơi một mình còn mình thì bận rộn làm đủ thứ việc nhà mà không biết rằng kết hợp dạy trẻ làm việc nhà cùng mình vừa giúp mình giảm gánh nặng, và quan trọng hơn đó còn có tác dụng là một cách dạy trẻ học tập.
- Sau khi chơi xong hãy dạy trẻ tự cất đồ chơi. Cho trẻ chơi đất sét nặn để phát huy tính sáng tạo.
- Hãy dạy trẻ cách diễn đạt bằng lời nói đúng tâm trạng hay ý muốn của trẻ. Ví dụ như muốn đi tiểu, muốn ăn bánh, đau, vui, buồn…
- 2 tuổi là giai đoạn trẻ nhớ giỏi nhất. Vì thế hãy luyện trẻ về chữ cái, từ vựng, về học thuộc lòng, về tính toán, về đó vui như nhớ cờ các nước, tên các loài vật…chơi trò đoán đúng đồ vật được giấu. Dạy trẻ nhiều ngôn ngữ vì đây là giai đoạn trẻ có thể nhớ và phân biệt được những sự khác nhau nhỏ bé nhất của mỗi ngôn ngữ.
 · 3-4 tuổi: Trẻ bắt đầu tư duy, hãy bắt trẻ bắt đầu suy nghĩ
 - Khi trẻ bắt đầu lên 3 tuổi thì não trước phát triển cao nhất. Hãy để trẻ tập dùng những dụng cụ như đũa, kéo, vẽ tranh…tức là những trò chơi cần vận dụng trí óc.
- Hãy để 50% để trẻ tự lập và tự mình quyết định sẽ làm gì, hãy cho trẻ nhiều trải nghiệm mới. Hãy dạy trẻ về sông, núi, nước, thiên nhiên…dẫn trẻ đến viện bảo tàng, thư viện tra cứu sách….
- Hãy nói chuyện với trẻ bằng ngôn ngữ chuẩn, chính xác của người lớn thay vì nói với trẻ bằng ngôn ngữ trẻ con. Năng lực về giỏi tiếng quốc ngữ cũng tỉ lệ thuận với địa vị và thu nhập trong xã hội đủ chứng tỏ tiếng nói có vai trò rất quan trọng.
- Hãy dạy trẻ tiếng nước ngoài ở thời điểm này vì đây là thời kì trẻ có năng lực cao nhất.
- Đừng chỉ cho trẻ vui chơi mà quên mất đây cũng là thời kì quan trọng để trẻ có thể học tập và thông qua việc học tập đó mà phát huy được hết khả năng về năng lực và trí tuệ của mình. Mỗi ngày hãy dành ra 30 phút-1 tiếng để dạy cho trẻ về ngôn ngữ như dạy từ vựng, đọc sách.
- Thời kì này hãy chú trọng đến nuôi dưỡng sự tập trung cho trẻ.
 · 4-6 tuổi: Phát triển óc sáng tạo, cá tính riêng
 - Hãy tích cực trả lời những câu hỏi của trẻ. Luyện tính tập trung. Cùng chơi với trẻ. Hãy dạy trẻ ngôn ngữ để diễn đạt chính xác cảm xúc của mình. Hãy để trẻ quyết định mọi việc liên quan đến bản thân như mặc cái gì, ăn cái gì, đi đâu. Trẻ có làm gì sai hay thất bại thì cũng không nên la mắng mà nên khuyến khích.
 Chương 3: Những khó khăn gặp phải khi dạy trẻ
 · 3 điều cơ bản cần nhớ khi dạy cho trẻ: Đứa trẻ cần có một thể lực khỏe mạnh và một trái tim khỏe mạnh. Cần dạy cho trẻ những tri thức, năng lực tư duy, suy nghĩ. Mối quan hệ xã hội và đạo đức. Đừng nên đặt quá nhiều kì vọng vào trẻ để biến trẻ thành những con mọt sách, thành một cái máy thỏa mãn cho những kì vọng của mình. Hãy để trẻ học bằng sự yêu thích chứ không phải là gượng ép.
 · 5 tiêu chuẩn để đánh giá nuôi dạy một đứa trẻ tốt
 - Nuôi dưỡng trẻ thành một người biết coi trọng bản thân, tôn trọng người khác và đồng thời biết suy nghĩ đến lập trường của người khác
- Là người mang một suy nghĩ rằng không chỉ luôn phấn đấu để bản thân mình tốt hơn mà còn biết giúp đỡ những người khác cũng tốt hơn lên.
- Luôn mang tính sáng tạo.
- Mang năng lực chỉ huy và kéo người khác cùng cố gắng theo mình.
- Biết hiệp lực với mọi người và luôn có tinh thần hợp tác, tính cộng đồng, tính xã hội (社会性).
· Hãy nắm bắt đúng những tín hiệu mà trẻ muốn truyền đạt ở giai đoạn trẻ chưa biết nói. Ví dụ khi trẻ khóc vì đói mà ta không cho trẻ ăn thì về sau trẻ sẽ ngầm hiểu rằng tín hiệu đó đã không được ta chấp nhận, từ sau trẻ sẽ không còn phát ra tín hiệu nữa mà sau này có khuynh hướng bất mãn.
· Sau khi sinh đến 8 tháng tuổi là giai đoạn trẻ cần tình thương và sự gắn bó với cha mẹ nhất nên thời kì này hãy luôn âu yếm, ôm ấp trẻ để trẻ cảm nhận tình thương.
· Khi có thêm em bé cũng đừng quên dành sự quan tâm và những yêu thương cho đứa lớn. Ví dụ khi đang thay tã cho đứa bé mà đứa lớn mè nheo thì hãy ưu tiên đứa lớn trước, vỗ về và đáp ứng yêu cầu của đứa lớn. Đó là cách giúp đứa lớn cảm nhận nó vẫn luôn được yêu thương, từ đó dần dần ta sẽ trò chuyện và nhờ đứa lớn trông em…nó sẽ yêu em hơn, muốn chơi với em và bảo vệ cho em.
 · Khi trẻ từ 1-3 tuổi:
 - Khi trẻ 0 tuổi thì vô cùng nghiêm khắc nhưng khi trẻ qua 3 tuổi thì nên nới lỏng những nghiêm khắc ra.
- Khi nuôi dạy trẻ cần ở cha mẹ những đức tính sau: Nhẫn nại, chấp nhận là dù trẻ không thông minh như con nhà hàng xóm hay không như mình nghĩ thì hãy vẫn yêu thương, và đừng cự tuyệt là khi trẻ muốn trò chuyện thì hãy luôn lắng nghe, đừng kì vọng quá nhiều, đừng giữ và chăm sóc trẻ quá kĩ.
- Muốn trẻ vào nền nếp và biết nghe lời từ khi còn nhỏ thì đừng bao giờ tạo ra ngoại lệ. Ví dụ quy định mỗi ngày 9 giờ đi ngủ thì dù là ngày Tết hay có đám giỗ có nhiều người đông vui cũng hãy bắt trẻ tuân thủ đúng giờ đó. Khi đó cha, mẹ hãy nằm bên và đọc truyện, vỗ về cho trẻ ngủ.
 · Những điều cơ bản nuôi và dạy trẻ bao gồm
 - Sức khỏe cá nhân: Tự bản thân có thể chăm sóc những vệ sinh cá nhân như: tự ăn, đi tiểu, mặc quần áo, giữ vệ sinh khi chơi, bảo vệ mình khỏi nguy hiểm. Khi trẻ mặc quần áo dù nó mặc trái, mặc ngược thì cũng không được can thiệp vào mà hãy để trẻ tự nhận ra mình mặc trái và tự sửa. Trẻ tự chọn quần áo dù ta không thích thì hãy cứ chấp nhận vì nếu ta phản đối là làm thui chột khả năng sáng tạo của trẻ.
- Đạo đức và tinh thần: nhẫn nại (gaman), thân thiện, trung thực, nghe lời, cảm ơn
- Tính cộng đồng, giao tiếp xã hội và đạo đức xã hội: tinh thần trách nhiệm, ham muốn và yêu lao động, đối nhân xử thế, tri thức ngôn ngữ để giao tiếp, đạo đức.
 Chương 4: Nuôi dưỡng trí tuệ và tư duy cơ bản của trẻ
 · Ngôn ngữ sẽ giúp trẻ đến gần với thế giới rộng lớn hơn. Ngay từ khi lọt lòng mà trẻ được chú trọng dạy về ngôn ngữ thì đó là phương pháp tối ưu nhất cho trẻ.
· 2, 3 tuổi là giai đoạn mà trẻ học nhanh hơn đứa trẻ 6 tuổi
· Nếu mà trẻ hiểu được từ nào thì trẻ sẽ nhớ rất nhanh.
· Phương pháp dạy chữ sớm cho trẻ bắt đầu theo thứ tự như sau: chuẩn bị tinh thần sẵn sàng học hành Readiness cho trẻ, dạy từ vựng, cách đọc thứ tự các chữ, cách đánh vần, đọc từ ngắn 1 âm rồi chuyển đến từ vựng là từ ghép…tiếp đến là đọc đoạn văn ngắn, đọc đoạn văn dài. Kết hợp dạy chữ và chữ, từ vựng với việc viết chúng lên các tấm card. Hãy kết hợp chơi chữ như đoán chữ có nghĩa nghịch nhau, quan hệ nhân quả, từ đồng nghĩa…
 · Các phương pháp để giúp trẻ học tập tốt:
 - Hãy luôn nói chuyện với con, khi con mới sinh ra hãy trò chuyện với trẻ
- Bế trẻ và đi dạo bên ngoài
- Đọc truyện cổ tích
- Cho đọc truyện ehon (truyện có hình minh họa)
- Cho xem những bức tranh, nghe những ca khúc hay
- Mỗi ngày dẫn trẻ đi dạo
- Không dùng từ cấm đoán
- Không nói những chuyện rùng rợn
- Đừng nói xấu trẻ trước mặt người khác sẽ làm trẻ mất tự tin và nhút nhát
- Hãy khen những hành động của trẻ một cách cụ thể như: con xúc cơm giỏi quá, con vẽ đẹp quá…
- Không cho coi tivi
- Lặp đi lặp lại nhiều lần khi dạy cho trẻ
- Dạy trẻ phương pháp nhớ lâu bằng cách dạy trẻ học thuộc lòng những bài hát hay những bài thơ.
- Khi học hay chơi hãy dùng phương pháp phản ứng nhanh ví dụ như cầm một xấp flash card về bảng chữ cái rồi giơ ra trước mặt trẻ mỗi tấm card chỉ dừng lại 1 giây nói cho trẻ biết là chữ gì rồi chuyển qua tấm khác. Mỗi ngày chỉ vài chữ, và sau 5 ngày thì lại thay lần lượt 5 chữ đầu tiên bằng 5 chữ mới. Phương pháp này giúp não phải của trẻ phản xạ với tốc độ nhanh và có thể nhớ với khối lượng thông tin cực nhiều. Giai đoạn 0-3 tuổi là thời kì nên tập trung vào rèn luyện khả năng phản xạ của não phải vì não phải có tốc độ xử lí thông tin nhanh, nhiều hơn não trái rất nhiều, và cái gì được lưu giữ ở não phải thời kì này thì sẽ nhớ suốt đời.
- Cho trẻ vận động thật nhiều mỗi ngày vì quá trình vận động sẽ giúp não hoạt động linh hoạt hơn, tiếp thu thông tin sẽ tốt hơn.
- Hãy chuẩn bị vở tập viết cho trẻ
- Hãy ghi memory lại số lượng và tên những quyển sách trẻ đã đọc và thường xuyên tra bài lại bằng cách hỏi trẻ về nội dung câu chuyện. Không nên quên việc khen thưởng mỗi khi trẻ đọc xong một cuốn sách, kể xong một câu chuyện vì nó là động lực giúp trẻ hứng thú học tập hơn. Mỗi phần thưởng không cần nhiều và không nhất thiết phải giá trị, quan trọng là để trẻ nhận thấy được giá trị của sự cố gắng và có động lực vươn lên.
- Không quên 4 điều quan trọng: Tình thương, kiên nhẫn khi dạy con, trò chuyện với con mỗi ngày và hãy cho con biết chúng ta yêu chúng thế nào, khen ngợi con mỗi khi con làm một việc gì.
 Tác Giả IBUKAI Masaru đưa ra những lời khuyên giúp trẻ có hứng thú học tập
 1. Thời kì lặp đi lặp lại ta dạy trẻ những gì thì hãy quan sát để xem trẻ có hứng thú với cái gì, hình khối, hội họa, âm nhạc, sách truyện, …để từ đó chuyển qua giai đoạn tạo hứng thú cho trẻ.
2. Khi trẻ đang tập trung hay có hứng thú làm gì thì không nên ngắt giữa chừng mà cứ để trẻ làm, dù lúc đó chuẩn bị ăn cơm hay có việc gì.
3. Để tạo hứng thú cho trẻ thì nên khen trẻ hơn là chê, vì nếu ba mẹ chê việc gì trẻ làm thì tự nhiên trẻ sẽ không có tự tin để làm cái đó nữa.
4. Khi khen trẻ thì nên khen là tốt, con đã cố gắng, con giỏi và thể hiện sự hài lòng, vui mừng của mình hơn là việc đánh giá việc trẻ làm là đẹp hay xấu. Nghĩa là chú ý đến quá trình trẻ cố gắng hơn là kết quả mà trẻ đã làm được tốt hay xấu.
5. Tránh dùng những từ ra lệnh với trẻ ví dụ mẹ cấm con…, hãy ăn cơm đi, hãy tắm đi, hãy thu dọn đồ chơi vào…mà thay bằng những từ như sao con không… nếu con làm…thì mẹ sẽ rất vui…
6. Nếu trẻ không ăn thì hãy nghĩ cách cải thiện món ăn để phù hợp với trẻ thay vì ép trẻ ăn đến phát khóc.
7. Cha mẹ cùng học với con cái là cách tốt nhất giúp con học hiệu quả. Ví dụ khi cho trẻ xem ti vi thì nên ngồi bên cạnh coi cùng trẻ rồi giải thích cho trẻ thay vì để trẻ ngồi coi ti vi một mình, cùng đọc truyện, cùng chơi…
8. Khi để trẻ trong trạng thái đói sẽ là điều kiện kích thích khả năng thích ứng của trẻ.
9. Không phải lúc nào cũng đáp ứng mọi đòi hỏi của trẻ, mà hãy đẻ trẻ trải qua cảm giác không có được điều mình muốn. Và đừng bao giờ đánh mất quyền và uy nghiêm của một người mẹ đó là con cái phải biết vâng lời và sợ lời mẹ nói. Nếu ta quá nuông chiều và cung phụng trẻ thì uy quyền của người mẹ sẽ không còn, con cái sẽ không còn sợ lời mẹ nói nữa.
10. Khi trẻ hỏi vì sao thì không nên giả vờ bỏ qua mà hãy trả lời. Nếu ta không biết câu trả lời thì hãy thành thực với trẻ và trả lời là để cha mẹ sẽ tìm hiểu sau. Không nhất thiết phải giải đáp cặn kẽ, hãy để câu trả lời sẽ là một kích thích để trẻ muốn tìm hiểu sâu hơn.
11. Học và chơi kết hợp song song chứ không nhất thiết phải phân biệt rõ ràng 2 công việc này.
12. Đối với những khái niệm trừu tượng thì hãy lấy hình ảnh hay tự mình làm ví dụ để minh họa.
13. Hãy chọn những đồ chơi kích thích khả năng sáng tạo của trẻ thì trẻ sẽ không bị mau chán. Ví dụ như chơi ghép hình, lấy cây gỗ để xếp nhà, nặn đất sét, vẽ tranh….
14. Đối với hứng thú của trẻ thì không nên đánh giá cái nào là tốt hơn. Cái nào trẻ tỏ ra có hứng thú ta cũng đều nên ủng hộ hết. Nó sẽ giúp trẻ tự tin, đồng thời đó là cách giúp cha mẹ tìm ra được năng khiếu đặc biệt ở trẻ để có thể giúp trẻ phát huy tối đa khả năng đó.
15. Khi dạy nói cho trẻ thì không nên phân biệt ngôn ngữ trẻ con với ngôn ngữ người lớn, hãy dạy tiếng chuẩn, ngôn ngữ người lớn luôn cho trẻ để sau này không mất công đoạn trẻ chuyển từ ngôn ngữ trẻ con sang ngôn ngữ chuẩn. Ví dụ dạy là “con chó” tốt hơn là dạy từ “con cún”.
16. Đừng bao giờ so sánh trẻ với đứa trẻ khác vì như thế sẽ làm chúng mất tự tin, nhút nhát và không muốn cố gắng. Khi có hai anh em (chị em) thì cũng không nên so sánh hai anh em với nhau sẽ làm chúng trở nên không yêu thương nhau.
17. Trong học tập thì hãy ưu tiên dành thời gian dạy đứa lớn thì sẽ hiệu quả hơn. Khi đang chỉ bài cho đứa lớn mà đứa em cũng sà vào muốn làm theo thì hãy khuyến khích đứa em, hãy để đứa em học cùng anh. Hãy chuẩn bị hai bộ dụng cụ giấy bút để đứa em cũng có thể tham gia học hành hay chơi cùng. Đó là phương pháp rất hiệu quả để kích thích tinh thần ham học của đứa em. Hãy để hai anh em cùng chơi với nhau.
18. Khi hai anh em tranh giành đồ chơi thì hãy công bằng với cả hai. Nếu đứa em muốn có đồ chơi là đồ chơi của anh thì hãy nói đứa em xin phép anh để chơi, không nên can thiệp bảo anh hãy nhường cho em.
19. Đừng mua quá nhiều đồ chơi cho trẻ vì nó sẽ làm trẻ chóng chán và giảm hứng thú học hành.
 Lời khuyên của các tác giả về những điều lo lắng mà cha mẹ thường hay gặp phải:
 1. Tôi không đủ thời gian, tôi không đủ tiền bạc
 Sẽ có nhiều cha mẹ sau khi đọc những điều viết ở trên sẽ cảm thấy choáng ngợp hay chán nản vì có quá nhiều thứ phải nuôi dạy cho con mình, hay nghĩ rằng mình quá bận rộn không có thời gian dạy cho con, kinh tế eo hẹp làm sao mua sách truyện cho con đọc, làm sao cho con đi học nhạc hay học vẽ, học tiếng Anh.
Không riêng gì ở Việt Nam, ở Nhật cũng không phải bà mẹ nào cũng ở nhà chăm con, cũng không phải gia đình nào cũng có điều kiện cho con đi học piano, violin, học tiếng Anh…
Nhưng mọi người hãy thử nhìn xung quanh mình, có rất nhiều gia đình có điều kiện cho con mình đi học đàn, học tiếng Anh, học vẽ từ sớm, nhưng có bao nhiêu trẻ trong số đó thực sự phát huy được tài năng? Không những thế có nhiều trẻ còn bị phát triển chậm về trí tuệ, ngôn ngữ. Ngược lại, những trẻ sinh ra trong điều kiện khó khăn hơn thì tất cả đều thua kém những đứa trẻ có điều kiện học nhạc, học tiếng Anh sớm hay sao? Vấn đề đó ở bất cứ nước nào cũng có.
Vậy thì điều quan trọng ở đây là cha mẹ yêu con mình thật sự, thật sự nỗ lực trong việc tạo ra môi trường dạy dỗ con theo khả năng mình có hay không.
 2. Yêu thương trẻ như thế nào?
 Đối với trẻ con không gì quan trọng hơn là tình yêu của cha mẹ mà tình yêu đó là thông qua sự trò chuyện, âu yếm, ôm ấp, và khen ngợi trẻ hàng ngày. Vòng tay của người mẹ, giọng nói của người mẹ, thời gian người mẹ chơi cùng con dù chỉ là 5-10 phút chính là sách giáo khoa tốt nhất cho trẻ lúc đầu đời. Tất cả các nhà giáo dục đều khuyên rằng hãy khi cho trẻ đi ngủ thì hãy nằm bên và ôm trẻ ngủ, trò chuyện lúc đó, hãy thì thầm và nói rằng bạn yêu trẻ như thế nào. Trẻ sẽ cảm nhận tình thương của cha mẹ dù lúc đó bắt đầu chìm vào giấc ngủ. Có nhiều người sợ trẻ quen hơi nhưng mọi tác giả đều khuyên đừng lo lắng về điều đó vì những năm tháng đầu đời trẻ cần vòng tay của cha, mẹ hơn bao giờ hết.
 3. Trò chuyện với trẻ như thế nào? Làm thế nào để dạy trẻ về ngôn ngữ?
 Từ khi trẻ mới sinh ra mẹ là người cho trẻ bú, ru trẻ ngủ, tắm cho trẻ, dẫn trẻ đi chơi… Vậy thì từ lúc sinh ra ấy những lúc cho bú, cho ăn, tắm, dẫn đi dạo ấy hãy nói chuyện với trẻ thật nhiều. Ví dụ như nói chuyện với trẻ bằng cách chỉ vào các bộ phận mắt, mũi, miệng…của mình rồi nói tên. Khi ăn hãy giơ các đồ vật như thìa, bát, đĩa rồi nói tên cho trẻ. Khi di dạo hãy chỉ cho trẻ cái cây, bông hoa, nói tên chúng cho trẻ…là những ví dụ thiết thực nhất về việc dạy cho trẻ sự phong phú về ngôn ngữ. Từ 0 tháng tuổi trẻ đều tiếp thu những thông tin đó (đã giới thiệu ở thời kì pattern period) dù chưa lí giải được, nhưng những gì ta dạy trẻ lúc này chính là nền tảng cơ bản để sau này trẻ có được lượng ngôn ngữ thật phong phú sẽ giúp trẻ nhanh biết nói, kích thích sự phát triển của trí não. Đồng thời nó cũng là cách khơi gợi trí tò mò và ham học hỏi ở trẻ.
 Đọc truyện cổ tích, chuyện về các nhân vật nổi tiếng, dạy trẻ học thuộc thơ, bài hát chính là cách tốt nhất để tạo sự phong phú về vốn từ cho trẻ, đồng thời còn giúp trẻ nhớ lâu.
 4. Nếu không học piano, học nhạc thì còn cách nào khác để phát triển trí tuệ, đặc biệt là thính giác
 Cho trẻ nghe nhiều bài hát, nhạc có âm điệu vui tươi. Nhưng tiếng nói thực tế của che mẹ vẫn là điều tuyệt vời và quan trọng hơn cả những tiếng nhạc từ trong loa. Nếu cha mẹ nào là những người thích hát thì không gì tuyệt vời bằng hát cho con bạn nghe những bài hát thiếu nhi, hay những bài hát bạn yêu thích, hay hát để ru khi con ngủ. Có nhiều tác giả khuyên rằng bạn có thể thu giọng nói mình vào băng trước khi đi làm rồi nhờ ai trông trẻ mở lên cho trẻ nghe nhiều lần trong ngày. Ngoài ra, bước sóng của âm nhạc có tần số khác với tần số bước sóng của giọng nói nên trẻ sẽ dễ tiếp thu bước sóng của âm nhạc hơn, và những bước sóng ấy sẽ kích thích trí não hoạt động nhiều hơn. Khi trẻ lớn hơn một chút thì dạy trẻ học hát.
 5. Hãy huy động sự giúp đỡ từ những người thân để cùng nuôi dạy trẻ
 Đầu tiên là người cha, rồi đến ông bà, người giúp việc, người trông trẻ. Trước tiên hãy đả thông tư tưởng về phương pháp nuôi dạy trẻ sớm từ 0 tuổi cho những người thân, giúp họ hiểu tầm quan trọng của việc nuôi dưỡng trẻ từ 0 tuổi. Khi nhờ những người thân phụ giúp trong việc dạy dỗ trẻ thì nhất thiết phải là người mình tin tưởng, tránh để ảnh hưởng xấu đến con mình. Nếu đã quyết tâm áp dụng phương pháp nuôi con sớm thì phải giữ vững lập trường của mình. Vì giai đoạn càng nhỏ thì trẻ càng dễ bị ảnh hưởng bởi người gần gũi với mình nhất, do đó nếu cha mẹ không để ý thì con cái mình sẽ dễ bị nhiễm những tật xấu của người xung quanh.
 6. Hãy luôn để ý đến cảm xúc và tâm trạng của trẻ
 Hãy để con cái học với sự yêu thích chứ không phải là ép buộc. Không phải trẻ nào cũng thích âm nhạc, không phải trẻ nào cũng thích vẽ…hãy theo dõi con cái mình để nhận biết sở thích, sự hứng thú và từ đó khích lệ trẻ. Hãy luôn nhớ rằng càng khi còn nhỏ mà trẻ được dạy dỗ nhiều về cái gì, được tiếp xúc nhiều với cái gì thì lớn lên trẻ có khuynh hướng có năng khiếu hay yêu thích cái đó. Hãy luôn dừng mỗi bài học trước khi trẻ bắt đầu thấy chán. Hãy chỉ dạy trẻ khi nào cả trẻ và cả cha, mẹ có tâm trạng vui.
 Lời cuối:
 Phương pháp vẫn chỉ là phương pháp và sự thành công còn tùy thuộc vào sự nỗ lực và nghiêm túc của các bậc cha mẹ, phụ thuộc vào tố chất mỗi đứa trẻ có, vào yếu tố gia đình và xã hội. Điều quan trọng nhất là chúng ta hãy giúp mỗi đứa trẻ được phát huy tối đa những khả năng vô hạn mà trẻ có từ khi trẻ mới sinh ra. Giúp trẻ có nền tảng vững chắc để có thể trở thành một người vừa hiểu biết, tự tin, tự lập và vừa biết yêu thương người khác. Muốn thể thì chỉ khi từ nhỏ trẻ phải được cảm nhận đầy đủ tình yêu thương, sự quan tâm và trò chuyện với cha mẹ thì lớn lên trẻ mới biết sống yêu thương và quan tâm đến người khác. Những kiến thức khác nếu có điều kiện người dịch sẽ viết vào một note khác để ai có quan tâm đón đọc.
 Người dịch: Nguyễn Thị ThuTran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-13240798707621228362012-11-05T23:26:00.000-08:002012-11-05T23:28:30.036-08:00Data driven testing In Selenium using JXLWe saw all these post and many friends who are reading these posts found really interesting and said they are really simple and useful.
But in all the post we just saw the very basic stuff on Selenium, but once our test becomes complex, we need to deal with some real codes. Many of my friends who are dealing with manual QA see coding as the weird part in automation, all they want is Click record button, perform some operation, stop recording and replay the same. That’s fine for Selenium IDE, but moving forward we need to make our code more robust to withstand complex applications.
There are lots of limitations in using Selenium IDE, some are

Using Conditional Statements

Using External Data

Logging

Exception handling

Reporting etc

In this topic we are going to deal with one of the most important yet very useful stuff for automation in Selenium with is “Data Driven Testing”. We can drive Selenium testing using data sources like XML, Excel sheets, Database Tables etc.
But wait, what if I just need to store some of the application properties like Object Name, Application Window name, global properties etc, do I need to use the data sources you are talking about ?
Well, the answer is Yes or No, depending upon the complexity of your application, if your application has very few objects and their properties to be identified are very minimal, you can use “Property file” instead.
Here is the sample code to read data from Sample file in JAVA.

public void ReadProperty() throws IOException {
 System.out.println("In Read Property....");
 //Create Property Object
 Properties p = new Properties();
 //Load the Property file available in same package
 p.load(getClass().getResourceAsStream("objects.properties"));
 //Give the propery name to access
 String propName = p.getProperty("name");
 //Output the property value
 System.out.println(propName);
 }

Now if your application becomes very complex and you rely each and every data to be driven from external data sources, then you SHOULD use data sources like Excel, Database table etc.
Here we are going to talk about driving data from Excel sheet using JXL (JAVA EXCEL API). You can read more about JXL from the site, but for now, let’s consider JXL is an API to read and write data from Excel Sheets. We are going to use JXL’s Excel as our Dataprovider to read data from external data source. There are some other API available to read and write data from excel sheet like POI-HSSF and POI-XSSF , but we are going to deal only with JXL here.
Before getting started with JXL coding, let’s get to know some basic steps of how to read data from Excel sheet, below is the diagrammatic representation.

Well, here is how the code to start working with JXL.
Lets go with the diagrammatic representation.
Step 1

import java.io.File;
import java.util.Date;
import jxl.*;

Workbook workbook = Workbook.getWorkbook(new File("C:\\data.xls"));

Step 2
Open worksheet

Sheet sheet = workbook.getSheet("sheet1");

We can also give the index of sheet as

Sheet sheet = workbook.getSheet(0);

Step 3
Read the data from Excel Cell

String value = sheets.getCell(Column, Row).getContents();

Here Column is the column number and row is the row number from the cell which you are interested to read data.
Step 4
Now close the worksheet

workbook.close();

That’s it !!!

Data Driven Testing in Selenium using JXL (Part 2)

Rating: 4.7/5 (12 votes cast)

We have learned what is Data driven testing and how we can use JXL to read data from Excel Sheets in Part 1 of our previous post. But the greatest question of the day is, how to use JXL for data driven testing ?. How can I use this in my Selenium framework which I have? What are the steps which has to be taken care to make my framework a data driven framework?
Well, for this I don’t want to bore you guys with lot of theoretical contents which you can always find some way or other, but I would like to show the real working code.
In order to perform data driven testing, all we need to do is create a reusable library file just for Excel using JXL. The library file need to have following basic functionality in hand, let say
Step 1 : Create a library file with all the below mentioned functionality
1. Open Excel Sheet
2. Read Excel Sheet Row Count
3. Read Cell value from a specified location
4. Create a Dictionary to store Excel Sheet Column name
5. Create a function to read from the Dictionary
The Source code looks like this.

/*
 * Author : Karthik KK
 * Description: Reusable Library file to perform Excel related operations

 * Date : 01/28/2012
 */
package DataDriver;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

public class ExcelSheetDriver {

 static Sheet wrksheet;
 static Workbook wrkbook =null;
 static Hashtable dict= new Hashtable();
 //Create a Constructor
 public ExcelSheetDriver(String ExcelSheetPath) throws BiffException, IOException
 {
 //Initialize
 wrkbook = Workbook.getWorkbook(new File(ExcelSheetPath));
 //For Demo purpose the excel sheet path is hardcoded, but not recommended :)
 wrksheet = wrkbook.getSheet("Sheet1");
 }

 //Returns the Number of Rows
 public static int RowCount()
 {
 return wrksheet.getRows();
 }

 //Returns the Cell value by taking row and Column values as argument
 public static String ReadCell(int column,int row)
 {
 return wrksheet.getCell(column,row).getContents();
 }

 //Create Column Dictionary to hold all the Column Names
 public static void ColumnDictionary()
 {
 //Iterate through all the columns in the Excel sheet and store the value in Hashtable
 for(int col=0;col < wrksheet.getColumns();col++)
 {
 dict.put(ReadCell(col,0), col);
 }
 }

 //Read Column Names
 public static int GetCell(String colName)
 {
 try {
 int value;
 value = ((Integer) dict.get(colName)).intValue();
 return value;
 } catch (NullPointerException e) {
 return (0);

 }
 }

}

Next we are going to create actual test file which is going to perform intended operation, here we are going to perform Gmail login functionality.
Step 2: Create a TestNG Class file to perform Gmail Login
This TestNG class file should include
1. Opening a browser with Gmail
2. Perform User Name and password entry with different combinations of value by reading from Excel sheet
Source Code looks like this

package DataDriver;

/*
 * Author : Karthik KK
 * Description: To perform Gmail Login using Data driven approach
 * Date : 01/28/2012
 */

import java.io.IOException;
import jxl.read.biff.BiffException;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;

public class ReadDataTest {

 //Global initialization of Variables
 static ExcelSheetDriver xlsUtil;
 WebDriver driver = new InternetExplorerDriver();

 //Constructor to initialze Excel for Data source
 public ReadDataTest() throws BiffException, IOException
 {
 //Let's assume we have only one Excel File which holds all Testcases. weird :) Just for Demo !!!
 xlsUtil = new ExcelSheetDriver("D:\\Data.xls");
 //Load the Excel Sheet Col in to Dictionary for Further use in our Test cases.
 xlsUtil.ColumnDictionary();
 }

 @BeforeTest
 public void EnvironmentalSetup()
 {
 driver.get("http://www.gmail.com");
 }

 @Test
 /*
 * Author : Karthik KK
 * Description : To Perform login operation in Gmail
 */
 public void GmailLoginPage() throws InterruptedException {

 //Create a for loop.. for iterate through our Excel sheet for all the test cases.
 for(int rowCnt = 1;rowCnt < xlsUtil.RowCount();rowCnt++)
 {

 //Enter User Name by reading data from Excel
 WebElement userName = driver.findElement(By.name("Email"));
 userName.clear();
 userName.sendKeys(xlsUtil.ReadCell(xlsUtil.GetCell("EmailUserName"), rowCnt));

 //Enter Password
 WebElement password = driver.findElement(By.name("Passwd"));
 password.clear();
 password.sendKeys(xlsUtil.ReadCell(xlsUtil.GetCell("Emailpassword"), rowCnt));

 //Click on the Sign In Button
 WebElement signin = driver.findElement(By.name("signIn"));
 signin.click();

 //Sleep for some time,so that we can see things in action @ Screen :)
 Thread.sleep(2000);
 }
 }

}

Step 3: Create a actual Excel Sheet which holds the data to be supplied in TestNG class in above step
Just create a Excel sheet, which looks something like this.

Step 4 : Try executing the code
Just try executing the code, Note in the above code I have place excel sheet in my D:\ drive, you can place it anywhere in machine and change the same in code.
Your Gmail screen looks like this at the end of test by executing all the above test data’s

Well you can download the full working source code from here
That’s it !!!Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-33850057740458949132012-11-05T19:30:00.002-08:002012-11-05T19:31:36.743-08:00How Selenium Works ?

How Selenium Works ?

Rating: 4.9/5 (7 votes cast)

We have seen many topics on Selenium ranging from working from Selenium IDE to Creating a data driven framework in Selenium, but let’s turn back our attention on how Selenium actually works. Since we have seen all the magic selenium has did for us by just writing very simple codes.
Did we ever thought how selenium opens a browser, the pages and communicates with the pages and perform operations we have specified in the code we have written? Did you ever heard about Selenese? Do you know Selenium server actually understand only Selenese command? Where did your actual code turns into selenese command?
Well we are going to discuss all the above questions in this topic of how Selenium works
We know there is a Selenium Server (Selenium RC Server), Selenium Client driver (driver specific to languages such as C#, JAVA etc) and we use them in our famous Eclipse IDE for writing code.
Once we start running a code from Eclipse IDE following stuffs will happen behind the scenes

1. The Client driver will first establishes a connection with Selenium server.
2. Selenium Server will do following
a. It will create a session for that particular request
b. It will launch the desired browser (Specified in the code IE,FF,Chrome etc)
c. Loads the Selenium cores Javascript file into the specified browser (So as selenium server will have handle with the webpage for performing Selenese action)
3. Now the Client driver will send the program that we have written in eclipse IDE as selenese (by making conversion) and send it to Selenium server.
4. Selenium server is intelligent enough to understand the selenese command and triggers the corresponding javascript execution in the web browser.
5. Here Selenium Server act as a “Proxy Server” between the AUT (Application under Test) and actual browser, due to the restriction of “Same origin policy” selenium server performs “Proxy Injection”.Being a proxy gives Selenium Server the capability of “lying” about the AUT’s real URL.
6. Now Selenium server requests the actual webserver for the page open request and then it receives the page and sends it to the browser. It will look something like this.

7. Now any operation or request which the browser makes will eventually passes through Selenium RC server to actual webserver and vice verse.
Well you can see the same behind the scenes operation by your own. Let us see how we can do that.
Step 1
Open the selenium server 2.15 from command prompt using the following command.

java -jar selenium-server-standalone-2.15.0.jar

Now your command prompt will look something like this.

Step 2
Now navigate to the URL http://127.0.0.1:4444/wd/hub, which is nothing but the default URL in which selenium server start, you can of course change the same if you want. Now your browser will have a page something like this

As you could see in the screenshot above, you have two buttons with create session and refresh sessions, as discussed in the point 2 above, first Selenium server will creates a session and then it starts the rest of operation by default.
Step 3
Lets create a session by clicking on the Create Session button in the browser we have, now this will ask us to select the browser

We will select Internet Explorer and click “OK” button, which will eventually create a session for us and launches a browser with empty page (Since we have not supplied any command to Selenium server at this point to open any URL or to perform any operations)
Now your Selenium URL page which you have opened in step 1 will looks something like this.

Here we have three more buttons with rest of steps we are going to perform.
In this topic we are not going to detail the Load scriptfunctionality, since this is beyond the scope of the topic which we are dealing with.
Anyways, this is how selenium actually works and performs the magic !!!
That’s it.
Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-59419107959109510332012-07-31T01:36:00.000-07:002012-07-31T01:37:03.298-07:00Sách Kỹ năng mềm hàng đầu thế giới

[Mediafire.com] Download sách kỹ năng mềm hay hàng đầu thế giới	62

SÁCH DẠY NHÂN CÁCH CỰC HAY CHO ANH EM

1. Con cái chúng ta đều giỏi

 DOWNLOAD

2. Tôi tài giỏi - Bạn cũng thế

DOWNLOAD

3. Ước mơ của bạn nhất định thành hiện thực

 DOWNLOAD

4. Đừng bao giờ đi ăn một mình

DOWNLOAD

5. Hẹn bạn trên đỉnh thành công

DOWNLOAD

6. Bí quyết về hưu sớm và giàu

DOWNLOAD

7. Tư duy lại tương lai

DOWNLOAD

8.Nguyên lý 80/20 - Bí quyết làm ít được nhiều

DOWNLOAD

9. Dạy trẻ phương pháp tư duy

DOWNLOAD

10. Bài giảng cuối cùng

DOWNLOAD

11.Phương pháp học tập siêu tốc

DOWNLOAD

12. Tất cả là thử thách

DOWNLOAD

13. 7 thói quen của bạn trẻ thành đạt

 DOWNLOAD

14.Con đường phía trước

 DOWNLOAD

15.Tay trắng làm nên

DOWNLOAD

16.Larry King - Những bí quyết giao tiếp

DOWNLOAD

pass: get4share.com

17.Suy nghĩ và làm giau - Napoleon Hill

DOWNLOAD

18.Dám thất bại

DOWNLOAD

19.Những bí ẩn của cuộc đời Dale Carnegie

DOWNLOAD

20.Người đàn ông đến từ sao hỏa - Đàn bà đến từ sao kim

DOWNLOAD

21.Đánh thức con người phi thường trong bạn

DOWNLOAD

22.Tư duy tồn tại

DOWNLOAD

23. Bí quyết tay trắng thành triệu phú

http://www.mediafire.com/?whjfu39qj42a1n6

24. Bí quyết gầy dựng cơ nghiệp bạc tỷ

http://www.mediafire.com/?641a64ym80szbz5

25. Làm chủ tư duy thay đổi vận mệnh

http://www.mediafire.com/?a3mamp7saj7yyfi

26.

- Dạy Con Làm Giàu – Cha Giàu Cha Nghèo – Tập I

- Dạy Con Làm Giàu – Để Được Thoải Mái Về Tiền Bạc – Tập II

- Dạy Con Làm Giàu – Để Trở Thành Nhà Đầu Tư Lão Luyện – Tập III

- Dạy Con Làm Giàu – Để Có Khởi Đầu Thuận Lợi Về Tài Chính – Tập IV

- Dạy Con Làm Giàu – Để Có Sức Mạnh Về Tài Chính – Tập V

http://www.mediafire.com/?i8nps0br5pwffkl-Dạy con làm giàu - Những bí mật về tiền bạc - Điều mà bạn không học ở nhà trường! - tập IX

http://www.mediafire.com/?83308q87phfcku5
27. Cảm hứng để sống theo 7 thói quen thành đạt

http://www.mediafire.com/?vfsskptgvhobc46

28. Sách dạy đọc nhanh của TONY BUZAN

http://www.mediafire.com/?yx74nj1iqbtobbw

29.

Đời thay đổi khi chúng ta thay đổi tập 1
http://www.mediafire.com/?yx74nj1iqbtobbw

Đời thay đổi khi chúng ta thay đổi tập 2
http://www.mediafire.com/?a164ky0e25197f3

Đời thay đổi khi chúng ta thay đổi tập 3
http://www.mediafire.com/?vp2emuqolj7n7pa

30. Tư duy đột phá

http://www.mediafire.com/?71586q76xiyp1tg

31.Những qui tắc trong cuộc sống

http://www.mediafire.com/?tgganbwvd8mbb5k

32. Thái độ quyết định thành công

http://www.mediafire.com/?pwzkd3123s88t17

33. 10 điều tạo nên số phận

http://www.mediafire.com/?2wgm9q1l84d3d5j

34.BARACK OBAMA - Hy vọng táo bạo

http://www.mediafire.com/?4dfkxunf4w261du

35.Hãy dể mọi chuyện đơn giản

http://www.mediafire.com/?723qlejodpmdtis

36.Good luck - Bí mật của may mắn

http://www.mediafire.com/?z44cfsjibrymgq5

37.Bí quyết để trở thành CEO xuất sắc

http://www.mediafire.com/?kyhmpcp5mhtyd27

38.Đắc nhân tâm

http://www.mediafire.com/?jbz8dwulhdiqkm4

39.Thế giới là phẳng

http://www.mediafire.com/?w2ccwey7g1ecttl

40.Tâm lý học đám đông

http://www.mediafire.com/?647syvj421z1f24

41.Suối nguồn tươi trẻ

http://www.mediafire.com/?gnj07cr1350mvle

42.Quẳng gánh lo đi và vui sống

http://www.mediafire.com/?ndkzphs1kfdy471

43. 10 nghịch lý cuộc sống

http://www.mediafire.com/?703cxs3o5a1y01d

44. 50 việc cần làm trước tuổi 20

http://www.mediafire.com/?mbj700g39hj8kf9

45. Ai lấy miếng pho mát của tôi?

http://www.mediafire.com/?3c7ae1k8qkb61km

46.Tại sao lại chần chừ
http://www.mediafire.com/?n0acytfpo56ueoj

47.Mục đích cao hơn tất cả

tập 1 http://www.mediafire.com/?9rd9jfs4zjtd06v

48.Trưởng thành - Trách nhiệm là chính mình

http://www.mediafire.com/?m0eo7n22mjq8dvf

49. 5 ngôn ngữ tình yêu dành cho bạn trẻ

http://www.mediafire.com/?c7rvcl8ppgp171i

50.Dám nghĩ lớn

http://www.mediafire.com/?n2jl7ieiib4150z

51. Bí mật tình yêu
tập 1 http://www.mediafire.com/?1mm7zybz4w5rrdr
tập 2 http://www.mediafire.com/?2eqaa3ee3ak3e8i

52.Tư duy tích cực - Bạn chính là những gì bạn nghĩ

http://www.mediafire.com/?m69v9ui5xx7pp4b

53.Đi tìm ý nghĩa cuộc sống

http://www.mediafire.com/?69ba2fi0ibdlmae

54.Không gì là không thể

http://www.mediafire.com/?i50scgc5dthdc34

55. Từ tốt đến vĩ đại

http://www.mediafire.com/?14oxr76ozjs6aeh

56.Tư duy tích cực - Bạn chính là những gì bạn nghĩ

http://www.mediafire.com/?m69v9ui5xx7pp4b

57. 10 câu nói bất hủ của Bill Gate

http://www.mediafire.com/?53uxwow0513b4s1

58.Bí mật của cảm hứng và say mê

http://www.mediafire.com/?pk8wuwdr1g56ghk

59.Bí quyết đạt được ước mơ

http://www.mediafire.com/?s87zk1fqz751sda

60.Dám chấp nhận

http://www.mediafire.com/?edr722wey8gsarq

61.Hành trình trở thành nhà lãnh đạo

http://www.mediafire.com/?escmxlwppbrbacd

60.I can do it – Tin vào chính mình

http://www.mediafire.com/?bxca92x8bz2e7z0

62.Tâm hồn cao thượng

http://www.mediafire.com/?6we46klxbhyx142

63.Tay không gầy dựng cơ đồ

http://www.mediafire.com/?7klh4kc5y584r23

64.Người giỏi không phải là người làm tất cả

http://www.mediafire.com/?9zp9d15le98uz39

65.Napoleon Hill - Tư duy làm giàu

http://www.mediafire.com/?wq246h0vnhv9t7r

66.Cuốn sách hoàn hảo về ngôn ngữ cơ thể

http://www.mediafire.com/?fe51uwilgs3sxsh

67. 7 A HA Khơi sáng tinh thần và giải toả stress

http://www.mediafire.com/?o0aef09agii2247

68.50 công ty làm thay đổi thế giới

http://www.mediafire.com/?abxl31nc29382fu

69.Học cách trò chuyện với bất cứ ai, ở bất cứ nơi nào và bất cứ khi nào

http://www.mediafire.com/?xm3oazo7ffq8ice

70.Hướng dẫn nhanh cách tăng cường trí nhớ của bạn

http://www.mediafire.com/?mc6a91tkm5jje9c

71.Không thể bị lừa đối

http://www.mediafire.com/?53f2tds2mbvw4qu

72.Kinh nghiệm của các thiên tài

http://www.mediafire.com/?3puqgpcmzgqex6b

73.Rèn nghị lực để lập thân

http://www.mediafire.com/?s4fu81xmm3gnfb9

74. Sáu chiếc mũ tư duy

http://www.mediafire.com/?lzo2zfadcpjnqmc

75.Sức mạnh tình bạn

http://www.mediafire.com/?u7rpuds232nqyip

76.[audio]Để hiệu quả trong công việc

http://www.mediafire.com/?y496dwa9b0m2hdn

77.Bí quyết tư duy triệu phú

http://www.mediafire.com/?8n7edzldxe3l47g

78. 100 qui luật bất biến để thành công trong kinh doanh

http://www.mediafire.com/?pyf0jc6fcyhl5ny

79.Nghệ thuật chinh phục khách hàng

http://www.mediafire.com/?732avv8vwcx66nj

80.MLM và những bí quyết (Tom Shriter)

http://www.mediafire.com/?1l5ecqauwwv8c8a

81.Kiếm tiền trên mạng cùng john chow

ttp://www.mediafire.com/?13j9tub7u1fxhdp

82.Người bán hàng vĩ đại nhất thế giới

http://www.mediafire.com/?ybn11wt2zmo61d3

83. 99 Khoảnh khắc trong đời người

http://www.mediafire.com/?6rom6x4gjpr76ac

84.Kỹ năng quản lí thời gian

http://www.mediafire.com/?5xrbi8t553qha3b

85.Google - câu chuyện thần kì

http://www.mediafire.com/?72c3gm8ofc1c81f
Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-54411798952761260592011-12-27T23:32:00.000-08:002012-01-09T01:59:21.075-08:00Software Development Life Cycle Models
Software Development Life Cycle Models

I was asked to put together this high-level and traditional software
life cycle information as a favor for a friend of a friend, so I
thought I might as well share it with everybody.

The General Model

Software life cycle models describe phases of the software cycle and
the order in which those phases are executed. There are tons of
models, and many companies adopt their own, but all have very similar
patterns. The general, basic model is shown below:
 <fieldset> <legend>General Life Cycle Model</legend>

</fieldset>
Each phase produces deliverable required by the next phase in the
life cycle. Requirements are translated into design. Code
is produced during implementation that is driven by the design.
Testing verifies the deliverable of the implementation phase against
requirements.

Requirements

Business requirements are gathered in this phase. This phase
is the main focus of the project managers and stake holders.
Meetings with managers, stake holders and users are held in order to
determine the requirements. Who is going to use the system?
How will they use the system? What data should be input into the
system? What data should be output by the system? These are
general questions that get answered during a requirements gathering
phase. This produces a nice big list of functionality that the
system should provide, which describes functions the system should
perform, business logic that processes data, what data is stored and
used by the system, and how the user interface should work. The
overall result is the system as a whole and how it performs, not how it
is actually going to do it.

Design

The software system design is produced from the results of the
requirements phase. Architects have the ball in their court
during this phase and this is the phase in which their focus
lies. This is where the details on how the system will work is
produced. Architecture, including hardware and software,
communication, software design (UML is produced here) are all part of
the deliverable of a design phase.

Implementation

Code is produced from the deliverable of the design phase during
implementation, and this is the longest phase of the software
development life cycle. For a developer, this is the main focus
of the life cycle because this is where the code is produced.
Implementation my overlap with both the design and testing
phases. Many tools exists (CASE tools) to actually automate the
production of code using information gathered and produced during the
design phase.

Testing

During testing, the implementation is tested against the
requirements to make sure that the product is actually solving the
needs addressed and gathered during the requirements phase. Unit
tests and system/acceptance tests are done during this phase.
Unit tests act on a specific component of the system, while system
tests act on the system as a whole.

So in a nutshell, that is a very basic overview of the general
software development life cycle model. Now lets delve into some
of the traditional and widely used variations.

Waterfall Model

This is the most common and classic of life cycle models, also
referred to as a linear-sequential life cycle model. It is very
simple to understand and use. In a waterfall model, each phase
must be completed in its entirety before the next phase can
begin. At the end of each phase, a review takes place to
determine if the project is on the right path and whether or not to
continue or discard the project. Unlike what I mentioned in the
general model, phases do not overlap in a waterfall model.
 <fieldset> <legend>Waterfall Life Cycle Model</legend>

</fieldset>
Advantages

Simple and easy to use.

Easy to manage due to the rigidity of the model – each phase has specific deliverables and a review process.

Phases are processed and completed one at a time.

Works well for smaller projects where requirements are very well understood.

Disadvantages

Adjusting scope during the life cycle can kill a project

No working software is produced until late during the life cycle.

High amounts of risk and uncertainty.

Poor model for complex and object-oriented projects.

Poor model for long and ongoing projects.

Poor model where requirements are at a moderate to high risk of changing.

V-Shaped Model

Just like the waterfall model, the V-Shaped life cycle is a
sequential path of execution of processes. Each phase must be
completed before the next phase begins. Testing is emphasized in
this model more so than the waterfall model though. The testing
procedures are developed early in the life cycle before any coding is
done, during each of the phases preceding implementation.

Requirements begin the life cycle model just like the waterfall
model. Before development is started, a system test plan is
created. The test plan focuses on meeting the functionality
specified in the requirements gathering.

The high-level design phase focuses on system architecture and
design. An integration test plan is created in this phase as well
in order to test the pieces of the software systems ability to work
together.

The low-level design phase is where the actual software components
are designed, and unit tests are created in this phase as well.

The implementation phase is, again, where all coding takes
place. Once coding is complete, the path of execution continues
up the right side of the V where the test plans developed earlier are
now put to use.
 <fieldset> <legend>V-Shaped Life Cycle Model</legend>

</fieldset>
Advantages

Simple and easy to use.

Each phase has specific deliverable.

Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle.

Works well for small projects where requirements are easily understood.

Disadvantages

Very rigid, like the waterfall model.

Little flexibility and adjusting scope is difficult and expensive.

Software is developed during the implementation phase, so no early prototypes of the software are produced.

Model doesn’t provide a clear path for problems found during testing phases.

Incremental Model

The incremental model is an intuitive approach to the waterfall
model. Multiple development cycles take place here, making the
life cycle a “multi-waterfall” cycle. Cycles are divided up into
smaller, more easily managed iterations. Each iteration passes
through the requirements, design, implementation and testing phases.

A working version of software is produced during the first
iteration, so you have working software early on during the software
life cycle. Subsequent iterations build on the initial software
produced during the first iteration.
 <fieldset> <legend>Incremental Life Cycle Model</legend>

</fieldset>
Advantages

Generates working software quickly and early during the software life cycle.

More flexible – less costly to change scope and requirements.

Easier to test and debug during a smaller iteration.

Easier to manage risk because risky pieces are identified and handled during its iteration.

Each iteration is an easily managed milestone.

Disadvantages

Each phase of an iteration is rigid and do not overlap each other.

Problems may arise pertaining to system architecture because not
all requirements are gathered up front for the entire software life
cycle.

Spiral Model

The spiral model is similar to the incremental model, with more
emphases placed on risk analysis. The spiral model has four
phases: Planning, Risk Analysis, Engineering and Evaluation. A
software project repeatedly passes through these phases in iterations
(called Spirals in this model). The baseline spiral, starting in
the planning phase, requirements are gathered and risk is
assessed. Each subsequent spirals builds on the baseline spiral.

Requirements are gathered during the planning phase. In the
risk analysis phase, a process is undertaken to identify risk and
alternate solutions. A prototype is produced at the end of the
risk analysis phase.

Software is produced in the engineering phase, along with testing at
the end of the phase. The evaluation phase allows the customer to
evaluate the output of the project to date before the project continues
to the next spiral.

In the spiral model, the angular component represents progress, and the radius of the spiral represents cost.
 <fieldset> <legend>Spiral Life Cycle Model</legend>

</fieldset>
Advantages

High amount of risk analysis

Good for large and mission-critical projects.

Software is produced early in the software life cycle.

Disadvantages

Can be a costly model to use.

Risk analysis requires highly specific expertise.

Project’s success is highly dependent on the risk analysis phase.

Doesn’t work well for smaller projects.

And that’s it. If you have any input, especially your views on
advantages and disadvantages of any particular model, feel free to
leave them in the comments and I can add them to my copy.

Some link about Software Development Life Cycle Models

Overview: http://www.oxagile.com/article/228-software-development-models

Lecture: http://www.ccs.neu.edu/home/matthias/670-s05/Lectures/2.html

Fun Example: http://my.opera.com/nhanbh/blog/software-development-process

Vietnamese link: http://www.aptech.edu.vn/chitiet.php?id=292

http://www.htmedsoft.com/kythuat/congngheweb/congngheweb016.htm

http://thinh1808.wordpress.com/2008/02/27/t%E1%BB%95ng-quan-cac-mo-hinh-phat-tri%E1%BB%83n-ph%E1%BA%A7n-m%E1%BB%81m/

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-20183238766919223132012-01-06T01:30:00.000-08:002012-01-06T01:44:26.673-08:00Main Vowel Sounds of American EnglishMain Vowel Sounds of American English

1. /i/ read, heat, meet, seat, seen, feet. Please eat the meat and the cheese before you leave.

2. /ɪ/ in, bit, this, give, sister, will, city My sister Linda will live in the big city.

3. /eɪ/ late, gate, bait, fail, main, braid, wait. Jane’s face looks great for her age of eighty-eight.

4. /ɛ/ let, get, end, any, fell, bread, men, said I went to Texas for my friend’s wedding.

5. /æ/ last, apple, add, can, answer, class. The handsome man lost his baggage after his travels.

6. /ɑ/stop,lock, farm, want, army, possible, got. John is positive that his car was parked in that lot.

7. /ɘ/come, up, jump, but, does, love, money,about . Your younger brother doesn’t trust us, does
he?

8. /ɔ/ all, fall, author, also, applaud, thought, fought. Paula was doing laundry all day long.

9. /oʊ/ go, slow, so, those, post, moment, drove Oh, no! Don’t open the window, it’s cold.

10. /ʊ/ look, took, put, foot, full, wolf, cookie He would read the good book if he could.

11. /u/ cool, soup, moon, boot, tooth, move,true. Sue knew about the food in the room.

12. /ɘr/her, work, sure, first, early, were, earn,occur. What were the first words that girl learned?

13. /aɪ/ time, nine, dry, high, style, five, China I advise you to ride a bicycle in China.

14. /aʊ/ south, house, cow, found, down, town He went out of the house for about an hour.

15. /ɔɪ/  oil, choice, moist, enjoy, avoid, voice Let’s avoid the annoying noise.Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-88626614542694045742011-11-29T19:47:00.001-08:002011-11-29T19:49:56.042-08:00Test estimation<xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:lsdexception> </w:lsdexception>
In my opinion, one of the most difficult and critical activities in IT is the estimation process. I believe that it occurs because when we say that one project will be accomplished in such time by at such cost, it must happen.

If it does not happen, several things may follow: from peers' comments and senior management's warnings to being fired depending on the reasons and seriousness of the failure.

Before even thinking of moving to Systems test at my organization, I always heard from the development group members that the estimations made by the Systems test group were too long and expensive. Then, when I arrived at my new seat, I tried to understand the testing estimation process.

The testing estimation process in place was quite simple. The inputs for the process, provided by the development team, were: the size of the development team and the number of working days needed for building a solution before starting systems tests.

The testing estimation process said that the number of testing engineers would be half of the number of development engineers and one third of the number of development working days.

A spreadsheet was created in order to find out the estimation and calculate the duration of tests and testing costs. They are based on the following formulas:

Testing working days = (Development working days) / 3.

Testing engineers = (Development engineers) / 2.

Testing costs = Testing working days * Testing engineers * person daily costs.

As the process was only playing with numbers, it was not necessary to register anywhere how the estimation was obtained.

To exemplify how the process worked, if one development team said that to deliver a solution for systems testing it would need 4 engineers and 66 working days then, the systems test would need 2 engineers (half) and 21 working days (one third). So, the solution would be ready for delivery to the customer after 87 (66+21) working days.

Just to be clear, in testing time, it was not included the time for developing the testcases and preparing the testing environment. Normally, it would need an extra 10 days for the testing team.
 </w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:lsdexception></w:latentstyles></xml></m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></m:brkbinsub></m:brkbin></m:mathfont></m:mathpr></w:cachedcolbalance></w:word11kerningpairs></w:dontvertalignintxbx></w:dontbreakconstrainedforcedtables></w:dontvertaligncellwithsp></w:splitpgbreakandparamark></w:dontgrowautofit></w:useasianbreakrules></w:wraptextwithpunct></w:snaptogridincell></w:breakwrappedtables></w:compatibility></w:donotpromoteqf></w:validateagainstschemas></w:punctuationkerning></w:trackformatting></w:trackmoves></w:worddocument></xml>Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-17656687769098541752011-11-22T19:41:00.001-08:002011-11-22T19:54:24.151-08:00Paper making process essay 2The Full paper making process

 Timber

Timber used for papermaking comes from well managed forests where more trees are planted than harvested to ensure sustainable growth.

Papermakers usually use only the parts of the tree that other commercial industries don't want - such as saw mill waste and forest thinnings.

Go to publications for details of a Trees used for Papermaking Poster.

 De-Barker
 Bark is stripped from the logs by knife, drum, abrasion, or hydraulic barker. The stripped bark is then used for fuel or as soil enrichment.

 Chipping Machine

Stripped logs are chipped into small pieces by knives mounted in massive steel wheels (used in chemical pulping process).

The chips pass through vibrating screens, whereby both undersized chips, dust etc and oversized chips are rejected.

Accepted chips are then stored in huge bins ready for the next process.

  Chemical Pulping Process

  Chips from the storage bins are fed into a digester to which chemicals have been added. The woodchips are then 'cooked' to remove lignin. Lignin is the binding material which holds the cellulose fibres together.

 The chips are 'cooked' by heat and pressure in caustic soda and sulphur.

 The chemical process is energy self-sufficient as nearly all by-products can be used to fire the pulp mill power plant. The chemical pulping process produces lower fibre yield than mechanical pulping, typically 50-60%.

 Mechanical Pulping Process

 Mechanical pulp yields over 90% of the wood as fiber is produced by forcing debarked logs, about two meters long, and hot water between enormous rotating steel discs with teeth that literally tear the wood apart. Alternatively, logs can be pressed against grindstones which is why this process is also known as ground wood pulp.
  Trees contain up to 30% lignin, a material which is sensitive to light and degrades, and turns brown in sunlight, which explains why papers made from mechanical pulp will discolor. An example of this is newsprint. Newsprint is designed to have a short life span, and if left for a long period of time will lose its whiteness and strength. The special advantages of mechanical pulp are that it makes the paper opaque and bulky.

 Hydrapulper

 When the bales of wood pulp or waste paper arrive at the paper mill they are loaded onto a conveyor and passed into a circular tank containing water. This has a very powerful agitator at the bottom which breaks up the bales into small pieces.

The pulp mass created begins to look like thick porridge. This machine is known as a Hydrapulper. It operates automatically and when the disintegrating process is complete it discharges the pulp into large storage tanks.

 Hydrapulpers used mainly for handling waste paper are fitted with special devices for removing unwanted contraries such as wire, plastic, paper clips, staples etc.

  Blend Chest

 The stock passes to a blend chest where numerous chemicals can be added to obtain the required characteristics to the finished paper. Dyes are also added, as necessary, to color the paper. Dyes fix themselves to the cellulose fibers and are fast to light and water.

 Each grade of paper and board requires a very accurate blend of pulps and additives and the properties of the paper are continually monitored by computers during manufacture.

 Waste Paper

Waste paper is collected from Waste Paper Banks and Commercial collections. When you deposit your used papers into a waste paper bank, you are sorting the paper into grades before the merchant collects it. This is why you can only put certain papers into a particular bank.

Many offices have in place an office recycling scheme. Again the waste paper is usually segregated ready to be collected.

Waste paper currently represents 67% of the raw material used in the UK to make paper and board.

The waste paper merchant collects the used paper which is then sorted by hand into different grades. Paper not suitable for recycling is removed.
 The waste paper merchant will then bale the waste paper ready to be taken to the paper mill

 De-inking

Before printed paper, such as office waste and newspapers, can be recycled the ink needs to be removed, otherwise it will be dispersed into the pulp and a dull grey paper would result.

There are two main processes for de-inking waste paper - these are known as washing and flotation.

 Washing
The waste paper is placed into a pulper with large quantities of water and broken down into a slurry. Contraries -such as staples - are removed using centrifugal screens. Most of the water containing the dispersed ink is drained through slots or screens that allow the dispersed ink particles through, without taking the pulp. Adhesive particles, known as 'stickies' are removed by fine screening.

 Flotation
Again the waste is made into a slurry and contaminants removed. Special surfactant chemicals are added which makes a sticky froth on the top of the pulp.

Air bubbles are blown through the pulp and these carry the inks to the surface. As the bubbles reach the top a foam layer is formed that traps the ink. The foam must be removed before the bubbles break or the ink will go back into the pulp. Because the ink is removed from the flotation machine in a concentrated form, the flotation system does not require a large water treatment plant.

 Refining

This is where the cellulose fibers pass through a refining process which is vital in the art of papermaking. Before refining, the fibers are stiff, inflexible and form few bonds. The stock is pumped through a conicle machine which consists of a series of revolving discs. The violent abrasive and bruising action has the effect of cutting, opening up and declustering the fibers and making the ends divide. This is called fibrillation. In this state, the fibers are pliable and have greater surface area, which significantly improves the fiber bonding. The properties of the paper are directly related to the refining process. Refining used to be called beating.

 Screening and Cleaning

Pulps contain undesirable fibrous and non-fibrous materials, which should be removed before the pulp is made into paper or board.

Cleaning involves removing small particles of dirt and grit using rotating screens and centrifugal cleaners.

  Papermaking Machine

 <map name="Map"> <area shape="RECT" coords="2, 7, 60, 35" nohref=""> <area shape="RECT" coords="64, 28, 121, 70" nohref=""> <area shape="RECT" coords="135, 1, 226, 83" nohref=""> <area shape="RECT" coords="229, 1, 301, 84" nohref=""> <area shape="RECT" coords="303, 15, 341, 83" nohref=""> <area shape="RECT" coords="335, 1, 396, 16" nohref=""> <area shape="RECT" coords="405, 12, 455, 34" nohref=""> <area shape="RECT" coords="423, 36, 463, 85" nohref=""> <area href="http://individual.utoronto.ca/abdel_rahman/paper/fpmp/machine.jpg" shape="default"> <area href="http://individual.utoronto.ca/abdel_rahman/paper/fpmp/machine.jpg" coords="0, 0, 10000, 10000" shape="rect"> </map>

  The Paper Machine is a very large piece of machinery. A typical machine is about the length of two football pitches and around 4 metres wide. It can run up to speeds of 2000 m per minute - or 60 miles per hour! The machine itself consists of 7 distinct sections. The flow box, wire, press section, drier section, size press, calendar and reeling up.

  The first section of the machine is called the 'Wet End'. This is where the diluted stock first comes into contact with the paper machine. It is poured onto the machine by the flow box which is a collecting box for the dilute paper stock. A narrow apperture running across the width of the box allows the stock to flow onto the wire with the fibres distributed evenly over the whole width of the paper machine.

  The machine is operated by computer control. The computer will monitor the paper for moisture content, weight etc and computer screens will show pictures of the process and should any adjustments need to be made, an alarm will sound.

 Conversion and Printing

Once the paper is made, a great deal of it is converted into a product. Converters specialize in transforming reels and sheets of paper and board into a vast array of finished products for distribution such as boxes, cartons and stationery. Converters sell their products to the public or to other manufacturers.

Not all paper and board is processed by converters. Some papermakers do their own converting, for example, the manufacturers of soft tissues market their own products and sell directly to the public.
 The printing industry converts large quantities of paper and board, much of which reaches the customer as newspapers, magazines or books.

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-65421402051810981812011-11-22T19:35:00.000-08:002011-11-22T19:43:26.203-08:00Papermaking Process essay 1
The craft of making paper basically is still the same as it was when the whole notion of paper invention emerged in AD 105. The core of paper making involves preparation of stock, formation of the paper web, drying the sheet and finally application of coating and additives. Nowadays the only difference is the technology and new innovations involved in the craft.

 The paper making process

European paper makers for instance, chose to craft it out of materials like cotton and linen fiber from rags. Initially, sorted and cleaned rags are heated in an alkali solution. This is done in an open vat before the rags are passed under steam pressure. Then the drained and seasoned rags are washed and macerated to a pulp that will be bleached as to remove the unwanted traces of dyes and residual darkening due to the cooking process.

 Paper get its form when a paper mold is lifted out horizontally after being dipped into the vat of stock. This happens when the fibers gets trapped against the screen of the mold. Hand made paper molds consists of parallelly lengthen wires being laced together either by fine wires, threads or even woven wire mesh.

 Removed sheet from the mold is pressed on the felts or woolen cloth. Post, a stack of paper sheets and felts placed in a large wooden screw press will then be tightened by the workers of the mill by pushing or pulling a long wooden lever. This leads to the production of an average of 6-8 inches post out of a 2- foot. Once this task is completed, the pressed sheets will be lifted and left to dry in relatively low number of groups known as "spurs". Far away from soot and dust the "spurs" are dried at the highest level of the mill.

 Animal glue and gelatin is used to make the paper less absorbent, and this is particularly important for writing papers. Early 17th century witnessed the pioneer method for smoothing paper using glossy stone and a water-powered hammer as a finishing touch.
Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-49966024389774294302011-11-21T22:38:00.000-08:002011-11-21T22:40:02.069-08:00The Process of Academic Writting

Writing task one: processes

You will be given a diagram of a process. Your task is to describe the information given in the diagram by writing a 150 word report. You are not asked to give your opinion.

What is being tested
Task one questions asking you to describe a process rarely appear on the IELTS test. They are different from table, graph and chart description because they test your ability to:

describe each important stage in the process and expand where necessary

link your descriptions of each stage

use the present simple passive

As process tasks can vary widely, it is essential that you look at a lot of examples in IELTS preparation books.
You should spend around 20 minutes on the task.

	Sample task

You should spend about 20 minutes on this task.

The flow chart below shows how national examination papers are marked in Someland.

Write a report for a university lecturer describing the information below.

You should write at least 150 words.

Your task
Complete the Task One report exercise above. Spend only 20 minutes.
Then look at the notes and the sample answer below.

	Guidelines for a good answer

Does the report have a suitable structure?

Does it have an introduction, body and conclusion?

Does it include connective words to make the writing cohesive within sentences and paragraphs?

Does the report use suitable grammar and vocabulary?

Does it include a variety of sentence structures?

Does it include a range of appropriate vocabulary?

Does the report meet the requirements of the task?

Does it meet the word limit requirements?

Does it describe the whole process adequately?

Sample answers
The sample task given is simplified for the sake of explaining this kind of report task clearly. In a genuine test you can expect the process to be more complex.

The flow chart shows the marking procedures for national exam papers in Someland.

After the papers are collected, the Reading and Listening papers are marked by an administrator and then collated. The writing papers are treated differently. After collection, the writing papers are marked by an examiner. The marks are then sent to an administrator for collation while the exam papers are sent to an examination board. The board either stores the papers or reassesses them.

	Strategies for improving your IELTS score

Meeting the task requirements
When you begin the writing test, look at the illustration (flow chart, diagram etc) and try to work out what the important stages are, the order they occur and any obvious reasons for the order. Your report must include every stage shown in the diagram or flow chart.

When looking at the illustration, be careful to distinguish stages which happen concurrently. (A is performed at the same time as B) and others which are alternatives (either A or B is performed). The flow chart given in the Sample Task demonstrates this problem. Look at the stages for the writing test. In the second stage we can see that the writing paper is marked by an examiner. It is then sent to the examination board while at the same time the marks are sent to an administrator. These events occur concurrently. In the final stage, the papers are either stored or reassessed. These events are alternatives.

It may happen that the diagram does not make much sense to you at first glance. Look for a starting point and follow through the stages in your mind before beginning to write. If it’s still not making sense, then go on to Task Two but make sure that you give yourself 20 minutes to complete the report before the end of the writing test time. It often happens that our brains can sort problems out for us even when we are focusing on something else.

Report structure
Like the line graphs, your report should be structured simply with an introduction, body and conclusion. Tenses should be used appropriately.

Use one standard opening sentence to introduce the report. This opening sentence will make up the first paragraph. You should state simply what the process is. For example:

The flow chart shows the marking procedures for national exam papers in Someland.

Notice that the sample opening sentence does not simply copy the words used in the task instructions. Copied sentences will not be assessed by the examiner and so you waste your time including them.

The body of the report will describe the process in a logical order.

A conclusion will generally not be necessary in this kind of report.

Grammar and vocabulary
You will receive a higher mark if your writing uses a range of structures and vocabulary correctly rather than a limited number.

If the flow chart is simple and linear then you may be able to link the stages together by simply using some of the following transition signals.

To begin with
First of all
First
Secondly, thirdly, etc
Then
Next
After that
Finally

If the process is more complex, as in the example above, then you may need to also use these words

Alternatively
Otherwise
In addition
At the same time
Concurrently

Using the present simple passive
The passive is associated with an impersonal formal style. It is often used in notices, announcements and describing processes. Compare the following sentences:

Active: The examiner marks the test paper
Passive: The test paper is marked

The two sentences have the same meaning but the emphasis is different. In the active sentence we are more interested in the person or thing doing the action (the agent).

In the passive sentence we are more interested in the person or thing affected by the action. If we want to mention the agent we use by:

The test paper is marked by the examiner

But often the agent is not important.

The passive is not another way of expressing the same sentence in the active. We choose the active or passive depending on what we are more interested in. In the first sentence we are more interested in the examiner. In the second sentence we are more interested in the test paper.

Subject 	is / are	Past Participle	(by agent)

rapid	Is	marked	(by the examiner)

Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0tag:blogger.com,1999:blog-8792978105149117430.post-82395254646936227162011-07-27T15:39:00.000-07:002011-07-27T15:41:58.952-07:00Conjunction in EnglishConjunctions
I/To connect opposite ideas
+ but, yet, while, whereas (trong khi đó)
+ however, nevertheless (trước có dấu phẩy, dấu chấm, dấu chấm phẩy)
+ Although + clause
 Though + clause
 Even though + clause
 Much as + clause
= Inspite of + Noun phrase
 + V-ing
 + the fact that – Noun phrase
 Despite of+ Noun phrase
 + V-ing
 + the fact that – Noun phrase
II/ To connect additional ideas:
+ and
+ morrover, besides, furthermore (trước có dấu phẩy, dấu chấm, dấu chấm phẩy)
+ In addition / In addition to + Noun phrase
+ Not only… but also = Not only… but… as well.
+ What’s more
III/ To express reasons:
+ Because, as, since (đầu câu), for (giữa câu trước đó có dấu phẩy), now that
+ Because of + Noun phrase (NP)
 Thanks to + NP
 Due to + NP
 Owing to + NP
 On account of + Np
IV/ To express consequence:
+ so, therefore, thus, hence
+ consequently, as a result
+ as a consequence , the result of… , the consequence of…
+ as a result of…, as a consequence of…
V/ Expresse purposes
+ Why…?
+ What … for ?
1/
+ (not) to + V
+ in order (not) to + V
+ so as + (not) to V
2/
+ so that + S + can/will/could/would/may/might/ + V
= in order that + S + can/could/will/would/may/might + V
3/
+ to be used for + V-ing
(general purpose of a thing)
4/
+ to avoid/ to prevent (negative purposes)

Nomatter+ how+ adj+Subject+V, clause
Nomatter how hard he tried, he couldn't get a job
Nomatterwhat=whatever
nomatterwhen=whenever
nomatterhow=however
nomatterwhere= wherever
nomatterwhich= whichever
No matter + who/what/which/where/when/how + Subject + verb in present: Dù có... đi chăng nữa... thì

I.7. Liên từ và cách sử dụng
1. Liên từ kết hợp (coordinating conjunctions)

Dùng loại liên từ này để nối những các từ loại hoặc cụm từ/ nhóm từ cùng một loại, hoặc những mệnh đề ngang hàng nhau (tính từ với tính từ, danh từ với danh từ ...)

Gồm có: for, and, nor, but, or, yet

Ví dụ:

She is a good and loyal wife.
Use your credit cards frequently and you'll soon find yourself deep in debt.
He is intelligent but very lazy.
She says she does not love me, yet I still love her.
We have to work hard, or we will fail the exam.
He will surely succeed, for (because) he works hard.
That is not what I meant to say, nor should you interpret my statement as an admission of guilt.

• Chú ý: khi dùng liên từ kết hợp để nối hai mệnh đề, chúng ta thêm dấu phẩy sau mệnh đề thứ nhất trước liên từ

Ulysses wants to play for UConn, but he has had trouble meeting the academic requirements.

2. Tương liên từ (correlative conjunctions)

Một vài liên từ thường kết hợp với các từ khác để tạo thành các tương liên từ. Chúng thường được sử dụng theo cặp để liên kết các cụm từ hoặc mệnh đề có chức năng tương đương nhau về mặt ngữ pháp

Gồm có: both . . . and…(vừa….vừa…), not only . . . but also… (không chỉ…mà còn…), not . . . but, either . . . or (hoặc ..hoặc..), neither . . . nor (không….cũng không…), whether . . . or , as . . . as, no sooner…. than…(vừa mới….thì…)

Ví dụ:

They learn both English and French.
He drinks neither wine nor beer.
I like playing not only tennis but also football.
I don't have either books or notebooks.
I can't make up my mind whether to buy some new summer clothes now or wait until the prices go down.

3. Liên từ phụ thuộc (subordinating conjunctions)

Loại liên từ phụ thuộc nối kết các nhóm từ, cụm từ hoặc mệnh đề có chức năng khác nhau - mệnh đề phụ với mệnh đề chính trong câu.

Ví dụ như các liên từ sau và nghĩa kèm theo của chúng:

As

 1. Bởi vì: As he is my friend, I will help him.
2. Khi: We watched as the plane took off.

After: sau khi

 After the train left, we went home.

Although/ though: mặc dù

Although it was after midnight, we did not feel tired.

Before: trước khi

 I arrived before the stores were open.

Because: bởi vì

 We had to wait, because we arrived early.

For: bởi vì

 He is happy, for he enjoys his work.

If: nếu, giá như

 If she is here, we will see her.

Lest: sợ rằng

 I watched closely, lest he make a mistake.

Chú ý: sử dụng động từ nguyên thể trong mệnh đề “lest”
Providing/ provided: miễn là

 All will be well, providing you are careful.

Since

 1. Từ khi: I have been here since the sun rose.
2. Bởi vì: Since you are here, you can help me.

So/ so that

 1. Bởi vậy: It was raining, so we did not go out.
2. Để (= in order that): I am saving money so I can buy a bicycle.

Supposing (= if)

 Supposing that happens, what will you do?

Than: so với

 He is taller than you are.

Unless: trừ khi

 Unless he helps us, we cannot succeed.

Until/ till: cho đến khi

 I will wait until I hear from you.

whereas

 1. Bởi vì: whereas this is a public building, it is open to everyone.
2. Trong khi (ngược lại): He is short, whereas you are tall.

Whether: hay không

 I do not know whether she was invited.

While

 1. Khi: While it was snowing, we played cards.
2. Trong khi (ngược lại): He is rich, while his friend is poor.
3. Mặc dù: While I am not an expert, I will do my best.

As if = in a similar way

 She talks as if she knows everything.

As long as

 1. Nếu: As long as we cooperate, we can finish the work easily.
2. Khi: He has lived there as long as I have known him.

As soon as: ngay khi

 Write to me as soon as you can.

As though = in a similar way

 It looks as though there will be a storm.

In case: Trong trường hợp...

 Take a sweater in case it gets cold.

Or else = otherwise: nếu không thì

 Please be careful, or else you may have an accident.

So as to = in order to: để

 I hurried so as to be on time.

Chú ý: Ngoài liên từ, chúng ta có thể sử dụng các trạng từ liên kết như therefore, otherwise, nevertheless, thus, hence, furthermore, consequently…
Ví dụ:

 We wanted to arrive on time; however, we were delayed by traffic.
I was nervous; therefore, I could not do my best.
We should consult them; otherwise, they may be upset.

4. Phân biệt cách sử dụng của một số liên từ và giới từ có cùng nghĩa.

 Liên từ 	 Giới từ

 because
although
while
 	 because of
despite
during

– Sự khác biệt giữa chúng là: liên từ + một mệnh đề, trong khi đó giới từ + một danh từ hoặc ngữ danh từ
– Ví dụ:

They were upset because of the delay
They were upset because they were delayed.

 Despite the rain, we enjoyed ourselves.
Although it rained, we enjoyed ourselves.

We stayed indoors during the storm.Tran Thi Thohttp://www.blogger.com/profile/01430700969720514091noreply@blogger.com0

Content-Type: application/atom+xml; charset=UTF-8

Server: blogger-renderd

Cache-Control: public, must-revalidate, proxy-revalidate, max-age=1